WordPressで使う代表的な条件分岐
トップページ関連の条件分岐
フロントページ(サイトのトップページ)に当てはまる場合
<?php if(is_front_page()): ?>
<!--もし「フロントページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
ホームページ(ブログのトップページ)に当てはまる場合
<?php if(is_home()): ?>
<!--もし「ホームページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
フロントページとホームページに当てはまる場合
<?php if(is_front_page() || is_home()): ?>
<!--もし「フロントページ」もしくは「ホームページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
投稿ページ関連の条件分岐
投稿ページに当てはまる場合
<?php if(is_single()): ?>
<!--もし「投稿ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
投稿ページ(カスタム投稿を除く)に当てはまる場合
<?php if(is_singular('post')): ?>
<!--もし「個別投稿ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した投稿ページに当てはまる場合(投稿ID指定)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_single('5')): ?>
<!--もし「投稿ページ」のIDが「5」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した投稿ページに当てはまる場合(スラッグ指定)
<?php if(is_single('newyear-holiday')): ?>
<!--もし「投稿ページ」のスラッグ名が「newyear-holiday」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定した投稿ページのいずれかに当てはまる場合
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_single(array('5', 'newyear-holiday'))): ?>
<!--もし「投稿ページ」のIDが「5」、もしくは、指定したスラッグが「newyear-holiday」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
特定のカテゴリーを持つ場合
<?php if(has_category('art')): ?>
<!--もし「art」というカテゴリーを持つ場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
特定のタグを持つ場合
<?php if(has_tag('osaka')): ?>
<!--もし「osaka」というタグを持つ場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
タグの有無
<?php if(has_tag() == true): ?>
<!--もしタグがある場合は、コンテンツを表示 or 処理-->
<?php else: ?>
<!--タグがない場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
固定ページ関連の条件分岐
固定ページに当てはまる場合
<?php if(is_page()): ?>
<!--もし「固定ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した固定ページに当てはまる場合(投稿ID指定)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_page('5')): ?>
<!--もし「固定ページ」のIDが「5」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した固定ページに当てはまる場合(スラッグ指定)
<?php if(is_page('contact')): ?>
<!--もし「固定ページ」のスラッグ名が「contact」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定した固定ページのいずれかに当てはまる場合
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_page(array('5', 'contact'))): ?>
<!--もし「固定ページ」のIDが「5」、もしくは、指定したスラッグが「contact」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
固定ページ、投稿ページ、カスタム投稿ページ、添付ファイルページに関連する条件分岐
<?php if(is_singular()): ?>
<!--もし「固定ページ」、「投稿ページ」、「カスタム投稿ページ」、または「添付ファイルページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
アーカイブページに関連する条件分岐
アーカイブページに当てはまる場合
<?php if(is_archive()): ?>
<!--もし「アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
アーカイブ1ページ目のみに当てはまる場合
<?php if(is_archive() && !is_paged()): ?>
<!--もし「アーカイブページ」の1ページ目に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
archive.phpの中で、日付・カテゴリー・タグアーカイブページの内容を分岐して表示する場合
<?php if(is_date()): ?>
<!--もし「日付アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php elseif(is_category()): ?>
<!--もし「カテゴリーアーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php elseif(is_tag()): ?>
<!--もし「タグアーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php else:?>
<!--それ以外の場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
カテゴリーページに関連する条件分岐
カテゴリーページに当てはまる場合
<?php if(is_category()): ?>
<!--もし「カテゴリーページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカテゴリーページに当てはまる場合(カテゴリーID指定)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_category('2')): ?>
<!--もし「カテゴリー」のIDが「2」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカテゴリーページに当てはまる場合(スラッグ指定)
<?php if(is_category('art')): ?>
<!--もし「カテゴリー」のカテゴリー名が「art」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカテゴリーページに当てはまる場合(カテゴリー名指定)
<?php if(is_category('アート')): ?>
<!--もし「カテゴリー名」が「アート」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したカテゴリーのいずれかに当てはまる場合
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_category(array('2', 'art'))): ?>
<!--もし「カテゴリー」のIDが「2」、もしくはスラッグ名が「art」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
カテゴリーページの1ページ目のみに当てはまる場合
<?php if(is_category() && !is_paged()): ?>
<!--もし「カテゴリーページ」の1ページ目に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカテゴリーに属する場合(アーカイブ・個別記事)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(in_category('5')): ?>
<!--もし「カテゴリー」のIDが「5」に属する場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したカテゴリーのいずれかに属する場合(アーカイブ・個別記事)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(in_category(array('2', '5'))): ?>
<!--もし「カテゴリー」のIDが「2」、もしくは「5」に属する場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
日付アーカイブページに関連する条件分岐
日付アーカイブページに当てはまる場合
<?php if(is_date()): ?>
<!--もし「日付アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
年別アーカイブページに当てはまる場合
<?php if(is_year()): ?>
<!--もし「年別アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
月別アーカイブページに当てはまる場合
<?php if(is_month()): ?>
<!--もし「月別アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
日別アーカイブページに当てはまる場合
<?php if(is_day()): ?>
<!--もし「日別アーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
タグアーカイブページに関連する条件分岐
タグアーカイブページに当てはまる場合
<?php if(is_tag()): ?>
<!--もし「タグアーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したタグアーカイブページに当てはまる場合(タグID指定)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_tag('5')): ?>
<!--もし「タグ」のIDが「5」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したタグアーカイブページに当てはまる場合(スラッグ指定)
<?php if(is_tag('hiroshima')): ?>
<!--もし「タグ」のスラッグ名が「hiroshima」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したタグアーカイブページに当てはまる場合(タグ名指定)
<?php if(is_tag('広島')): ?>
<!--もし「タグ名」が「広島」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したタグのいずれかに当てはまる場合
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_tag(array('5', 'hiroshima'))): ?>
<!--もし「タグ」のIDが「5」、もしくは「hiroshima」に属する場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
カスタム投稿ページ関連の条件分岐
指定したカスタム投稿タイプの個別ページに当てはまる場合
<?php if(is_singular('news')): ?>
<!--もし「カスタム投稿」の投稿タイプ名が「news」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したカスタム投稿タイプのいずれかの個別ページに当てはまる場合
<?php if(is_singular(array('news', 'works'))): ?>
<!--もし「カスタム投稿」の投稿タイプ名が「news」、もしくは「works」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカスタムタクソノミーのタームに属する場合
<?php if(has_term('art', 'workscat')): ?>
<!--もし「カスタムタクソノミー」のタクソノミー名が「workscat」で「art」というタームに属する場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
カスタム投稿アーカイブページ関連の条件分岐
カスタム投稿のアーカイブページに当てはまる場合
<?php if(is_post_type_archive()): ?>
<!--もし「カスタム投稿のアーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカスタム投稿タイプのアーカイブページに当てはまる場合
<?php if(is_post_type_archive('news')): ?>
<!--もし「カスタム投稿」の投稿タイプ名が「news」に当てはまるアーカイブページの場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したカスタム投稿タイプのいずれかのアーカイブページに当てはまる場合
<?php if(is_post_type_archive(array('news', 'works'))): ?>
<!--もし「カスタム投稿」の投稿タイプ名が「news」、もしくは「works」に当てはまるアーカイブページの場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
カスタムタクソノミー関連の条件分岐
カスタムタクソノミーのアーカイブページに当てはまる場合
<?php if(is_tax()): ?>
<!--もし「カスタムタクソノミーのアーカイブページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定したカスタムタクソノミーのアーカイブページに当てはまる場合
<?php if(is_tax('workscat')): ?>
<!--もし「カスタムタクソノミー」のタクソノミー名が「workscat」のアーカイブページに当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定したカスタムタクソノミーのいずれかのアーカイブページに当てはまる場合
<?php if(is_tax(array('workscat', 'diarycat'))): ?>
<!--もし「カスタムタクソノミー」のタクソノミー名が「workscat」、もしくは「diarycat」のアーカイブページに当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
投稿者ページ関連の条件分岐
投稿者ページに当てはまる場合
<?php if(is_author()): ?>
<!--もし「投稿者ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した投稿者ページに当てはまる場合(投稿者ID指定)
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_author('2')): ?>
<!--もし「投稿者」のIDが「2」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
指定した投稿者ページに当てはまる場合(ニックネーム指定)
<?php if(is_author('kubota')): ?>
<!--もし「投稿者」のニックネームが「kubota」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
複数指定した投稿者ページのいずれかに当てはまる場合
※ID指定の場合は、シングルクォーテーションがなくてもOK
<?php if(is_author(array('2', 'kubota'))): ?>
<!--もし「記事の投稿者」のIDが「2」、もしくはニックネームが「kubota」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
その他の条件分岐
検索結果ページに当てはまる場合
<?php if(is_search()): ?>
<!--もし「検索結果ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
404ページに当てはまる場合
<?php if(is_404()): ?>
<!--もし「404ページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
管理画面のログイン有無
<?php if(is_user_logged_in()): ?>
<!--もし ユーザーがWordPressの管理画面にログインしている場合は、コンテンツを表示 or 処理-->
<?php else: ?>
<!--管理画面にログインしていない場合は、コンテンツを表示 or 処理-->
<?php endif; ?>
モバイルデバイス(スマホやタブレット)に当てはまる場合
<?php if(wp_is_mobile()): ?>
<!--もしモバイルデバイス(スマホやタブレット)に当てはまる場合は、コンテンツを表示 or 処理-->
<?php else: ?>
<!--それ以外(PCに当てはまる場合)は、コンテンツを表示 or 処理-->
<?php endif; ?>
種類が違う複数のページをまとめる条件分岐
<?php if(is_page('contact') || is_page('privacy') || is_single() || is_404()): ?>
<!--もし「固定ページ」のcontactかprivacy、「個別ページ」、「404ページ」のいずれかに当てはまる場合は、コンテンツを表示 or 処理-->
<?php elseif(is_front_page()): ?>
<!--もし「フロントページ」に当てはまる場合は、コンテンツを表示 or 処理-->
<?php else: ?>
<!--それ以外は、コンテンツを表示 or 処理-->
<?php endif; ?>
最低限覚えておきたい
WordPressのコード
-
PHPの条件分岐の基本
-
投稿の出力でよく使うWordPressのコード
-
テンプレートパーツの読み込みで使うWordPressのコード
-
header.phpの中でよく使うWordPressのコード
-
footer.phpの中でよく使うWordPressのコード
-
sidebar.phpの中でよく使うWordPressのコード
-
functions.phpの中でよく使うコード
-
front-page.phpでよく使うWordPressのコード
-
page.phpの中でよく使うWordPressのコード
-
archive.php(date.php、category.php、tag.php)の中でよく使うWordPressのコード
-
single.phpの中でよく使うWordPressのコード
-
archive-カスタム投稿名.phpの中でよく使うWordPressのコード
-
taxonomy.phpの中でよく使うWordPressのコード
-
single-カスタム投稿名.phpの中でよく使うWordPressのコード
-
search.phpの中でよく使うWordPressのコード
-
プラグイン出力でよく使うコード