ワードプレス

カスタム投稿タイプのアーカイブページでページ送り(ページネーション)が上手くいかない場合の対処法

ご無沙汰しております。すっかり更新を忘れておりまして、気づけば2022年も終盤に差し掛かっています。

さっそくですが、今日、WordPressのサイトをいじっていて、カスタム投稿タイプのアーカイブページのページ送りが上手くいかないという現象が発生。2ページ目に移動しても、3ページ目に移動しても、URLは変わるのだが1ページ目と同じ記事が表示されてしまう。ただのURL自動生成マシンである。

なんとアーカイブページの記事のループ部分に記述漏れがあることがわかった。

【修正前】
[php]<?php $args = array(
‘posts_per_page’ => 5,
  ’post_type’ => ”, //投稿タイプの指定
);
$posts = get_posts( $args );
if( $posts ) : foreach( $posts as $post ) : setup_postdata( $post ); ?>
//ループの内容をここに書く
<?php endforeach; ?>[/php]

【修正後】
[php]<?php $args = array(
‘posts_per_page’ => 5,
  ’post_type’ => ”, //投稿タイプの指定
    ’paged’ => $paged, //こいつを書かないと機能しない
);
$posts = get_posts( $args );
if( $posts ) : foreach( $posts as $post ) : setup_postdata( $post ); ?>
//ループの内容をここに書く
<?php endforeach; ?>[/php]

修正後の4行目を記述していないと、ページネーションが機能しない。

functions.phpに直接書く方法と、プラグイン「Wp-PageNavi」というプラグインを使う方法のどちらの場合でもこの記述は必要なようだ。

↓こちらのサイトが分かりやすかったので是非参考にしてみてください。
https://www.rahusuke.com/wp/pagination_disabled/#WordPress

色々間違ってたらごめんなさい。優しく教えてもらえると嬉しいです。<(_ _)>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA