WordPressの投稿一覧で、最初もしくは最後の記事かを判別する方法

WordPressの現在開いてる投稿一覧で、最初の記事もしくは最後の記事かを判別する方法を知りたい。

本記事ではこのような悩みを解決。

実装方法について解説します。

functions.phpにコードを記述

//-----------------------------------------------------
// 投稿一覧で最初の記事
//-----------------------------------------------------
function isFirst(){
	global $wp_query;
	return ($wp_query->current_post === 0);
}
//-----------------------------------------------------
// 投稿一覧で最後の記事
//-----------------------------------------------------
function isLast(){
    global $wp_query;
    return ($wp_query->current_post+1 === $wp_query->post_count);

functions.phpに上記関数を記述します。

最初か最後の記事か判別するのにグローバル変数 $wp_querycurrent_postを使います。

current_postを使う事で、現在開いてる投稿一覧で該当する記事が何番目にあるかを確認する事が出来ます。

投稿一覧ページのループ内で関数を呼び出す

<?php if (have_posts()) : ?>
  <?php while (have_posts()) : the_post();?>
    <?php if (isFirst()) {echo "最初の記事";} ?>
    <?php if (isLast()) {echo "最後の記事";} ?>
    <!-- 記事 -->
  <?php endwhile; ?>
<?php else : ?>
  <p>まだ記事がありません。</p>
<?php endif; ?>

投稿一覧ページのループ記述内に先ほど定義した関数を呼び出します。

if文の条件式に関数を代入する事で最初の記事か最後の記事かを判別できるようになります。

以上で実装完了です。

まとめ

投稿一覧ページで最初の記事だけテキスト・CSSのスタイルを変更したい。

このような要望に便利です。

以上で解説を終わります。

Ads

関連記事

WordPress

固定・投稿ページの順番を手動(ドラッグ&ドロップ)で変更する方法【WordPress】

2022.05.20
59
WordPress

投稿詳細ページに同一のカテゴリー一覧を表示する方法【簡単】

更新日:2019.11.28
163
WordPress プログラミング

カスタム投稿タイプで月別・年別アーカイブページが表示されない場合の対処方法

2022.01.13
530
WordPress プログラミング

【WordPress】is_single()、is_singular()条件分岐について使い方を解説

2022.04.21
26