【WordPress】投稿一覧を表示する方法(カテゴリー付)

<?php
$args = [
  'post_type'      => 'post',
  'posts_per_page' => -1, // 全件表示(必要に応じて数値指定)
];

$query = new WP_Query($args);

if ($query->have_posts()) :
  echo '<ul class="post-list">';
  while ($query->have_posts()) : $query->the_post();
    ?>
    <li class="post-item">
      <time class="post-date" datetime="<?php echo get_the_date('c'); ?>">
        <?php echo get_the_date('Y.m.d'); ?>
      </time>

      <span class="post-category">
        <?php
        $cats = get_the_category();
        if (!empty($cats)) {
          echo esc_html($cats[0]->name); // 先頭のカテゴリーのみ表示
        }
        ?>
      </span>

      <a class="post-title" href="<?php the_permalink(); ?>">
        <?php the_title(); ?>
      </a>
    </li>
    <?php
  endwhile;
  echo '</ul>';
endif;

wp_reset_postdata();

カテゴリー表示部分にカテゴリーのスラッグを付与する方法

<span class="post-category
<?php
$cats = get_the_category();
if (!empty($cats)) {
  echo ' cat-' . esc_attr($cats[0]->slug);
}
?>
">
  <?php
  if (!empty($cats)) {
    echo esc_html($cats[0]->name);
  }
  ?>
</span>