我已经尝试了一切我能想到的解决这个问题的方法,但我完全陷入困境。
我创建了一个子主题,并将其安装在Wordpress上。我知道我的style.css正在工作,因为在一些测试中看到问题是什么,我能够更改子主题的名称并将其显示在我的网站上。我认为问题出在@import上,但无法弄清楚如何修复。
这是我的css的样子:
/*
Theme Name: Accio Child
Theme URI: http://jowerstraining.com
Description: Accio Child Theme
Template: accio
*/
@import url('../accio/style.css');
@import url('../accio/css/animation.css');
@import url('../accio/css/custom1.css');
@import url('../accio/css/custom2.css');
我正在使用的主题有几个样式表,这就是我认为我的问题来自的地方。关于如何解决这个问题的任何想法?
使用MAMP构建网站所以无法发布链接,抱歉。
答案 0 :(得分:1)
当客户想要使用此主题时,我们遇到了同样的问题。我们决定将它添加到我们的functions.php文件中并以这种方式启动子主题CSS:
/**
* Add's custom styles
*
*/
function theme_styles() {
wp_enqueue_style( 'child-theme-styles', get_stylesheet_uri() );
}
add_action('wp_enqueue_scripts', 'theme_styles');
注意,我们之前确实遇到了麻烦,因为我们使用get_stylesheet_directory_uri()
来恢复accio主题文件夹的路径,而不是我们的子主题文件夹。我们发现get_stylesheet_uri()
为我们提供了style.css文件的正确路径。
答案 1 :(得分:0)
有时,位于模板目录根目录的主style.css
文件没有排队加载(但只是用于注释以提供有关主题的信息)。
你应该检查这个文件是否实际被加载,或者检查父主题是否正在使用另一个css文件,例如css/app.css
。
如果它仍然不起作用,您必须检查css文件如何被父主题排队。它应该是这样的:
wp_enqueue_style( 'style-name', get_stylesheet_directory_uri() . 'css/app.css' );
请注意,get_stylesheet_directory_uri()
将返回子主题URI(如果存在),但get_template_directory_uri()
将始终返回当前主题目录URI,并且永远不会被覆盖。
答案 2 :(得分:0)
您可以尝试使用wp_enqueue_style函数http://codex.wordpress.org/Function_Reference/wp_enqueue_style
答案 3 :(得分:0)
只需添加代码
即可@import url("../../yourtheme-child/css/custom.css");
到你主要主题中的custom.css。
答案 4 :(得分:0)
jhoffmcd说的对我也有效,但是我必须添加“ 99”,这样才能最后加载我的样式表。谢谢jhoffmcd。
function theme_styles() {
wp_enqueue_style( 'child-theme-styles', get_stylesheet_uri() );
}
add_action('wp_enqueue_scripts', 'theme_styles', 99);