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

[html css]ユーチューブをレスポンシブに埋め込む方法

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

投稿の一覧ページで、過去記事を一番先頭に持ってくる方法【ワードプレス】

2019.11.29
562
WordPress

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

2022.05.30
197
WordPress

【WordPress】特定のカテゴリ・ターム・タグが設定されてるか確認。条件分岐する方法

2022.07.06
481