0

私は現在、Wordpress に含まれている標準の 2013 テーマをカスタマイズして、標準の子テーマを作成し、style.css スタイルシートの下部に追加しています。

これはすべてのページでうまく機能しますが、ニュース ページにカスタム スタイルシート「news.css」が必要な場合があります。

次のコードを header.php ファイルの終了タグの直前に追加して、他の css ファイルによって上書きされないようにしました。

    <?php
        if ( is_page( 'news' ) ) { ?>
            <link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/news.css">

    <?php } else {
    }
?>

news.css ファイルは子テーマのルート ディレクトリにあり、URL は www.__.com/news/ ですが、ニュース ページでこのファイルを Wordpress に読み込めません。

このスタイルシートをロードするには、このページだけに何をする必要がありますか?

前もって感謝します。

編集: 解決策が見つかりました - ニュース ページ (私の投稿ページ) には、body タグに .blog クラスが適用されていました。マスター css ファイルで .blog を使用して、このページの CSS を具体的に調整できるようになりました。よかった!

4

1 に答える 1

0

CSSでセレクターを使用して、ルールを必要なページにのみ適用することで、すでに問題を解決しているようです(あなたの場合、.blogクラスはうまくいきました.

これは、最近ではほとんど標準的な方法です。

ただし、将来誰かが必要になった場合に備えて、参照用にこれをここに置きたいと思いました. 以下の関数はスタイルシートを「エンキュー」し、スタイルシートを追加する正しい方法です。この関数は、2 つの新しいスタイルシートを登録してキューに入れます。

function load_additional_styles() {
    wp_register_style( 'second-style', get_template_directory_uri() . '/style2.css' );
    wp_enqueue_style ( 'second-style' );
    wp_register_style( 'third-style', get_template_directory_uri() . '/style3.css' );
    wp_enqueue_style ( 'third-style' );
}

add_action( 'wp_enqueue_scripts', 'load_additional_styles' );

これらの関数内で条件を使用することもできるため、(上記の質問を例として使用して) 次のようなことができます。

function load_additional_styles() {
    if ( is_page( 'news' ) ) {
        wp_register_style( 'second-style', get_template_directory_uri() . '/style2.css' );
        wp_enqueue_style ( 'second-style' );
        wp_register_style( 'third-style', get_template_directory_uri() . '/style3.css' );
        wp_enqueue_style ( 'third-style' );
    }
}

add_action( 'wp_enqueue_scripts', 'load_additional_styles' );

上記のコードでは、スタイルシートは return の場合にのみ追加されis_page('news')ますtrue

于 2013-10-16T13:44:46.603 に答える