スポンサーリンク
現在フリーのweb製作者として活動しているしょーご(@samuraibrass)です。
遠野さん
固定ページに!
田所くん
投稿一覧を!
しょーご
ページネーション付きで実装したいんだろ?よし行くよ!
スポンサーリンク
固定ページで投稿、ページネーションするコード
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$the_query = new WP_Query( array(
'post_status' => 'publish',
'paged' => $paged,
'posts_per_page' => 5, // 表示件数
'orderby' => 'date',
'order' => 'DESC'
) );
if ($the_query->have_posts()) :?><?php
while ($the_query->have_posts()) : $the_query->the_post();?>
//コンテンツ
<?php endwhile;?><?php endif; ?>
<!-- pagenation -->
<div class="pagenation">
<?php
if ($the_query->max_num_pages > 1) {
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%/',
'current' => max(1, $paged),
'mid_size' => 1,
'total' => $the_query->max_num_pages
));
}
wp_reset_postdata();?>
</div><!-- /pagenation -->
固定ページはサブループで回す
foreachで回しても良いですが、ページネーションならこっちの方が都合がいいし、個人的にWP_Queryは使い勝手がよくて好きなので…
サブループ内のキーと値は、公式リファレンスを参考にお好みで。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query
最新順に、5つ表示になってます。
ページネーション内処理
こちらのキーと値の設定は、下記のページが参考になります。
https://elearn.jp/wpman/function/paginate_links.html
実績一覧や商品一覧によく使う
記事一覧ページなんて、archive.phpやcategory.phpの仕事やろ!
とは言え、決まったカテゴリーの投稿を、決まったスラッグで運用するのなら、固定ページで投稿一覧を作った方が効率が良い場合があります。
特にグローバルナビゲーションなどメニューに載せたい場合などです。
スラッグも間に「category」などを挟まないため、
sample.com/works
のようにシンプルにできます(スラッグ指定されてる案件も多いので)。
独自レイアウトの固定ページで一覧ページを作るなら、例えば実績一覧ページなら
page-works.php
など、独自の固定ページを作成して上記コードを埋め込めば、独自レイアウトで投稿一覧をページャー付きで実装できます。
スポンサーリンク
スポンサーリンク