WordPressでページ別・カテゴリー別にCSSを切り替える!【初心者完全ガイド】

WordPressでページ別・カテゴリー別にCSSを切り替える!【初心者完全ガイド】
プログラミング

WordPressサイトを運営していると、ページごとやカテゴリーごとに異なるデザインを適用したくなることがあります。

例えば、特定の固定ページだけ背景色を変えたり、カテゴリーごとに異なるフォントを設定したりする場合です。

本記事では、WordPressでページやカテゴリーごとに異なるCSSを適用する方法を初心者向けにわかりやすく解説します。

CSSやJavaScriptの正しい読み込みかたはこちらの記事で詳しく解説しています。

スポンサーリンク

ページやカテゴリーごとにCSSを変更する基本の考え方

WordPressでは、特定のページやカテゴリーごとに異なるCSSを適用するために「条件分岐タグ」と「wp_enqueue_style」を活用できます。

WordPressの条件分岐タグを活用する

WordPressには、特定のページやカテゴリーを判別できる「条件分岐タグ」が用意されています。

例えば、is_page()is_category() を使うことで、それぞれのページやカテゴリーを判別可能です。

wp_enqueue_style で特定のページ・カテゴリーにCSSを適用

wp_enqueue_style を使うことで、必要なCSSファイルを適切に読み込むことができます。

特定のページやカテゴリーのみで読み込むように設定することで、不要なCSSの読み込みを防ぎ、サイトのパフォーマンスを向上させることができます。

CSSやJavaScriptの正しい読み込みかたはこちらの記事で詳しく解説しています。

ページごとに異なるCSSを読み込む方法

特定の固定ページだけにCSSを適用する方法

特定の固定ページにのみCSSを適用したい場合、is_page() を利用します。

function add_ccs_js() {
    if (is_page('contact')) { // 固定ページ「お問い合わせ」に適用
        wp_enqueue_style('contact-style', get_template_directory_uri() . '/css/contact.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

投稿ページ(シングルページ)ごとにCSSを変更する方法

投稿ページごとに異なるCSSを適用する場合は、is_single() を使用します。

function add_ccs_js() {
    if (is_single('123')) { // 投稿IDが123の場合
        wp_enqueue_style('single-post-style', get_template_directory_uri() . '/css/single-123.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

カテゴリーごとにCSSを変更する方法

is_category() を使ってカテゴリー別にCSSを適用

カテゴリーごとに異なるCSSを適用する場合、is_category() を使います。

function add_ccs_js() {
    if (is_category('news')) { // カテゴリー「news」に適用
        wp_enqueue_style('news-category-style', get_template_directory_uri() . '/css/category-news.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

子テーマの category-スラッグ.css を活用する

テーマの category-スラッグ.css を自動的に読み込む方法もあります。

function add_ccs_js() {
    if (is_category()) {
        $category = get_queried_object();
        wp_enqueue_style('category-style', get_template_directory_uri() . '/css/category-' . $category->slug . '.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

その他の便利なカスタマイズ方法

投稿タイプ(カスタム投稿)ごとにCSSを切り替える

カスタム投稿タイプごとに異なるCSSを適用する場合、is_singular('custom_post_type') を使用します。

function add_ccs_js() {
    if (is_singular('portfolio')) { // カスタム投稿タイプ「portfolio」に適用
        wp_enqueue_style('portfolio-style', get_template_directory_uri() . '/css/portfolio.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

特定のユーザーやログイン状態でCSSを変える

管理者のみ異なるCSSを適用する場合は is_user_logged_in() を使います。

function add_ccs_js() {
    if (current_user_can('administrator')) {
        wp_enqueue_style('admin-style', get_template_directory_uri() . '/css/admin.css');
    }
}
add_action('wp_enqueue_scripts', 'add_ccs_js');

まとめ

ページやカテゴリーごとに適切なCSSを読み込むことで、より柔軟なデザイン変更が可能になります。

ポイントまとめ

  • 固定ページごとにCSSを適用is_page()
  • 投稿ページごとにCSSを適用is_single()
  • カテゴリーごとにCSSを適用is_category()
  • カスタム投稿タイプごとにCSSを適用is_singular()
  • 特定のユーザーに適用current_user_can()

適切な方法を選んで、効率よくWordPressのデザインをカスタマイズしましょう!

タイトルとURLをコピーしました