2010-08-19 46 views
3

早上好,Wordpress中每頁的自定義CSS

我爲我們網站內的某些頁面創建了不同的背景和其他一些圖片。目前,以下代碼與我們網站上的「孩子」頁面配合良好。

<body<?php if (is_page(array('kids'))) { 
echo ' class="kids" '; } ?>> 

我想知道如何去添加相同的CSS到「在」孩子頁面下的其他頁面。所以,如果你去孩子們/塊派對,我會如何將它添加到代碼來調用特殊的CSS?

我曾嘗試以下

<body<?php if (is_page(array('kids, kids/block-party'))) { 
echo ' class="kids" '; } ?>> 

逗號似乎並沒有因爲某些原因註冊。

這是一個wordpress運行網站。

感謝

回答

4

另一種選擇是簡單地用

<body <?php body_class(); ?>> 

更換

<body> 

您就可以指定它它通過CSS如下所示:

body.page-id-2, body.parent-pageid-2 { background-color: red; } 

其中ID是您定位的頁面/父頁面的ID。這將使您的模板保持邏輯清晰,並允許您使用當前方法使用的相同自定義選項。

+1

感謝您的支持,我最終可能會使用該代碼。 – 2010-08-19 18:38:55

3

想通了,我需要的'身邊

<body<?php if (is_page(array('newsletter-1', 'newsletter-2', 'newsletter-3'))) { echo ' class="myclass" '; } ?>> 
1

我可能想過這個,但這是我的解決方案。

下面的腳本自動獲取特定父頁面的所有子項並打印出您需要的類。如果您不想手動更新子頁面列表,該解決方案非常適用。

這正好在你的header.php文件:

<?php 
    //set page id 
      $page_id = '98'; 

      //get page's children 
    $children = get_pages('child_of='.$page_id); 
    foreach($children as $child){ 
     $children_ids = $child->ID; 
    } 

    if(is_page($page_id) || is_page($children_ids)){ 
     echo 'class="kids'; 
    } 

>

謝謝,我希望這有助於!

1

說明: 我知道3個當前的答案是WP的這個問題的一個常見的解決方案,但實際上,我討厭它。它產生臃腫的HTML和單片CSS:/

答: 你可以使用分配給任意數量的頁面模板文件中添加特定的CSS/JavaScript的,像這樣:

<?php 
function my_scripts_method() { 
    wp_deregister_script('jquery'); 
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); 
    wp_enqueue_script('jquery'); 
}  

add_action('wp_enqueue_scripts', 'my_scripts_method'); 
?> 

來源:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

+0

爲你的仇恨+1 – 2013-02-01 13:08:41