固定ページで投稿記事一覧を表示する方法
固定ページのスラッグが”allpost”の時、自動的に使用されるテンプレート。
専用テンプレートを作成しない方法。
PHP
<?php
/*
固定ページ「allpost」用テンプレート
*/
get_header();
?>
<main>
<h2>記事一覧</h2>
<ul>
<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 10,
'paged' => $paged,
'orderby' => 'post_date',
'order' => 'DESC',
'post__not_in' => array(9999), // 除外したい記事があればIDを指定
);
$the_query = new WP_Query($args);
if ($the_query->have_posts()) :
while ($the_query->have_posts()) : $the_query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile;
else : ?>
<li>記事が見つかりませんでした。</li>
<?php endif; ?>
</ul>
<div class="archive_page_navi">
<?php
echo paginate_links(array(
'total' => $the_query->max_num_pages,
'current' => $paged,
'mid_size' => 1,
'prev_next' => false,
'type' => 'plain',
'base' => home_url('/allpost/') . '%_%',
'format' => 'page/%#%/',
));
?>
</div>
<?php wp_reset_postdata(); ?>
</main>
<?php get_footer(); ?>
post-allpost.phpを作成し、上記コードを記述。
管理画面 > 固定ページ から「記事一覧」を作成。中身は空でOK、スラッグを”allpost”にする。