1. TOP
  2. 技術メモ
  3. WordPressでよく使う条件分岐パターン

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

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

ニッチなテーマのイラスト素材を投稿中!ぜひご利用ください。

ナマケモノなど可愛いイラストをイラストACで無料配布中!

オリジナル絵本をKindleで出版!

ナマケモノのふにゃまるちゃんを読む

困ったときは格安で依頼!RU DESIGNも出品中

格安レンタルサーバーでサイト運営を始めよう

ドメイン取得は一括管理が便利!

応援・支援よろしくお願いします!サイト運営に活用させていただきます。

Braveクリエイターサポート
ホームページ制作ならRU DESIGN

関連記事

【WordPress初心者さん必見!】「これ、どうすればいいの?」検索しても意外と見つからない疑問を解決!
2025/04/19
WordPressでのサイト運営、始めてみましたか?✨ 最初は設定や記事の書き方など、覚えることがたくさんで大変ですよね!基本的な操作は色々なサイトで解説されて...
WordPressで「Missing a temporary folder」エラーを解決!ファイルがアップロードできない時の簡単な対処法
2025/04/19
WordPressで画像やプラグインをアップロードしようとしたら、「Missing a temporary folder」というエラーが出て、うまくアップロード...
WPFormsで「JavaScriptの問題を検出しました」メッセージが表示された時の原因と対処法
2025/04/19
WordPressサイトで人気の高いお問い合わせフォームプラグインの一つであるWPFormsを利用していると、サイトの管理画面や、実際にフォームが表示されている...
WordPressサイトの処理が止まる?「Maximum execution time exceeded」エラーの原因と対策
2025/04/18
WordPressサイトを運営していると、時々「Fatal error: Maximum execution time of XX seconds exceed...
WordPressで遭遇しやすい「原因が分かりにくい」エラーと解決策
2025/04/18
WordPressでウェブサイトを運用していると、予期しないエラーメッセージに遭遇することがあります。有名なエラー(例えば、白い画面だけが表示される「真っ白画面...