WP-PageNaviが動かない場合の解決策
- 2018.04.06
- CMS Wordpress
- Top Level Categories Fix, WP-PageNavi, ページャ
■必要な設定は揃っているか
▽クエリの設定
//ページの取得 $paged = get_query_var('paged') ? get_query_var('paged') : 1; $param = array( // ページを設定 'paged' => $paged, );
▽ナビの呼び出し
<?php if(function_exists('wp_pagenavi')){ wp_pagenavi(array('query'=>$wpQuery)); } ?>
▽データのリセット
<?php wp_reset_postdata(); ?>
———————————————
■WordPressの管理画面の表示設定を変更
「1ページに表示する最大投稿数」をWP_Queryで指定している件数(posts_per_page)よりも小さい数にしてみる。
■ページ数を取得する記述が抜けている
$paged = get_query_var('paged') ? get_query_var('paged') : 1; $args = array( 'paged' => $paged , );
■wp_queryを使用している場合には、wp_pagenavi();の記述を変更する
wp_pagenavi(array(‘query’ => $wpQuery))にしてみる
■pagedの取得を変えてみる
▽通常
$paged = get_query_var(‘paged’) ? get_query_var(‘paged’) : 1;
‘paged’ => $paged,
▽固定ページをフロントページにするとき
$paged = get_query_var(‘page’);
‘paged’ => $paged,
▽直接数字を入れてみる
‘paged’ => 2,
直接数字を入れると、そのページ数に移動するはず。
これ動かない場合、根本的に設定が間違っている可能性がある。
■Top Level Categories Fixを導入してみる
「/page/2/」以降が404エラーになる場合、上記プラグインで解決する場合がある
———————————————
■検索結果ページに表示している場合pagedが正しく取れない場合があった
※http://hoge.com/search/のようにディレクトリを挟んでいる
pagedに数字を入れて確認 → ページを移動した為、ページ数が取れていないと判断。
URLからページ数を取得する処理で対応。
// 現在のページ数を取得 $path_arr = explode('/', $_SERVER['REQUEST_URI']); $path_arr = array_reverse($path_arr); $dir = $path_arr[1]; if (ctype_digit($dir)) { $paged = $dir; } else { $paged = 1; }
参考サイト
-
前の記事
gulpの導入手順 2018.04.06
-
次の記事
管理画面の一覧に、記事のカスタムフィールドの値を表示する 2018.04.13