固定ページのページネーションがうまく表示されません
解決したいこと
固定ページに表示させる合計50件以上の投稿一覧を、ページネーションにより5つのページにわけ、1ページあたり10件ずつ表示させたいと思っています。
そこで下記のように、posts_per_pageに"10"と記載したのですが、1ページに50件すべての投稿が表示されてしまいます。
ちなみにコードは下記を参考に記述しております。
参考URL
https://digitor.jp/textbook/wordpress-pagination-selfmade-plugin/#i-4
該当するソースコード
<!-- ページネーション -->
<div class="pagination">
<div class="list-box">
<ul>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$the_query = new WP_Query(array(
'post_status' => 'publish',
'post_type' => 'post', // ページの種類(例、page、post、カスタム投稿タイプ名)
'paged' => $paged,
'posts_per_page' => 10, // 表示件数
'orderby' => 'date',
'order' => 'DESC'
));
if ($the_query->have_posts()) :
while ($the_query->have_posts()) : $the_query->the_post();
?>
<?php
/* ここにループさせるコンテンツを入れます */
?>
<?php
endwhile;
else :
echo '<div><p>ありません。</p></div>';
endif;
?>
</ul>
</div>
<div class="pnavi">
<?php //ページリスト表示処理
global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if (strpos($paginate_base, '?') || !$wp_rewrite->using_permalinks()) {
$paginate_format = '';
$paginate_base = add_query_arg('paged', '%#%');
} else {
$paginate_format = (substr($paginate_base, -1, 1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/', 'paged');
$paginate_base .= '%_%';
}
echo paginate_links(array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $the_query->max_num_pages,
'mid_size' => 2,
'current' => ($paged ? $paged : 1),
'prev_text' => '< 前へ',
'next_text' => '次へ >',
));
?>
</div>
</div>
考えてみたこと
ページネーションとは別の話にはなるのですが、投稿記事一覧を下記のコードで取得しております。
その際、こちらのposts_per_pageを50として、50件すべてが表示されるようにしているのですが、それと相性が悪いということは考えられますでしょうか…?
(当たり前の話で恐縮ですが、ここの数字を10件に変えてみたところ、2ページ以降すべて同じ10件の記事のみしか表示されません…。)
参考サイト
https://note.com/koushikagawa/n/nad899f38cf3c
<?php
global $post;
$args = array( 'posts_per_page' => 50 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) {
setup_postdata($post);
?>
<div class="item">
<div class="img">
<?php the_post_thumbnail('index_thumbnail'); ?>
</div>
<div class="title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>
<div class="time">
<?php the_time('Y.m.d') ?>
</div>
<div class="category">
<?php the_category(',') ?>
</div>
</div>
<?php
}
wp_reset_postdata();
?>
自分で試したこと
WP管理画面>設定>表示設定で、「1ページに表示する最大投稿数」を変えてみる。
→この数字を10にしたり、いろんな数字で試してみたのですが何も変化はありませんでした。
***
分かりづらく稚拙な質問で申し訳ございませんが、ご教示いただけますと大変ありがたいです。
どうぞよろしくお願いいたします。