我正在为WordPress使用Knowall主题。我开发了一个儿童主题,在我的style.css
“我的孩子”主题文件夹中的文件:
/*
Theme Name: KnowAll Child Theme
Theme URI: help.mysite.com
Description: Help site
Author: myurl.com
Template: knowall
Version: 1.0
*/
@import url("../knowall/css/style.css");
这是可行的(子主题显示在WordPress中),但创建了以下断开的链接:
http://help.mysite.com/wp-content/themes/knowall-child/css/style.css?ver=4.8
因此,它似乎在试图定位核心的Knowall风格。css,而不是父文件夹。
我通过导入父样式“修复”了此问题。css直接进入子主题文件夹。对于“img”文件夹,我也必须这样做。
如何重新定位这些资产,以便在父主题中找到它们?我不想每次更新Wordpress时都必须将资产重新导入子主题。。。
最合适的回答,由SO网友:Johansson 整理而成
使用时很可能存在一些问题get_template_directory_uri()
或get_stylesheet_directory_uri()
.
根据WordPress代码参考:
get_template_directory_uri()
函数返回根主题的URL。如果使用了子主题,并且希望将URL返回到当前子主题,请使用get_stylesheet_directory_uri()
相反
而且,它是noted 导入父CSS文件不再是一种好做法:
请注意,前面的方法是使用@import导入父主题样式表:这不再是最佳做法,因为它增加了加载样式表所需的时间。将父主题样式表排队的正确方法是添加wp_enqueue_scripts
操作和使用wp_enqueue_style()
在子主题的函数中。php。
因此,您需要做的是在子主题的函数中使用以下代码将样式排队。php文件:
add_action( \'wp_enqueue_scripts\', \'my_child_theme_styles\' );
function my_child_theme_styles() {
wp_enqueue_style( \'parent-style\', get_template_directory_uri() . \'/style.css\' );
}
然后将您自己的CSS文件排队(如果有)。
SO网友:Markus Hirsch
我想是的,我理解你错了,或者你不完全知道你用什么儿童主题。
子主题是继承另一个主题(称为父主题)的功能和样式的主题。建议使用子主题修改现有主题。
https://codex.wordpress.org/Child_Themes
您不需要在子级中导入父级样式。时尚。css您包括您自己的编码css。
您的文件夹结构是:wp-content/theme/knowall-child/css/style。css以css/样式显示。css是您自定义的css代码。
切换您的风格。css收件人:
/*
Theme Name: KnowAll Child Theme
Theme URI: help.mysite.com
Description: Help site
Author: myurl.com
Template: knowall
Version: 1.0
*/
@import "css/style.css";
这应该能解决你的问题。