サポート » 使い方全般 » <?php body_class(); ?> タグの利用に関して

  • 解決済 imaru

    (@imaru)


    こんにちは。
    <?php body_class(); ?> タグの利用に関して、質問させてください。
    現在 WordPress 2.9.1 で独自テーマを作成中です。
    WordPress 2.8 より、<?php body_class(); ?> が使えるとの事で、利用を試みてみます。
    利用として、home.php と index.php でデザインを変えたいと思っております。

    <body>タグに、<?php body_class(); ?> を入れて <body <?php body_class(); ?>>
    と指定します。

    home.php と index.php で

    <body <?php body_class(); ?>>

    とした場合、両方とも出力が

    <body class="home blog">

    と出ます。
    この場合、クラスに二つの属性を与える事になり判別にならないと思います。

    例として
    home.php と index.php で <body>タグに <?php body_class(); ?> を入れてます。

    <body <?php body_class(); ?>>

    HTML の出力が以下とします。

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>test</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body class="home blog">
    
    <p>テストページ</p>
    
    </body>
    </html>

    CSS は

    @charset "UTF-8";
    
    body {
    	text-align: center;
    	}
    
    .home {
    	background-color: #FFE;
    	}
    
    .blog {
    	background-color: #FEE;
    	}

    とします。

    希望では、
    home.php では
    バックグランドカラーは #FFE にして
    index.php では
    バックグランドカラーは #FEE にしたいと思います。

    上記のサンプルでは、両方ともスタイルシートの記述順通り、バックグランドカラー #FEE になります。

    現状は直接
    home.php では
    <body class=”home”>
    index.php では
    <body class=”blog”>

    と記入しており、今は <?php body_class(); ?> を利用していません。
    <?php body_class(); ?> の利用に関して、何か勘違いしている所があるでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 以下の手順だと body_class() で home, blog がご希望通りに出力されます。

    1.ホーム用ページを追加。テンプレートで「home.php」を選択。
    2.ブログ用ページを追加。
    3.管理画面[ツール|表示設定|フロントページの表示]で「固定ページ」を選択。
    4.「フロントページ」で 1.で作成したホーム用ページを選択。
    5.「投稿ページ」で 2.で作成したブログ用ページを選択。

    トピック投稿者 imaru

    (@imaru)

    kz 様

    アドバイスをありがとうございました。

    判りました!

    [設定]から[表示設定][フロントページの表示]にて
    「フロントページ」と「投稿ページ」を個別に設定する事で、<?php body_class(); ?> の出力が変わるですね。

    今まで、「フロントページ」は気に止めていましたが、「投稿ページ」は全く意識していませんでした。

    何となく判ってきました。もう少し色々試してみたいと思います。

    ありがとうございました。

    imaruさん、kzさん、こんにちは。

    Codex に、body_class() の説明&ページ種類別の class 値一覧を作ってみました。

    テンプレートタグ/body class

    まだ作りかけですが、調べ物の助けになれば。。

    トピック投稿者 imaru

    (@imaru)

    bonops 様

    class の一覧表をありがとうございます。
    とても助かります。

    <?php body_class(); ?>
    はとても便利なタグだと思います。
    是非とも多くの人に活用して頂ければと思います。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「<?php body_class(); ?> タグの利用に関して」には新たに返信することはできません。