固定ページで投稿記事一覧を表示する方法

WordPress

固定ページのスラッグが”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”にする。