我试图转移到子主题,但似乎对样式表的加载顺序有问题。
我有一个父主题,它使用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\' );
按照这样的顺序加载样式表:
UPDATE
在将依赖项添加到子函数调用时,我现在将子CSS加载到两个位置,一个位于所有内容的顶部,另一个位于所有内容下面的父样式主题的位置。
最合适的回答,由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
谢谢