2017-07-27 84 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); 

我不知道這是否是最優雅的出租固執資產的方式,但似乎有效。