Wordpressでブログのテーマを作成しているのですが、ページャーがうまく実装できません。
複数のブログ、Qiita等(参考URL)の記事通りにやってみているのですが、
functions.phpで設定したページャーのHTMLが反映されないです。
何が原因なのか皆目見当もつきません。
なにか助言頂けると助かります。
functions.php
//Pagenation function pagination( $pages = '', $range = 2 ) { $showitems = ( $range * 2 ) + 1; //表示するページ数(5ページを表示) global $paged; //現在のページ値 if ( empty( $paged ) )$paged = 1; //デフォルトのページ if ( $pages == '' ) { global $wp_query; $pages = $wp_query->max_num_pages; //全ページ数を取得 if ( !$pages ) //全ページ数が空の場合は、1とする { $pages = 1; } } if ( 1 != $pages ) //全ページが1でない場合はページネーションを表示する { echo "<div class=\"pagenation\">\n"; echo "<ul>\n"; //Prev:現在のページ値が1より大きい場合は表示 if ( $paged > 1 )echo "<li class=\"prev\"><a href='" . get_pagenum_link( $paged - 1 ) . "'>Prev</a></li>\n"; for ( $i = 1; $i <= $pages; $i++ ) { if ( 1 != $pages && ( !( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) { //三項演算子での条件分岐 echo( $paged == $i ) ? "<li class=\"active\">" . $i . "</li>\n": "<li><a href='" . get_pagenum_link( $i ) . "'>" . $i . "</a></li>\n"; } } //Next:総ページ数より現在のページ値が小さい場合は表示 if ( $paged < $pages )echo "<li class=\"next\"><a href=\"" . get_pagenum_link( $paged + 1 ) . "\">Next</a></li>\n"; echo "</ul>\n"; echo "</div>\n"; } var_dump($pages); }
article.php
<div> 記事一覧 </div> <?php //Pagenation呼び出し if ( function_exists( "pagination" ) ) { pagination( $additional_loop->max_num_pages ); var_dump($pages); } ?>
var_dumpで変数を確認すると以下の値が入っていました。
記事数を取得できていないからページャーのHMTLが生成されないのでしょうか。
int(1) array(1) { [0]=> string(0) "" }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。