2013-10-16 96 views
0

我目前一直在自定義Wordpress中包含的標準2013主題,製作標準的子主題並添加到style.css樣式表的底部。Wordpress新聞自定義CSS頁面

這對我所有的頁面都適用,但是有一種情況是我需要爲新聞頁面定製樣式表'news.css'。

我已經嘗試將下面的代碼添加到header.php文件中,就在結束標記之前,以確保它不會被其他css文件推翻。

<?php 
     if (is_page('news')) { ?> 
      <link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/news.css"> 

    <?php } else { 
    } 
?> 

的news.css文件在子主題的根目錄下,並且URL是www.__.com/news/但我仍然不能得到WordPress的加載,當新聞頁面上此文件。

我需要做什麼才能讓這個樣式表加載,只爲這個頁面?

在此先感謝。

編輯:找到解決方案 - 新聞頁面(作爲我的帖子頁面)將.blog類應用於body標籤。在master css文件中使用.blog,我現在可以專門調整這個頁面的CSS!謝天謝地!

+0

你是否會得到另一個鏈接標籤,即使在新聞頁面上也有默認樣式表? – sathishn

+0

是的 - style.css正常工作。這已被複制到我的子主題目錄並添加到。 –

+0

我的問題是你確定is_page('news')有效,你需要看看它是不是顯示正確的url或是否不會進入if塊 – sathishn

回答

0

我看你已經通過使用CSS選擇器,使該規則只適用於你想讓他們的頁面固定的問題(你的情況.blog類工作良好。

這是相當很多是這些天做事的標準方式

但是我只是想把它放在這裏供以後參考,以防將來任何人需要它。下面的函數'enqueues'樣式表,並且是添加額外樣式表的正確方法。該功能註冊並排隊2個新樣式表。

function load_additional_styles() { 
    wp_register_style('second-style', get_template_directory_uri() . '/style2.css'); 
    wp_enqueue_style ('second-style'); 
    wp_register_style('third-style', get_template_directory_uri() . '/style3.css'); 
    wp_enqueue_style ('third-style'); 
} 

add_action('wp_enqueue_scripts', 'load_additional_styles'); 

它也可以將這些函數中使用條件等等(使用上面的問題爲例子),你可以做這樣的事情

function load_additional_styles() { 
    if (is_page('news')) { 
     wp_register_style('second-style', get_template_directory_uri() . '/style2.css'); 
     wp_enqueue_style ('second-style'); 
     wp_register_style('third-style', get_template_directory_uri() . '/style3.css'); 
     wp_enqueue_style ('third-style'); 
    } 
} 

add_action('wp_enqueue_scripts', 'load_additional_styles'); 

在上面的代碼樣式表將只被添加在is_page('news')回報true