【wordpress】WPでよく使う条件分岐まとめ

2017年10月10日

もし今開いているページが〇〇だったら……

トップページの時/トップページじゃない時

<?php if (is_front_page()): ?>
フロントページ(トップページ)の時だけ表示
<?php endif; ?>
<?php if (!is_front_page()): ?>
フロントページ(トップページ)ではない時だけ表示
<?php endif; ?>

固定ページの時

<?php if (is_page('concept')): ?>
ページのスラッグ(urlの最後の部分)が[concept]の時だけ表示
<?php endif; ?>

カスタム投稿タイプの時

一覧・詳細どっちでも

<?php if (get_post_type() == 'event'): ?>
[event]というカスタム投稿タイプの時(一覧・詳細)だけ表示
<?php endif; ?>

一覧だけ

<?php if (is_post_type_archive('event')): ?>
[event]の詳細の時だけ
<?php endif; ?>

詳細だけ

<?php if (is_singular('event')): ?>
[event]の詳細の時だけ
<?php endif; ?>

カスタムタクソノミーのとき

<?php if (is_tax('info_cat')): ?>
[info_cat]タクソノミーのときだけ。
<?php endif; ?>

<?php if (is_tax('info_cat','event')): ?>
[info_cat]タクソノミーの[event]タームのときだけ。
<?php endif; ?>

 

条件を組み合わせて使う

よく使う 〇〇または××

<?php if (is_page('result') || get_post_type() == 'results'): ?>
固定ページ[result]か、投稿タイプ[results]のとき
<?php endif; ?>

よく使う 〇〇でも××でもない

<?php if (!is_front_page() && !is_single() && !is_archive()): ?>
トップとお知らせ一覧・詳細には出さない
<?php endif; ?>

論理演算子

! $a 否定 $aTRUE でない場合 TRUE
$a && $b 論理積 $a および $b が共に TRUE の場合に TRUE
$a || $b 論理和 $a または $b のどちらかが TRUE の場合に TRUE

http://php.net/manual/ja/language.operators.logical.php

比較演算子

$a == $b 等しい 型の相互変換をした後で $a$b に等しい時に TRUE
$a != $b 等しくない 型の相互変換をした後で $a$b に等しくない場合に TRUE

http://php.net/manual/ja/language.operators.comparison.php

これ以外の条件分岐

見るべきものはcodexだね

その他参考

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

もう覚えなくても大丈夫!?WordPressの条件分岐タグの使い方まとめ