我有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 } ?>
答案 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 } ?>