Wordpress子主题样式不会覆盖以前排队的样式

时间:2017-07-27 09:45:03

标签: php css wordpress

我是WordPress开发人员的新手,并尝试构建一个简单的子主题。我要疯狂试图让子样式覆盖父主题排队的引导样式。

我在网上看到的一切都说要解决这个问题,你必须确保你的孩子主题最后排队,我相信我已经在孩子的函数中实现了这个目标.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样式,它仍然向左浮动:

bootstrap.min.css?ver=4.8:5

@media (min-width: 768px) {
    .navbar-header {
        float: left;
}

我有两个问题。我不知道他们是否有关系。

  1. 为什么我的孩子主题样式没有覆盖引导样式?
  2. 头部的最终样式表(sparkling-style-css)来自何处?我认为这是以前尝试入队的影子,早在我的functions.php文件中删除。
  3. 非常感谢任何帮助!我已经尝试将重新排队的引导程序文件出列,但这似乎并没有帮助,它会占用设计的其他部分。

1 个答案:

答案 0 :(得分:0)

经过几个小时的研究,并通过我的排队代码和PHP进行了调查,结果发现我试图入队的子样式表存在问题:在我的CSS深处删除了一个右括号,它是保持文件不被排队,或者保持样式不被应用。

我仍然不确定为什么最后一个(不存在的)样式表出现在标题中,但它不能出列,所以我在SO上应用了以下其他人推荐的代码:

// dequeue ghost duplicate child styles
function remove_assets() {
    wp_dequeue_style('sparkling-style');
    wp_deregister_style('sparkling-style'); 
}

add_action('wp_print_styles', 'remove_assets', 99999);

我不知道这是否是使顽固资产出局的最优雅方式,但似乎有效。