inoma-NOTE

自分のためのメモじゃ

【jQuery】惰性スクロール luxy.jsの使い方メモ

インストール

min30327.github.io

設置

<script src="path/to/luxy.js" charset="utf-8"></script>
<script charset="utf-8">
    luxy.init();
</script>

※head部分に設置したところ上手く動作しなかったので、footer下の方に設置したら動作した。

オプション

<script charset="utf-8">
    luxy.init({
    wrapper: '#luxy',//このタグで囲ってある場所で動作する
    targets : '.luxy-el',//パララックスするもの
    wrapperSpeed:  0.08//速度
  });
</script>

タブレットとかでは使用しない場合

<script>
if(!navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)){
 luxy.init();
}
</script>

その他、こちらの記事を参照。
慣性スクロールとパララックスエフェクトのVanilla.jsプラグイン「Luxy.js」作ってみた | Will Style Inc.|神戸にあるウェブ制作会社

【WP】カスタム投稿の表示設定

メモ用に。
最後のwp_reset_postdata();でリセットすることが大事。
通常投稿機能は投稿名のところをpostにするだけ。

<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('post_type=カスタム投稿名' . '&paged=' . $paged . '&posts_per_page=表示するページ数' );
						?>
<?php if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>

ここに内容

<?php endwhile; ?>
<?php else : ?>

記事がない場合

<?php endif; wp_reset_postdata(); ?>

複数のBasic認証ページでどれかひとつだけ認証したらOKにする方法【WP】

WPで特定のページにBasic認証をかけるやり方があるが、その記述で、例えば会員限定ページが2ページあるとして、そのうちどれかを認証したらもうひとつの方では認証を促されないという条件分岐のメモ。

ベーシック認証のかけかた

functions.phpに下記を記述。

<?php
function basic_auth($auth_list,$realm="Restricted Area",$failed_text="認証に失敗しました"){ 
    if (isset($_SERVER['PHP_AUTH_USER']) and isset($auth_list[$_SERVER['PHP_AUTH_USER']])){
        if ($auth_list[$_SERVER['PHP_AUTH_USER']] == $_SERVER['PHP_AUTH_PW']){
            return $_SERVER['PHP_AUTH_USER'];
        }
    }
 
    header('WWW-Authenticate: Basic realm="'.$realm.'"');
    header('HTTP/1.0 401 Unauthorized');
    header('Content-type: text/html; charset='.mb_internal_encoding());
 
    die($failed_text);
}
?>

次にheader.phpの一番上に条件分岐を記述。
adminにID、passwordの部分にパスを記入。

固定ページに付ける場合

この場合固定ページのアドレスがsampleだった場合。
他にもIDで指定してもいい。

<?php
 if(!is_home()): 
  if(is_page('sample')):
   $userArray = array("admin" => "password");
   basic_auth($userArray); 
  endif;
 endif;
?>
カスタム投稿のページに付ける場合

sampleの部分がカスタム投稿の名前。

<?php
 if(!is_home()): 
  if(get_post_type() === 'sample'):
   $userArray = array("admin" => "password");
   basic_auth($userArray); 
  endif;
 endif;
?>

複数ページの場合の条件分岐

こうすると、sample1ページで認証入力をしたら、sample2のページにいっても認証を促されることはない。逆も同じ。
その都度||で区切り増やしていける。

<?php
 if(!is_home()):
  if( is_page('sample1') || is_page('sample2')):
   $userArray = array("admin" => "password");
   basic_auth($userArray);
  endif;
 endif;
?>

ページによってIDパスを変えたい場合

<?php
 if(!is_home()):
  if ( is_page('sample1') ):
   $userArray = array("a" => "a");
   basic_auth($userArray);
  elseif( is_page('sample2') ):
   $userArray = array("b" => "b");
   basic_auth($userArray);
  endif;
 endif;
?>

カスタム投稿のウィジェットで月別アーカイブがうまくいかない時【WP】

カスタム投稿を作った後、ウィジェット機能にも対応させるため、プラグインの「Custom Post Type Widgets」をダウンロード&有効化して使うことがよくあるが、なぜか月別アーカイブだけ意図した場所に飛ばず、404エラーなんかになる。

解決方法

まず先ほど書いた「Custom Post Type Widgets」を有効化していることが前提。

それにもう一つ加えて、「Custom Post Type Rewrite」をダウンロード&有効化したら解決した。

なお、その時のパーミッション設定は、カスタム構造で「/%category%/%postname%/」にしてあり、カスタム投稿の指定でhas_archiveはtrue、rewriteはwith_frontがfalseになっていることをチェックすること。

WindowsのChromeでL SEPという改行が出てハマった話

Webページを作っていたら「WindowsChromeで見るとL SEPってアイコンが出てます」といわれた。

改行されてるもの全てにL SEPアイコンが出ているのかと思ったらそうでないものもありわけわかめ状態。
調べるとどうやらLF (Line Feed)というChromeの改行コードのよう。

L SEPが出ている文章一体は、クライアントからもらったオフィスのデータからコピーして、Sublime textにペーストしている。
これがどうやらそのオフィスデータの中にLFが混入したままになっているよう。

解決

オフィスデータの文章を、普通のテキストエディタなどで一回貼り付けして、そこからまたコピーして使えば治った。

参考サイト
文字化け? L SEP は各 OS の Google Chrome でどのように表示されるか。 | かきしちカンパニー Web Magazine