WordPress

WordPress のループ内で特定の固定ページを判別する方法

WordPress のループ内で特定の固定ページを判別する方法を紹介します。
例えば、メインループに投稿と固定ページを混ぜている場合に、特定の固定ページで表示を切り替えたいときに便利な方法です。

  1. 特定の固定ページを判別方法

特定の固定ページを判別方法

固定ページの判別には is_page() を使うのが一般的ですが、メインループ内では固定ページかどうかまでしか判別できず、例えば固定ページの「ABOUT」ページの判別まではできません。
そのため、メインループ内で特定の固定ページを判別するには $post から、固定ページを判別する値を取り出して比較することで、特定の固定ページを判別します。
例えば、メインループ内の固定ページ「ABOUT(スラッグ:about)」を判別するには、次のコードをメインループ内に追加します。

<?php if($post->post_name == 'about'): // 固定ページ「about」 ?>
固定ページABOUTです!
<?php endif; ?>

メインループ込みの場合は次のようになります。

<?php if (have_posts()): ?>
<?php while (have_posts()) : the_post(); ?>
<?php if($post->post_name == 'about'): // 固定ページ「about」 ?>
固定ページABOUTです!
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

$post から post_name でスラッグを取り出し、任意の値「about」と比較して、特定の固定ページを判別していいます。

まとめ

WordPress のループ内で特定の固定ページを判別する方法を紹介しました。