大変便利なGreasemonkeyスクリプトの『Autopagerize』。
これはFirefoxやSleipnir、OperaやSafariなど多くのブラウザで使えるように出来る。
どう言うものかというとこんな感じ。
普通であればWebページの一番下まで行くとつっかえて終わりなんだけど、
『Autopagerize』を入れておくと自動で次のページが読み込まれる。
Google等の大手サイトであればもう既に設定がされている。
ただ個人のブログはその限りではなく、
Autopagerizeを動かすなら自分で導入する必要がある。
このブログではPage navigation用のプラグインとして『PageNavi』と言うものを導入している。
トップページの一番下に四角で囲んだ数字が一杯並んでいるアレだ。
これのプラグインのためにAutopagerizeの導入が無理だと思っていたけど、そうでもなかった。
以下はその手順。
ちょっと長いので続きへ。
wordpressにAutopagerizeを導入する手順
参考にしたページは以下の3つ。
『AutoPagerize0.0.11』と『WordPressをAutoPagerizeに対応させる方法』、
そして『WordPressでAutopagerize導入』だ。
もし『PageNavi』等が入っていなければ、リンク先で事足りると思う。
なんて言ってみたけど、入っていても事足りるんだけどねw
まずwp-includesフォルダの中にある『link-template.php』って言うファイルを編集する。
以下の2つの関数部分を編集。
ちょっとコードが横長でこのブログではうまく表示されない。
メモ帳などにコピーして見てください。
function get_next_posts_link( $label = 'Next Page »', $max_page = 0 ) { global $paged, $wp_query; if ( !$max_page ) { $max_page = $wp_query->max_num_pages; } if ( !$paged ) $paged = 1; $nextpage = intval($paged) + 1; if ( !is_single() && ( empty($paged) || $nextpage <= $max_page) ) { $attr = apply_filters( 'next_posts_link_attributes', '' ); return '<a rel="next" href="' . next_posts( $max_page, false ) . "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .''; } }
15行目に『rel=”next”』を追加。
もう一個の関数は
function get_previous_posts_link( $label = '« Previous Page' ) { global $paged; if ( !is_single() && $paged > 1 ) { $attr = apply_filters( 'previous_posts_link_attributes', '' ); return '<a rel="prev" href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/', '&$1', $label ) .''; } }
こちらも『rel=”prev”』って言うのを追加しただけ。
ここからはテンプレートの編集になる。
まずどういう雰囲気かを書いてみる。
僕はindex.phpファイルをいじった。
<?php get_header(); ?> <div id="content" class="autopagerize_page_element"> ページの一番下に行ったら読み込まれる部分。 いわゆるブログ記事。 </div> //『PageNavi』を読み込んでるところ。 <?php endwhile; ?> <div align="center"><?php wp_pagenavi(); ?></div><br /> <?php endif; ?> //ここまでスクロールすると自動で読み込むのを開始する場所 <div class="autopagerize_insert_before"></div> <div class="footer"> フッターの記述 </div> <?php get_footer(); ?>
簡単に書くとこういう感じ。
ページのコンテンツ部分を
<div class="autopagerize_page_element"></div>
で挟む。
自動で読み込みを開始する位置に
<div class="autopagerize_insert_before"></div>
を書くって言うそれだけ。
『PageNavi』云々とか言っていたけど、本当に全く関係なかった(;><)
テンプレートの方は個々人によって違うので応用してみてね。
コメント