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 文件位于子主题的根目录中,网址为 www.__.com/news/ 但是在新闻页面上时我仍然无法让 Wordpress 加载此文件。

我需要做什么才能加载此样式表,仅针对此页面?

提前致谢。

编辑:找到解决方案 - 新闻页面(作为我的帖子页面)将 .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' );

在上面的代码中,样式表只会在is_page('news')返回时添加true

于 2013-10-16T13:44:46.603 回答