2017-07-27 111 views
1

我是新的WordPress开发,并试图建立一个简单的儿童主题。我要去疯狂试图让子样式覆盖由父主题入队的引导样式。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头元素,它仍然浮到左边,由于引导样式:

bootstrap.min.css?ver=4.8:5 

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

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

  1. 为什么我的孩子主题造型不覆盖引导样式?
  2. 头部最后的样式表(sparkling-style-css)在哪里?我认为这是之前尝试排队的阴影,早已从我的functions.php文件中删除。

任何帮助非常感谢!我已经尝试将入队文件重新入队,但这似乎没有帮助,并且出现了设计的其他部分。

+0

您是否可以发布您的header.php文件代码以及可能的网站实时链接? – pomaaa

+0

关于第二个样式表,我认为这是因为WordPress自动将style.css与'sparkling-style'名称一起包含在内。你使用'child-theme',所以它不会覆盖它。试着把它排成波光粼粼的样式,它应该没问题。 – Aioros

+0

嘿@pomaaa,我刚刚更新了这个问题,因为我发现了我的错误。感谢您伸出援助之手。 – katcalavera

回答

0

经过几个小时的研究,并通过排队代码和PHP,结果发现我试图排队的子样式表存在问题:右括号已被删除到我的CSS深处,并且它要么保持文件不被排队,要么保持样式不被应用。

我仍然不知道为什么最后一个(不存在)的样式表是在头部出现,但它是被出队的抵抗,所以我申请推荐别人上,因此将下面的代码:

// 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); 

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