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

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

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

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

この記事は【2022年7月21日】が最後の更新のため、記事の内容が古い可能性があります。

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; ?>

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

- PR -

ニッチなテーマのイラスト素材投稿始めました。良かったら使ってください。
RU DESIGN/無料イラスト・フリー素材「イラストAC」

オリジナル絵本 Kindleにて出版
ナマケモノのふにゃまるちゃん

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

関連記事

ワードプレス各バージョンと使用可能なPHPバージョン一覧
2024/01/29
 WordPressのバージョンによって使用可能なPHPのバージョンは異なってきます。PHPのバージョンによっては、ワードプレスが正常に動作しなかったり、テンプ...
古い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」ですが、更新も止まったままの状態で再開の目処はなさそうで...