在Wordpress中每页自定义CSS

时间:2010-08-19 15:25:38

标签: css wordpress

早安全,

我为网站中的某些网页创建了不同的背景和一些其他图片。目前,以下代码与我们网站上的“儿童”页面配合得很好。

<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 个答案:

答案 0 :(得分:5)

另一个选择就是替换

<body>

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

然后您可以通过css将其定位,如下所示:

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

ID是您要定位的网页/父网页的ID。这将使您的模板不受逻辑限制,并允许您使用当前方法使用的相同自定义选项。

答案 1 :(得分:3)

想出我需要''围绕他们

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

答案 2 :(得分: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';
    }

&GT;

谢谢,我希望这有帮助!

答案 3 :(得分: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