1. TOP
  2. >カスタマイズ・小技>
  3. WordPressでよく使う条件分岐パターン

WordPressでよく使う条件分岐パターン

カスタマイズ・小技, 技術メモ, WordPress

2020/06/08
2022/07/21
WordPressでよく使う条件分岐パターン

WordPressのカスタムで、特定のページやカテゴリに属するページには問合せフォームを表示させたいなど、条件分岐に関して良く使うかなってものを載せてみます。
検索すればいっぱいでてくる内容ではありますが、ご参考にどうぞ!

トップページとそれ以外のページの条件分岐

<?php if( is_home() || is_front_page() ) : ?>
トップページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

設定→表示設定で、フロントページを特定の固定ページに設定してしてある場合もあるので、is_home()とis_front_page()を記述すると良いでしょう。

投稿ページと固定ページでの条件分岐

投稿ページではis_single()固定ページではis_page()を使用します。

・投稿ページの条件分岐

<?php if( is_single() ) : ?>
投稿ページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

・固定ページの条件分岐

<?php if( is_page() ) : ?>
固定ページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

おまけで特定の投稿ページにのみ表示させたい場合は、下記のようになります。

・投稿ページのIDを指定して条件分岐

<?php if( is_single('投稿ID') ) : ?>
投稿ページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

is_single(‘投稿ID’)で、該当する投稿ページのIDを記述してください。
固定ページの場合はis_page(‘投稿ID’)と記述。

・複数の指定した投稿ページで条件分岐

<?php if( is_single( array('投稿ID','投稿ID','投稿ID') ) ) : ?>
投稿ページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

固定ページの場合は、is_pageに書き換えてください。この後のカテゴリーなんかも同じ要領でやってみてください。

アーカイブやカテゴリーページでの条件分岐

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

<?php if( is_archive() ) : ?>
アーカイブページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

・カテゴリーページの条件分岐

<?php if( is_category() ) : ?>
カテゴリーページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

カテゴリーに関するイメージ画像や説明文など表示するのに使ってみるのもいいかもしれませんね。

カスタム投稿の条件分岐

・カスタム投稿の条件分岐

<?php if( is_singular('カスタム投稿名') ) : ?>
カスタム投稿のページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

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

<?php if( is_tax('カスタム投稿名') ) : ?>
カスタムタクソノミーのアーカイブページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

カスタム投稿のページでもこのような形で条件分岐できます。

そのほかの条件分岐

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

<?php if( is_user_logged_in() ) : ?>
ユーザーがログイン時に表示
<?php else: ?>
それ以外の表示
<?php endif; ?>

会員制サイトなどで、ユーザーがログインした場合に、「ようこそ○○さん」みたな表示であったり、公開範囲をゲストとユーザー毎に変えたりに使えます。

・アイキャッチ画像の有無で条件分岐

<?php if( has_post_thumbnail() ) : ?>
アイキャッチ画像がある場合に表示
<?php else: ?>
それ以外の表示
<?php endif; ?>

アイキャッチが無い場合のデフォルト画像を用意して表示したい時などに使ってみてください。

・検索ページの条件分岐

<?php if( is_search() ) : ?>
検索ページでの表示
<?php else: ?>
それ以外の表示
<?php endif; ?>

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

<?php $value = get_post_meta($post->ID, 'カスタムフィールド名', true) ?>
<?php if(!empty($value)): ?>
カスタムフィールドの値がある場合に表示
<?php else: ?>
それ以外の表示
<?php endif; ?>

カスタムフィールドの値があればそのまま表示でもいいですが、値が空の場合は別のテキストや画像など用意すると良いかと思います。

複数の条件分岐

こんな感じでそれぞれのページ毎に条件分岐させる事ができます。

<?php if( is_home() || is_front_page() ) : ?>
フロントページで表示
<?php elseif( is_single() ) : ?>
投稿ページで表示
<?php elseif( is_page() ) : ?>
固定ページで表示
<?php else: ?>
それ以外のページで表示
<?php endif; ?>

他にも様々な内容での条件分岐は考えられますが、これくらいは覚えておくと役に立つかと思います。

ホームページ制作ならRU DESIGN
「スタードメイン」は、年額100円からの独自ドメイン+無料サーバーも付いてきます。
WordPressも使えるので、練習も兼ねてお手軽にサイト運営ができちゃいます。


ドメイン取得は同じところで取得しておくと便利ですよ。
お名前.comは1円から購入(1年間)できるドメインがあるので、いろいろと便利で経済的です。

関連記事

古いMacに「ChromeOS 」をインストールして利用
2023/10/08
 Googleが提供しているChrome OS(クローム・オーエス)は、Linuxをベースとしたオペレーティングシステム(OS)の1つ。その中でPCやMACでも...
公式サポートが終了した古いMacに最新のmacOSをインストールするプロジェクト
2023/10/07
 古いMacに最新のmacOSをインストールするプロジェクト「OpenCore Legacy Patcher」(OCLP)は、Appleが提供する最新のmacO...
【WordPress】古い投稿を現在の日付で再投稿してくれるプラグイン「Republish Old Posts」
2023/08/31
注意:パーマリンクに日付が含まれている場合は、このプラグインを使用しないでください。SEOプラグイン「All in One SEO」との相性もよくないそうです。...
Crayon Syntax Highlighterの代替プラグイン「Enlighter」
2023/06/05
 ソースコードをきれいに表示させるのに役立っていた「Crayon Syntax Highlighter」ですが、更新も止まったままの状態で再開の目処はなさそうで...
WordPressの文字列を一括変換する便利なプラグイン「Search Regex」
2023/05/26
 WordPressのサイト内の文字列を一括置換・一括変換するのに便利なプラグインをご紹介します。ドメインを変更した場合だったり、「WordPress」を「ワー...