よく使う条件分岐

ワードプレス

phpの「if」で頻繁に使う条件分岐のバリエーションをメモ。

 

基本は、こんな感じで書きます。

<?php if(is_front_page()): ?>
	<p>これはトップページです。</p>
<?php else : ?>
	<p>これはトップページではありません。</p>
<?php endif; ?>

is_frontを!is_frontに変えると、「トップページでなければ」というように逆の意味になります。

記述例

  • is_page()
    「これがページならば」
  • is_page( ‘ページ名’ )
    「このページ名ならば」
  • is_category()
    「これがカテゴリーならば」
  • is_category(‘1’)
    「カテゴリーIDが1ならば」「カテゴリースラッグが1ならば」
  • in_category(array(1,2,3))
    「カテゴリーIDが1または2または3ならば」「カテゴリースラッグが1または2または3ならば」
  • get_post_meta($post->ID, ‘customFieldValue1’, true)
    カスタムフィールド「customFieldValue1」に値が入っているならば
  • is_active_sidebar(‘sidebar1’)
    サイドバーエリア「sidebar1」に、ウィジェットが配置されているならば
  • get_the_date() == get_the_modified_date()
    公開日と更新日が同じならば
  • get_the_date() != get_the_modified_date()
    公開日と更新日が違うならば

※上記はスラッグ名でもIDでも動作してしまう書き方なのかもしれません。もっと厳密な書き方があるのかも。

※サイドバーの条件分岐は、「ウィジェットに何か入力してあるならば」ではありません。「なんらかのウィジェットが配置してあるならば」trueになります。