【保存版】WordPressの条件分岐まとめ【42選】
MENU
  1. HOME
  2. WordPress / カスタマイズ
  3. 【保存版】WordPressの条件分岐まとめ【42選】

最近の作業実績

  • 2024年04月06日非レスポンシブのサイトをレスポンシブ化いたしました。
  • 2024年04月05日テーマファイルが編集できない不具合を解消いたしました。
  • 2024年04月04日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • 2024年04月03日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年04月02日お問い合わせフォームを再構築いたしました。
  • 2024年04月01日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月31日サーバー移管に共に表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月30日WordPressの操作方法をサポートいたしました。
  • 2024年03月29日サイドバーに人気記事を表示させる仕組みを導入いたしました。
  • 2024年03月28日テキスト等の簡易な修正を行いました。
  • 2024年03月27日アイキャッチが表示されない不具合を修正いたしました。
  • 2024年03月26日WordPressの操作方法をサポートさせていただきました。
  • 2024年03月25日サイト上で発生していたリンクの不具合を解消いたしました。
  • 2024年03月24日不具合で表示されなくなったサイトを表示される状態まで復旧いたしました。
  • 2024年03月23日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • 2024年03月22日WordPressにログインできない不具合を解消いたしました。
  • 2024年03月21日既存サイトにセキュリティ対策を導入いたしました。
  • 2024年03月20日メールフォーム周りで発生していた不具合を解消いたしました。
  • 2024年03月19日記事一覧をカテゴリー単位で表示できる様にカスタマイズいたしました。
  • 2024年03月18日WordPress、テーマ、プラグイン、のバージョンアップを担当いたしました。
  • このエリアには直近の制作実績を一部掲載しております。
  • 制作実績はリアルタイム反映ではありません。

【保存版】WordPressの条件分岐まとめ【42選】

この投稿は2023/10/16に加筆修正いたしました。
Wordpressで利用するであろう主要な条件分岐をご紹介します。
カスタマイズの参考になさってください。

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

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

条件分岐の基本は大丈夫!
そんな方は以下を読み進めてください。
この記事は約 19 分で読めます。

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

トップページ

<?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 $value = get_the_term_list( $post->ID, 'カスタムタクソノミー名');?>
<?php if(!empty($value)):?>
タームが指定されている場合に表示したいコンテンツや処理を記載。
<?php else: ?>
条件に値しないページで表示するコンテンツや処理を記載。
<?php endif; ?>

その投稿が指定したカスタムタクソノミーのタームと紐づいているかどいかで表示を切り替える条件分岐です。

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

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

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

?php $value = get_post_meta($post->ID, 'カスタムフィールド名', true);?>
<?php if(!empty($value)):?>
空じゃない場合に表示するコンテンツや処理を記載。
<?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】に変更してください。

IPアドレスで条件分岐

<?php if ( $_SERVER['REMOTE_ADDR'] === "***.***.***.***" ): ?>
指定したIPアドレスの場合に表示するコンテンツを記載。
<?php endif; ?>

『***.***.***.***』の部分をIPアドレスに置き換えてください。

まとめ

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

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

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

Wordpressのカスタマイズや不具合など
何かお困りのことはありませんか?

Wordpressに関連するあなたのお悩み、解決いたします。
次のような方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトに不具合が発生したが、直し方が分からない。不具合の修正経験が豊富な人に任せたい。
  • 既存サイトにWordPressを導入したいが、やり方が複雑で自分ではできそうにもない。経験が豊富な人に任せたい。
  • WordPressがハッキングされたが修正の仕方が分からない。サイトを元通りにできる人を探している。
  • Wordpressで0からサイトを制作したいが、自分ではできそうにもない。プロにサイト制作を委託したい。

一つでも該当する方は、以下のフォームからお気軽にご相談下さい。

WordPressに関して今すぐ相談する

著者:takaya kondo

岡山在住のWordPress専門フリーランサーです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

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

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

コメントを残す

(必須)

CAPTCHA