在所有父样式之前加载子样式

时间:2016-07-22 作者:Lee

我试图转移到子主题,但似乎对样式表的加载顺序有问题。

我有一个父主题,它使用wp_enqueue_style 要加载所有样式表,这包括主样式表、引导和其他一些样式表。

当我创建一个子主题,然后将其自己的样式表添加到wp_enqueue_style, 它首先加载它,然后加载所有父对象。

How can I reverse this so the child stylesheet is loaded last (after the parent stylesheet)?

// Parent Theme Stylesheets
function psychic2016_load_scripts() {
    wp_enqueue_style(\'bootstrapCSS\',get_template_directory_uri().\'/css/bootstrap.min.css\');
    wp_enqueue_style(\'bootstrapSocial\',get_template_directory_uri().\'/css/bootstrap-social.css\',array());
    wp_enqueue_style(\'bootstrapThemeCSS\',get_template_directory_uri().\'/css/bootstrap-theme.min.css\');
    wp_enqueue_style(\'fontawesome\',get_template_directory_uri().\'/css/font-awesome.min.css\');
    wp_enqueue_style(\'intltelinput\',get_template_directory_uri().\'/css/intltelinput.css\');
    wp_enqueue_style(\'stylesheet\',get_stylesheet_uri());
}
add_action( \'wp_enqueue_scripts\', \'psychic2016_load_scripts\' );

// Child Theme Stylesheets
function my_theme_enqueue_styles() {
    wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/style.css\');
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
按照这样的顺序加载样式表:

enter image description here

UPDATE

在将依赖项添加到子函数调用时,我现在将子CSS加载到两个位置,一个位于所有内容的顶部,另一个位于所有内容下面的父样式主题的位置。

enter image description here

1 个回复
最合适的回答,由SO网友:Aftab 整理而成

我在这里看到的是,您没有在子主题中使用依赖项参数来加载css。

wp_enqueue_style()接受5个论点。第三个是依赖性。此依赖项允许在之后加载css文件。

因此,如果您将在子依赖项中添加父样式表句柄,那么这将在您的父css文件之后加载。

有关wp\\u enqueue\\u style()的更多信息,请通过https://developer.wordpress.org/reference/functions/wp_enqueue_style/

所以你的代码是

// Child Theme Stylesheets
function my_theme_enqueue_styles() {
    wp_enqueue_style(\'stylesheet\',get_template_directory_uri().\'/style.css\' ) // parent theme style.css
    wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri() . \'/style.css\', \'stylesheet\' ); // child theme style.css
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
这里的第三个参数是父样式表的句柄。希望这对你有所帮助。

注意:您可以使用get_stylesheet_uri() 函数加载子主题的样式。css文件。

Update: 请浏览此链接。Loading a child-theme's style.css after the parent's

谢谢

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c