大変便利な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』云々とか言っていたけど、本当に全く関係なかった(;><)
テンプレートの方は個々人によって違うので応用してみてね。



コメント