自定义模板的条件语句

时间:2014-07-03 18:04:45

标签: php wordpress conditional-statements

我有2个模板文件,一个模板文件是front-page.php,另一个模板是自定义模板。基本上下面的代码说明如果它是首页然后使用这个body类,但如果它的其他任何东西然后使用其他body类。我想要做的是让我的新模板使用与front-page.php相同的body类。我遇到了一些问题。所以基本上,它需要是#34;如果首页或custom-template.php然后使用身体类别的其他所有" innerbody"

<?php if(w3c()){ ?><?php if(is_front_page() || is_page_template ('page-templates/front-page.php')){?><body> <?php } else{ ?><body id="innerbody"><?php } ?>

2 个答案:

答案 0 :(得分:2)

通常使用的函数是body_class(),通常在HTML正文标记的header.php模板中使用。此函数添加的默认类基于显示的特定页面,因此它们本身就是大多数内容的解决方案。

您可以使用body_class过滤器添加其他正文类,将以下内容添加到functions.php文件中:

add_filter( 'body_class', function( $classes ) {
    // add custom class to the $classes array and return the $classes array
    if ( is_front_page() || is_page( 'page-slug' ) ) {
        $classes[] = 'innerbody';
    }
    return $classes;
});

现在,您可以在该函数中使用conditional tags来测试必须满足的条件,以便采取特定操作,在这种情况下,可以向body标记添加其他类。我建议您同时查看Template Hierarchy文档,这是了解WordPress中主题和模板概念的第一步。

答案 1 :(得分:0)

只需在您的is_page_template()功能中添加另一个if()来电,在||中添加另一个或(if())。

<?php if(w3c()){ ?>
        <?php if(is_front_page() || is_page_template ('custom-template.php') || is_page_template ('page-templates/front-page.php')){?>
            <body>
        <?php } else{ ?>
            <body id="innerbody">
        <?php } ?>