WordPressの条件分岐を42個まとめてみました!
  • 記事公開:2019/03/01
  • 最終更新:2019/03/14

WordPressの条件分岐を42個まとめてみました!

WordPressのカスタマイズでよく使う条件分岐を41個まとめてみました。条件分岐を知れば、カスタマイズの幅がグンと広がります。参考にしてください。

この記事は約 27 分で読めます。

以下に、Wordpressで利用するであろう条件分岐をご紹介します。
カスタマイズの参考になさってください。

※ 随時更新してまいります。

条件分岐の基本的なことが知りたい方は、以下をご覧ください。
WordPressのカスタマイズに役立つ条件分岐を基本からマスターしよう!

条件分岐の基本は大丈夫!
そんな方は以下を読み進めてください。

トップページ関連の条件分岐

トップページ

<?php if ( is_home() || is_front_page() ) : ?>
トップページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

トップページかどうかで表示を切り替える条件分岐です。

固定ページをトップページに指定した場合【is_home()】では認識してくれません。
【is_front_page()】を合わせて記載しておきましょう。

トップページの場合に独自のコンテンツを表示、独自の処理を行うだけでよければ、

<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。

上記の部分は不要です。

以下で紹介する各種コードに関しても同様となります。

投稿関連の条件分岐

投稿ページなら

<?php if ( is_single() ) : ?>
投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

投稿ページかどうかで表示を切り替える条件分岐です。

特定の投稿ページなら

<?php if( is_single('投稿ID') ) : ?>
指定した投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定した投稿かどうかで表示を切り替える条件分岐です。

【投稿ID】の部分を指定する投稿の投稿IDに置き換えてください。
投稿IDの調べ方は【投稿IDの調べ方】で詳しく解説しています。

特定の投稿ページなら(複数バージョン)

<?php if( is_single( array('投稿ID','投稿ID','投稿ID') ) ) : ?>
指定した投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定する投稿が複数の場合は、こちらのコードを使ってください。
投稿IDを複数指定するときは【array()】が必須です。

固定ページ関連の条件分岐

固定ページなら

<?php if ( is_page() ) : ?>
固定ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

固定ページかどうかで表示を切り替える条件分岐です。

特定の固定ページなら

<?php if( is_page('固定ページID') ) : ?>
指定した固定ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定した固定ページかどうかで表示を切り替える条件分岐です。

【固定ページID】の部分を指定する固定ページの固定ページIDに置き換えてください。
固定ページIDの調べ方は【固定ページIDの調べ方】で詳しく解説しています。

特定の固定ページなら(複数バージョン)

<?php if( is_page( array('固定ページID','固定ページID','固定ページID') ) ) : ?>
指定した固定ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定する固定ページが複数の場合は、こちらのコードを使ってください。
固定ページIDを複数指定するときは【array()】が必須です。

アーカイブページ関連の条件分岐

アーカイブページなら

<?php if( is_archive() ) : ?>
アーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

アーカイブページかどうかで表示を切り替える条件分岐です。

上記のコードをheader.phpなどに記述した場合、カテゴリーアーカイブ、タグアーカイブ、投稿者アーカイブ、日付別アーカイブで、コード内で記載したコンテンツの表示や処理が実行されます。

カテゴリページなら

<?php if( is_category() ) : ?>
カテゴリーページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

カテゴリーページかどうかで表示を切り替える条件分岐です。

特定のカテゴリページなら

<?php if( is_category('カテゴリーID') ) : ?>
指定したカテゴリーページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカテゴリーページかどうかで表示を切り替える条件分岐です。

【カテゴリーID】の部分を指定するカテゴリーのカテゴリーIDに置き換えてください。
カテゴリーIDの調べ方は【カテゴリーIDの調べ方】で詳しく解説しています。

特定のカテゴリページなら(複数バージョン)

<?php if( is_category( array('カテゴリーID', 'カテゴリーID') ) ) : ?>
指定したカテゴリーページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するカテゴリーが複数の場合は、こちらのコードを使ってください。
カテゴリーIDを複数指定するときは【array()】が必須です。

特定のカテゴリーに分類された投稿ページなら

<?php if( in_category('カテゴリーID') ) : ?>
指定したカテゴリーに属する投稿の場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカテゴリーに属している投稿かどうかで表示を切り替える条件分岐です。

特定のカテゴリーに分類された投稿ページなら(複数バージョン)

<?php if( in_category( array('カテゴリーID', 'カテゴリーID') ) ) : ?>
指定したカテゴリーに属する投稿の場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するカテゴリーが複数の場合は、こちらのコードを使ってください。
カテゴリーIDを複数指定するときは【array()】が必須です。

タグページなら

<?php if( is_tag() ) : ?>
タグページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

タグページかどうかで表示を切り替える条件分岐です。

特定のタグページなら

<?php if( is_tag('タグID') ) : ?>
指定したタグページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したタグページかどうかで表示を切り替える条件分岐です。

【タグID】の部分を指定するタグのタグIDに置き換えてください。
タグIDの調べ方は【タグIDの調べ方】で詳しく解説しています。

特定のタグページなら(複数バージョン)

<?php if( is_tag( array('タグID', 'タグID') ) ) : ?>
指定したタグページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するタグが複数の場合は、こちらのコードを使ってください。
タグIDを複数指定するときは【array()】が必須です。

特定のタグを持つ投稿ページなら

<?php if( has_tag('タグID') ) : ?>
指定したタグを持つ投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したタグと紐付けられた投稿かどうかで表示を切り替える条件分岐です。

特定のタグを持つ投稿ページなら(複数バージョン)

<?php if( has_tag( array('タグID', 'タグID') ) ) : ?>
指定したタグを持つ投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するタグが複数の場合は、こちらのコードを使ってください。
タグIDを複数指定するときは【array()】が必須です。

日付別アーカイブページなら

<?php if( is_date() ) : ?>
日付別アーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

日付別アーカイブページかどうかで表示を切り替える条件分岐です。
日付別アーカイブページとは、日・月・年別の投稿一覧ページを指します。

年別アーカイブページなら

<?php if( is_year() ) : ?>
年別のアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

年別のアーカイブページかどうかで表示を切り替える条件分岐です。

月別アーカイブページなら

<?php if( is_month() ) : ?>
月別のアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

月別のアーカイブページかどうかで表示を切り替える条件分岐です。

日別アーカイブページなら

<?php if( is_day() ) : ?>
日別のアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

日別のアーカイブページかどうかで表示を切り替える条件分岐です。

ユーザーアーカイブなら

<?php if( is_author() ) : ?>
ユーザーのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

ユーザーのアーカイブページかどうかで表示を切り替える条件分岐です。

特定のユーザーのアーカイブページなら

<?php if( is_author('ユーザーID') ) : ?>
指定した著者の投稿一覧ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定ユーザーのアーカイブページかどうかで表示を切り替える条件分岐です。

【ユーザーID】の部分を指定するユーザーのユーザーIDに置き換えてください。
ユーザーIDの調べ方は【ユーザーIDの調べ方】で詳しく解説しています。

特定のユーザーのアーカイブページなら(複数バージョン)

<?php if( is_author( array('ユーザーID', 'ユーザーID') ) ) : ?>
指定した著者の投稿一覧ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するユーザーが複数の場合は、こちらのコードを使ってください。
ユーザーIDを複数指定するときは【array()】が必須です。

カスタム投稿関連の条件分岐

特定のカスタム投稿の投稿ページのみ

<?php if ( is_singular( 'カスタム投稿名' ) ): ?>
指定したカスタム投稿タイプの投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカスタム投稿の投稿ページかどうかで表示を切り替える条件分岐です。

【カスタム投稿名】の部分は、特定のカスタム投稿名に置き換えてください。
カスタム投稿名の調べ方は【カスタム投稿名の調べ方】で詳しく解説しています。

特定のカスタム投稿の投稿ページのみ(複数バージョン)

<?php if ( is_singular( array('カスタム投稿名','カスタム投稿名') ) ): ?>
指定したカスタム投稿タイプの投稿ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するカスタム投稿が複数の場合は、こちらのコードを使ってください。
カスタム投稿名を複数指定するときは【array()】が必須です。

カスタム投稿のアーカイブページなら

<?php if ( is_post_type_archive() ) : ?>
カスタム投稿タイプのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

カスタム投稿のアーカイブページかどうかで表示を切り替える条件分岐です。

特定のカスタム投稿タイプのアーカイブページなら

<?php if ( is_post_type_archive('カスタム投稿名') ) : ?>
指定したカスタム投稿タイプのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカスタム投稿のアーカイブページかどうかで表示を切り替える条件分岐です。

特定のカスタム投稿タイプのアーカイブページなら(複数バージョン)

<?php if ( is_post_type_archive( array('カスタム投稿名','カスタム投稿名') ) ) : ?>
指定したカスタム投稿タイプのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するカスタム投稿が複数の場合は、こちらのコードを使ってください。
カスタム投稿名を複数指定するときは【array()】が必須です。

カスタムタクソノミー関連の条件分岐

カスタムタクソノミーのアーカイブページなら

<?php if ( is_tax() ) : ?>
カスタムタクソノミーのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

カスタムタクソノミーのアーカイブページかどうかで表示を切り替える条件分岐です。

特定のカスタムタクソノミーのアーカイブページなら

<?php if ( is_tax('カスタムタクソノミー名') ) : ?>
指定したカスタムタクソノミーのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカスタムタクソノミーのアーカイブページかどうかで表示を切り替える条件分岐です。

【カスタムタクソノミー名】の部分は、特定のカスタム投稿名に置き換えてください。
カスタム投稿名の調べ方は【カスタムタクソノミー名の調べ方】で詳しく解説しています。

特定のカスタムタクソノミーのアーカイブページなら(複数バージョン)

<?php if ( is_tax( array('カスタムタクソノミー名','カスタムタクソノミー名') ) ) : ?>
指定したカスタムタクソノミーのアーカイブページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

指定するカスタム投稿が複数の場合は、こちらのコードを使ってください。
カスタムタクソノミー名を複数指定するときは【array()】が必須です。

カスタムフィールド関連の条件分岐

カスタムフィールドの値の有無で条件分岐

<?php $imgid = get_field('カスタムフィールド名'); ?>
<?php if(!empty($imgid)):?>
空じゃない場合に表示するコンテンツや処理を記載。
<?php else:?>
空の場合の処理に表示するコンテンツや処理を記載。
<?php endif;?>

指定したカスタムフィールドに値が入っているかどうかで条件分岐します。

【カスタムフィールド名】の部分は、特定のカスタムフィールド名に置き換えてください。
カスタムフィールド名がtestの場合は【test】に置き換えます。

カスタムフィールドの値が空だった場合の条件分岐で、使い方などを詳しく解説しています。

カスタムフィールドの値が一致するかで条件分岐

<?php if(get_post_meta($post->ID,'カスタムフィールド名',true) == '文字列'): ?>
値が一致した場合に表示するコンテンツや処理を記載。
<?php else:?>
値が一致しない場合に表示するコンテンツや処理を記載。
<?php endif; ?>

指定したカスタムフィールドの値と指定した値が一致するかどうかで条件分岐します。
【カスタムフィールド名】の部分は、特定のカスタムフィールド名に置き換えてください。

詳しくは、カスタムフィールドの値が一致するかどうかで条件分岐する方法をご覧ください。

その他の条件分岐

検索結果ページなら

<?php if ( is_search() ) : ?>
検索ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

検索結果ページかどうかで条件分岐します。

404ページなら

<?php if ( is_404() ) : ?>
404ページの場合に表示するコンテンツや処理を記載。
<?php else: ?>
それ以外のページで表示するコンテンツや処理を記載。
<?php endif; ?>

404ページかどうかで条件分岐します。

未分類の条件分岐

タグの有無で条件分岐する

<?php if(has_tag()==true) : ?>
タグがある場合に表示するコンテンツや処理を記載。
<?php else: ?>
タグが無い場合に表示するコンテンツや処理を記載。
<?php endif; ?>

タグの有無で条件分岐します。

アイキャッチの有無で条件分岐する

<?php if ( has_post_thumbnail() ): ?>
アイキャッチがある場合に表示するコンテンツや処理を記載。
<?php else: ?>
アイキャッチが無い場合に表示するコンテンツや処理を記載。
<?php endif; ?>

アイキャッチの有無で条件分岐します。
アイキャッチがない場合、デフォルト画像を表示させる場合などに使えます。

ログインの有無で条件分岐

<?php if( is_user_logged_in() ) : ?>
ユーザーがWordPressの管理画面にログインしている場合に表示するコンテンツや処理を記載。
<?php else : ?>
ユーザーがWordPressの管理画面にログインしていない場合に表示するコンテンツや処理を記載。
<?php endif; ?>

詳しくは、条件分岐でログインしているユーザーのみにコンテンツを表示させるをご覧ください。

抜粋の有無で条件分岐

<?php $excerpt = get_the_excerpt(); if ( has_excerpt() ) : ?>
抜粋に値がある場合に表示するコンテンツや処理を記載。
<?php else : ?>
抜粋に値が無い場合に表示するコンテンツや処理を記載。
<?php endif; ?>

詳しくは、抜粋が未入力の場合でも、本文の冒頭を自動的に表示しないをご覧ください。

指定した件数より投稿の記事数が多いか少ないかで条件分岐

<?php
$count_posts = wp_count_posts();
$posts = $count_posts->publish;
if (5 < $posts): ?>
指定した件数より投稿の記事数が多い場合に表示するコンテンツや処理を記載。
<?php else : ?>
指定した件数より投稿の記事数が少ない場合に表示するコンテンツや処理を記載。
<?php endif; ?>

赤文字の【5】の部分が件数を指定している部分です。
3件より多いか少ないかで分岐したい場合は、【3】に変更してください。

まとめ

WordPressの条件分岐を42個まとめてみました!

テーマのカスタマイズを行うとき、条件分岐はよく使うかと思います。
今回は私が実際によく使っている条件を42個まとめてみました。

どなたかの参考になると幸いです。

著者:takaya kondo

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

Wordpressサイトのカスタマイズで
お困りではありませんか?

あなたのWordpressサイトを、ご希望に沿ってカスタマイズいたします。
次に該当する方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしたいが、自分でカスタマイズする暇がない。カスタマイズが得意な人に丸投げしたい。
  • Wordpressサイトをカスタマイズしてみたが、上手くカスタマイズできなかった。カスタマイズ経験が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしてみたら、バグが発生して困っている。正常に動作するように正しくカスタマイズしてほしい。

一つでも該当する方は、以下のリンクからチェックしてみてください。

詳細を確認する

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

  • 2019/03/17

    【WordPress】カテゴリページとタグページに説明文を入れる方法と5つのカスタマイズ

    アーカイブページに固有の説明文を設置する方法をご紹介します。コピペで設置できる様にしておりますので、興味のある方は挑戦してください。説明文周りの役立つカスタマイズも5つほど合わせてご紹介します。 記事を読む

  • 2016/04/09

    WordPress4.4から順番が変った!コメント入力フォームの入力欄の順番を戻す方法

    WordPress4.4からコメント入力フォームの入力欄の順番が変ってしまいました。個人差があると思いますが、個人的には従来の順番の方がしっくりとくる。そこで、コメント入力フォームの入力欄の順番を元に戻す方法をまとめてみました。3分で元に戻すことが出来ます。 記事を読む

  • 2015/09/20

    WordPress管理画面にPDF形式のマニュアルを埋め込む方法

    WordPress管理画面にPDF形式のマニュアルを埋め込む方法のご紹介です。クライアントにサイトを納品する時など、管理画面にWordPressの操作マニュアルを設置しておくと喜ばれます。今回はPDF形式のマニュアルを埋め込む方法です。 記事を読む

  • 2016/06/03

    contactform7のチェックボックスを改行して縦に並べる方法

    contactform7のチェックボックスを改行して縦に並べる方法をご紹介しました。チェックボックスの項目を改行するのとしないのとでは、チャックのし易さなどが大きく変わってきます。興味のある方は、3分間だけこのコンテンツを参照してください。 記事を読む

  • 2015/09/14

    WordPressサイトに管理者のみが観覧できるメモを書き込む方法

    WordPressサイトで管理者のみが確認できるメモを残したいと考えたことはありませんか? 管理者としてログインしている時のみサイト上で確認できるメモを作る方法をご紹介します。コピペのみで実装可能です。 記事を読む

コメントを残す

(必須)

CAPTCHA