WordPress のループ内で特定の固定ページを判別する方法
公開日
by
WordPress のループ内で特定の固定ページを判別する方法を紹介します。
例えば、メインループに投稿と固定ページを混ぜている場合に、特定の固定ページで表示を切り替えたいときに便利な方法です。
特定の固定ページを判別方法
固定ページの判別には 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 のループ内で特定の固定ページを判別する方法を紹介しました。