当父母的css位于‘css文件夹’中时,我如何有效地使用子主题?

时间:2016-01-03 作者:PercentSharp

我已经有了一个儿童主题和一种新风格。css,但css改变了我的孩子主题的样式。css什么都不做,因为父主题的不同css样式表来自“css”文件夹。我刚刚被告知要“创造一种新的风格”,这是否意味着要编写一个新的@import规则?

我需要为我的孩子主题风格添加什么。css使我的css更改实际起作用?

我试过包括@import url("../parenttheme/style.css");@import url("..parenttheme/parentthemeCSSfolder/style.css"); -- 两者都不起作用。

UPDATE: 在阅读了一堆线程并以更慢的速度阅读了codex之后,我的函数。php现在看起来像:

function theme_enqueue_styles() {
    wp_enqueue_style( \'parent-style\', get_template_directory_uri() . \'/style.css\' );
    wp_enqueue_style( \'css parent\', get_template_directory_uri() . \'/css/style.css\' );
    wp_enqueue_style( \'css min\', get_template_directory_uri() . \'/css/style.min.css\' );
    wp_enqueue_style( \'css blue\', get_template_directory_uri() . \'/css/style-blue.css\' );
    wp_enqueue_style( \'css blue min\', get_template_directory_uri() . \'/css/style-blue.min.css\' );
    wp_enqueue_style( \'css green\', get_template_directory_uri() . \'/css/style-green.css\' );
    wp_enqueue_style( \'css green min\', get_template_directory_uri() . \'/css/style-green.min.css\' );
    wp_enqueue_style( \'css orange\', get_template_directory_uri() . \'/css/style-orange.css\' );
    wp_enqueue_style( \'css orange min\', get_template_directory_uri() . \'/css/style-orange.min.css\' );
    wp_enqueue_style( \'css violet\', get_template_directory_uri() . \'/css/style-violet.css\' );
    wp_enqueue_style( \'css violet min\', get_template_directory_uri() . \'/css/style-violet.min.css\' );
    wp_enqueue_style( \'css yellow\', get_template_directory_uri() . \'/css/style-yellow.css\' );
    wp_enqueue_style( \'css yellow min\', get_template_directory_uri() . \'/css/style-yellow.min.css\' );
 wp_enqueue_style( \'child-style\',
        get_stylesheet_directory_uri() . \'/style.css\',
        array( \'parent-style\' )
    );
}

add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles\' );
我仍然没有找到解决办法。我正在以我孩子的风格进行CSS更改。css被覆盖(inspect元素显示它们已应用,但随后应用父主题的样式表)。我做错了什么?

1 个回复
SO网友:s_ha_dum

我刚刚被告知要“创造一种新的风格”,这是否意味着要编写一个新的@import规则?

不,不是。事实上,这是包含新样式表最糟糕的方式,因为它会导致页面加载延迟。你想做的事情是这样的(直接来自于法典):

add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles\' );
function theme_enqueue_styles() {
    wp_enqueue_style( \'parent-style\', get_template_directory_uri() . \'/style.css\' );
}
当然,你的道路——这一部分,get_template_directory_uri() . \'/style.css\'-- 可能需要不同,因为它需要匹配父主题样式表的位置——尽管主样式表应该位于该示例所指向的主题目录的根目录中。您需要以这种方式将每个主题样式表排队。

当然,所有这些都假设主题没有自己的样式表加载器(这是一种糟糕的形式,但经常发生),并且作为表现良好的WordPress主题运行。