【发布时间】:2018-01-02 23:06:08
【问题描述】:
我是 WordPress 开发新手,正在尝试构建一个简单的子主题。我要疯狂试图让子样式覆盖父主题排队的引导样式。
我在网上看到的一切都说要解决这个问题,你必须确保你的孩子主题最后入队,我相信我已经在我孩子的 functions.php 中实现了这一点:
<?php
// enqueue styles
function sparkling_enqueue_styles() {
// enqueue parent styles
wp_enqueue_style('sparkling-theme', get_template_directory_uri() .'/style.css');
// enqueue child styles
wp_enqueue_style('child-theme', get_stylesheet_directory_uri() .'/style.css', array('sparkling-theme', 'sparkling-bootstrap'), '1.0', true);
}
add_action('wp_enqueue_scripts', 'sparkling_enqueue_styles');
当在开发工具中检查时,这给了我一个带有以下元素顺序的头部:
<link rel="stylesheet" id="sparkling-theme-css"
href="http://localhost/wordpress/wp-content/themes/sparkling/style.css?
ver=4.8" type="text/css" media="all">
<link rel="stylesheet" id="sparkling-bootstrap-css"
href="http://localhost/wordpress/wp-
content/themes/sparkling/inc/css/bootstrap.min.css?ver=4.8" type="text/css"
media="all">
<link rel="stylesheet" id="child-theme-css"
href="http://localhost/wordpress/wp-content/themes/sparkling-
child/style.css?ver=1.0" type="text/css" media="1">
<link rel="stylesheet" id="sparkling-style-css"
href="http://localhost/wordpress/wp-content/themes/sparkling-
child/style.css?ver=4.8" type="text/css" media="all">
我已将这段 CSS 添加到我的子主题样式表中:
@media (min-width: 768px) {
.navbar-header {
float: right !important;
}
}
但是当我去检查我的 .navbar-header 元素时,由于引导样式,它仍然向左浮动:
bootstrap.min.css?ver=4.8:5
@media (min-width: 768px) {
.navbar-header {
float: left;
}
我有两个问题。不知道有没有关系。
- 为什么我的子主题样式没有覆盖引导样式?
- 头部的最终样式表(sparkling-style-css)来自哪里?我认为这是之前尝试排队的阴影,很久以前就从我的 functions.php 文件中删除了。
非常感谢任何帮助!我已经尝试将引导文件出队重新入队,但这似乎无济于事,它会影响设计的其他部分。
【问题讨论】:
-
如果可能的话,您能否发布您的 header.php 文件代码和网站的实时链接?
-
关于第二个样式表,我认为这是因为 WordPress 自动包含带有
sparkling-style名称的 style.css。你使用child-theme所以它不会覆盖它。尝试将其作为sparkling-style排队,应该没问题。 -
嘿@pomaaa,我刚刚更新了问题,因为我发现了我的错误。感谢您与我们联系。