うりのWordPressあれこれ

WordPressやphp に関することをメモ...

WorePressでよく使う条件分岐タグのまとめ

出力ページと一致した場合のみ表示するタグ

Topページ(http://sample.com/)
<?php if(is_home()): ?>
コンテンツを表示する
<?php endif; ?>

または

<?php if(is_front_page()): ?>
コンテンツを表示する
<?php endif; ?>
特定のカテゴリページの時に表示

(http://sample.com/?cat=○○)

<?php if(is_category('カテゴリID')): ?>
コンテンツを表示する
<?php endif; ?>
指定したカテゴリと一致した場合
<?php if(in_category('カテゴリID')): ?>
コンテンツを表示する
<?php endif; ?>
特定の記事にのみ表示

(http://sample.com/?p=○○)

<?php if(is_single('記事ID')): ?>
コンテンツを表示する
<?php endif; ?>
特定の固定ページにのみ表示

(http://sample.com/?page_id=○○)

<?php if(is_page('ページID')): ?>
コンテンツを表示する
<?php endif; ?>


ちなみに、複数のIDを指定する場合は、「,」で区切るか、変数に入れるかする。

複数のカテゴリIDを指定

<?php if(in_category('13,16')): ?>
コンテンツを表示する
<?php endif; ?>

複数のカテゴリslugを指定する
IDではなく、スラッグで指定することもできます。
指定するIDが多く、IDを調べるのが面倒な時は、スラッグを配列にして変数に入れてしまったほうが自分は楽です。

<?php 
 $category = array(
  'inu',
  'neko',
  'tori'
 )
if(in_category( $category )):
?>
コンテンツを表示する
<?php endif; ?>

カスタムフィールドの分岐タグ

カスタムフィールドに値が入っているか判断したい場合
<?php if(get_post_meta($post->ID,'フィールド名',true)): ?>
コンテンツを表示する
<?php endif; ?>
指定したカスタムフィールドの値の時のみ表示
<?php if(get_post_meta($post->ID,'フィールド名',true) == 'フィールドの値'): ?>
コンテンツを表示する
<?php endif; ?>