WordPress父页面和子页面上的自定义CSS

时间:2013-02-04 02:43:30

标签: wordpress wordpress-theming

相信我,我已经连续几天寻找答案了。我相信答案很简单,但我无法让它发挥作用。我会尝试尽可能具体。

我已经学会了如何为特定的WordPress页面设置css,但是我需要为WordPress父页面及其子页面设置CSS。虽然可以通过将每个页面都包含在我的代码中来实现,但我知道必须有一个更有效的方法,因为我在每个父页面下有大约20个页面。

我在寻找的例子可以在这里找到:(原始网站) www.viewmonthealth.com

我想要完成此任务:www.notthemama.net/prime/

每个主链接指向具有单独css的不同部分。

这就是我所拥有的:

<?php if (is_page('imaging')) { ?>
    <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/viewmont-imaging.css" type="text/css">
<?php } elseif (is_page('labs')) { ?>
    <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/viewmont-labs.css" type="text/css">
<?php } else { ?>
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
<?php } ?>

这适用于页面。我只需要包含父页面(我现在拥有的)和子页面(imaging / forms.php)。我怎样才能做到这一点?任何帮助表示赞赏! :d

2 个答案:

答案 0 :(得分:0)

您可以使用父ID

尝试一些事情
function is_child($pageID) { 
    global $post; 
    if( is_page() && ($post->post_parent==$pageID) ) {
               return true;
    } else { 
               return false; 
    }
}

将此功能放入您的功能中

<?php if (is_child(12)) { ?>
    <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/viewmont-imaging.css" type="text/css">
<?php } elseif (is_child(14)) { ?>
    <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/viewmont-labs.css" type="text/css">
<?php } else { ?>
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
<?php } ?>

希望这就是你要找的东西。 :)

答案 1 :(得分:0)

更精简的方法是使用以下条件检查,实际上不需要自定义函数:

if ( $post->post_parent == 2 ) { ?>
    <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/viewmont-imaging.css" type="text/css">
<?php } ?>