How does a Child Theme works?

时间:2013-03-24 作者:Charitos

我创建了一个子主题并安装了它,但我不知道它到底是如何工作的!

例如,在父主题中,我有以下代码:

.header {
   margin-top: 10px;
   margin-bottom: 10px;
   width: 300px;
   height: 150px;
   background: white;
   border-width: 5px;
}
我不想包括宽度:300px,背景和边框宽度(因为我不想要背景和边框),并更改“边距顶部:10px至“边距顶部:15px在子主题中。

所以通常在儿童主题中,我会:

.header {
   margin-top: 15px;
   margin-bottom: 10px;
   height: 150px;
}
主题是,如果我这样做,WordPress将自动首先检查style.css 关于儿童主题,然后是style.css 父主题的。因此,它将执行缺失的代码(宽度:300px;、背景和边框宽度)。

我该怎么办?我有点困惑。我必须从父主题中删除我不想要的每一行吗?但如果我在更新后这样做,它会再次添加它。

2 个回复
SO网友:Rachel Baker

没错,WordPress将加载样式。css文件首先来自父主题,然后是样式。来自子主题的css。这意味着,由于CSS本身的工作方式,您必须明确地覆盖您想要覆盖的任何规则。

这意味着您需要在子主题的样式中修改CSS。css应为:

.header {
   margin-top: 15px;
   margin-bottom: 10px;
   width: 100%;
   height: 150px;
   background: none;
   border-width: 0;
}

SO网友:gorelog

您可能需要复制标题。php文件,并查找和删除从父主题导入的任何样式表。如果希望包含样式表,请将其导入子主题的样式中。css类似于:

/* Import from parent theme styles first */
@import url(\'/path-to-parent-theme/style.css\');
然后您可以在之后添加所有CSS。您的规则将覆盖父级的任何规则。

您还可以查看您的函数。php用于任何样式表的导入。可能看起来像这样:

wp_register_style( \'style\',get_stylesheet_directory_uri() . \'/style.css\', false );
wp_enqueue_style( \'style\' );
你可以评论你需要什么。您可以使用wp\\u deregister\\u样式和wp\\u dequeue\\u样式,但我从未让它们工作过。

结束

相关推荐

wordpress css file

我用wordpress创建了一个网站,并将其上传到ftp文件公共html我的问题是,我制作了一个包含所有其他css文件的css文件,但当我测试网站时,我发现wordpress没有看到,它只看到了第一个,我应该怎么做才能让网站看到我的文件这是css文件中包含的内容我应该添加url(\'wordpress/webcontent/…\')还是有其他方法??风格css@import url(\'/styles/forms.css\'); @import url(\'/styles/tables.css\'