WordPressのテーマやプラグインの開発に役立つ、テンプレートの範囲指定ができる条件分岐タグをまとめました。複数の固定ページや投稿タイプを指定する方法も含めて解説しています。このチートシートを使って、特定のページやコンテンツに応じた処理を柔軟に行いましょう。
基本ページ判定
is_front_page()
フロントページ(ホームページ)かどうかを判定します。
is_home()
ブログ投稿ページ(通常の投稿リストページ)かどうかを判定します。
is_page($page)
特定の固定ページかどうかを判定します。
$page
にはページID、スラッグ、またはタイトルを指定可能。
複数ページを指定する場合
if (is_page(array(42, 'about', 'Contact Us'))) {
// ページID 42、スラッグ 'about'、またはタイトル 'Contact Us' のページの場合
}
is_single($post)
特定の投稿ページかどうかを判定します。
$post
には投稿ID、スラッグ、またはタイトルを指定可能。
複数の投稿を指定する場合
if (is_single(array(10, 'my-post-slug', 'Another Post'))) {
// 投稿ID 10、スラッグ 'my-post-slug'、またはタイトル 'Another Post' の投稿の場合
}
アーカイブページ関連
is_archive()
任意のアーカイブページかどうかを判定します(カテゴリ、タグ、著者、日付などすべてのアーカイブページに適用)。
is_category($category)
特定のカテゴリアーカイブページかどうかを判定します。
$category
にはカテゴリID、スラッグ、または名前を指定可能。
複数カテゴリを指定する場合
if (is_category(array(4, 'news', 'Updates'))) {
// カテゴリID 4、スラッグ 'news'、または名前 'Updates' のカテゴリの場合
}
is_tag($tag)
特定のタグアーカイブページかどうかを判定します。
$tag
にはタグID、スラッグ、または名前を指定可能。
複数タグを指定する場合
if (is_tag(array(3, 'featured', 'Special Tag'))) {
// タグID 3、スラッグ 'featured'、または名前 'Special Tag' のタグの場合
}
is_author($author)
特定の著者アーカイブページかどうかを判定します。
$author
には著者ID、スラッグ、または名前を指定可能。
複数著者を指定する場合
if (is_author(array(1, 'admin', 'John Doe'))) {
// 著者ID 1、スラッグ 'admin'、または名前 'John Doe' の著者ページの場合
}
is_date()
日付ベースのアーカイブページかどうかを判定します。
is_year()
年アーカイブページかどうかを判定します。
is_month()
月アーカイブページかどうかを判定します。
is_day()
日アーカイブページかどうかを判定します。
is_post_type_archive($post_type)
特定のカスタム投稿タイプのアーカイブページかどうかを判定します。
$post_type
には投稿タイプのスラッグを指定可能。
複数の投稿タイプを指定する場合
if (is_post_type_archive(array('product', 'portfolio'))) {
// 'product' または 'portfolio' の投稿タイプアーカイブの場合
}
特殊ページ関連
is_search()
検索結果ページかどうかを判定します。
is_404()
404エラーページかどうかを判定します。
is_attachment()
添付ファイルページかどうかを判定します。
is_singular($post_types)
単一の投稿ページか固定ページかどうかを判定します。
$post_types
には投稿タイプのスラッグを指定可能。
複数の投稿タイプを指定する場合
if (is_singular(array('post', 'page', 'product'))) {
// 'post'、'page'、または 'product' の単一ページの場合
}
カスタム分類(タクソノミー)関連
is_tax($taxonomy, $term)
特定のタクソノミーやタームに属するアーカイブページかどうかを判定します。
$taxonomy
にはタクソノミースラッグ、$term
にはタームスラッグまたはIDを指定可能。
複数のタームを指定する場合
if (is_tax('genre', array('action', 'comedy'))) {
// 'genre' タクソノミーの 'action' または 'comedy' タームの場合
}
投稿フォーマット関連
has_post_format($format)
特定の投稿フォーマットかどうかを判定します。
$format
にはフォーマットスラッグを指定可能(例: aside
, gallery
など)。
複数のフォーマットを指定する場合
if (has_post_format(array('aside', 'gallery'))) {
// 'aside' または 'gallery' フォーマットの場合
}
ログイン・登録関連
is_user_logged_in()
現在のユーザーがログインしているかどうかを判定します。
is_admin()
管理画面のいずれかのページかどうかを判定します。
デバイス関連
wp_is_mobile()
現在のページがモバイルデバイスで表示されているかどうかを判定します。
このチートシートを使って、特定のページやコンテンツに対して適切なテンプレートやスタイルを柔軟に適用することができます。複数の条件を指定することで、より詳細な制御が可能になりますので、ぜひ活用してください。