[WP覚書]ページ毎に表示・非表示指定するPHP条件分岐

2013年5月16日

要件:Wordpressのウィジェット部分で、トップページにだけ表示したい内容がありました。

結局、プラグインを利用することになって、この記述は使わなかったのですが、後学のためにメモっときます。

トップページに関しては、こちらのページの記述が大変わかりやすかったのですが、
WordPressでホーム(トップページ)とそれ以外で表示を変えるとき | イシダウェブ工房

★トップページにだけ表示する場合

<?php if ( is_home() || is_front_page() ) : ?>
ここにトップページにだけ表示したいほにゃららを記載
<?php endif; ?>

★トップページにだけ表示したくない場合

<?php if ( !is_home() && !is_front_page() ) : ?>
ここにトップページにだけ表示したくないほにゃららを記載
<?php endif; ?>

★トップページとそれ以外で表示を切り分けたい場合

<?php if ( is_home() || is_front_page() ) : ?>
ここにトップページにだけ表示したいほにゃららを記載
<?php else : ?>
ここにトップページ意外に表示したいほにゃららを記載
<?php endif; ?>

また、上記の設定をしても、トップページ(メインページ)に最新記事の出力項目があると、アーカイブページと認識されてしまう場合があるので、注意です。

wordpressでページ毎に表示・非表示指定するPHP : にわタコのblog

※or は || で、 and は && で、 not は !

トップページの他にも応用できそうな「コンディショナルタグ」の一覧が載ってます。

ページ毎の指定に使うコンディショナルタグは次の物がある。
is_admin
is_paged,
is_archive,
is_attachment,
is_author
is_category カテゴリページ
is_tag
is_comments_popup
is_date
is_day
is_feed
is_home トップページ
is_month
is_page ページ
is_plugin_page
is_preview
is_robots
is_search
is_single 記事ページ
is_singular
is_time
is_trackback
is_year
is_404
is_category() の()内にカテゴリーIDを記入すると、
そのIDのカテゴリーを指定することが出来ます。
is_single() の()内に記事IDを記入すると、
そのIDの記事について指定できます。
is_page() の()内でページスラッグも指定できます。
http://niwatako.info/contac を指定する場合は
is_page(contac)
複数指定はこのように:is_single(array(3499, 3483))

その他参考になりそうな記事。

WordPressをカスタマイズするなら絶対覚えておきたい条件分岐やカスタム投稿タイプなどいろいろ

WordPress:条件分岐指定タグ | Web制作 ウェブマジック

例その1

日付表示させたいカテゴリー及び記事と日付表示させたくないカテゴリー及び記事があったので、こんな感じにしてみました。

<?php if ( is_category(156,100,98,104,102,99) ) : ?>
<li class="date"><?php the_time(__('Y-m-d (D) G:i', 'vicuna')) ?></li>
<?php elseif(in_category( array(156,100,98,104,102,99) ) ): ?>
<li class="date"><?php the_time(__('Y-m-d (D) G:i', 'vicuna')) ?></li>
<?php endif; ?>

WordPress

Posted by ponnao