記事をn番目から表示する方法【offset】

WordPressの記事一覧ページにて、「1番目の記事」「2番目の記事」「3番目の記事」「4番目以降の記事」でカードブロックのデザインを変えて表示したときの備忘録です。

はじめて実装したときは「うげっ」となりましたが、一度覚えてしまえばなんてことはない。ポイントは「offset」

例えば2番目の記事だけ表示したい場合は、こんな感じでoffsetに1を指定します。

コード
<?php
  $args = array(
    'post_type' => 'post',
    'order' => 'DESC',
    'posts_per_page' => 1,
    'offset' => 1
  );

  $query = new WP_Query($args);
  if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post();
?>

3番目の記事だけのときはこんな感じ。

コード
<?php
  $args = array(
    'post_type' => 'post',
    'order' => 'DESC',
    'posts_per_page' => 1,
    'offset' => 2
  );

  $query = new WP_Query($args);
  if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post();
?>

「表示させない記事数をoffsetで指定する」これがポイントですね。

実際のWeb制作案件でまあまあの確率で遭遇するTipsなのでぜひ試してみてください。