Written by Kasumi

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のスタイルを変更したい。

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

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

目次

関連記事

WordPress

【WordPress】ACFカスタムフィールドをタクソノミーのタームページで取得・出力する方法

2022.07.11
5626
WordPress

【All in One SEO】 一部のページでは出力しないようにする方法

2022.06.15
2357
WordPress

【contact form 7】フォーム作成時に自動挿入されるpタグなどを削除する方法

2023.12.15
4606
WordPress

【WordPress】現在のアーカイブ・カテゴリページの記事総数を表示する方法

2022.05.30
651