儿童主题实施问题

时间:2017-06-13 作者:Dan382

我正在为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时都必须将资产重新导入子主题。。。

4 个回复
最合适的回答,由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";
这应该能解决你的问题。

SO网友:Vivek Tamrakar

Write this code in you functions.php

添加\\u操作(“wp\\u enqueue\\u scripts”、“my\\u child\\u theme\\u style”);函数my\\u child\\u theme\\u styles(){wp\\u enqueue\\u style(\'parent style\',get\\u template\\u directory\\u uri()./style.css\');

}

SO网友:Hlsg

杰克·约翰逊说得对。然而,由于你似乎对这些东西不太了解,One-Click Child Theme 可以自动化创建子主题的过程,并遵循最佳做法。

结束

相关推荐

Child-theme breaks site

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