我有以下声明
<?php
if (!is_page('home')) {
?>
<div id="grey-bar">
<h1><?php the_title(); ?></h1>
</div>
<?php }
?>
<?php
if (is_single()) {
?>
<div id="grey-bar">
<h1>BLOG</h1>
</div>
<?php }
?>
第一部分是OK,第二部分没有删除php标签的the_title部分,它只是在帖子标题后添加了单词BLOG。如何删除the_title并将其替换为BLOG?
由于
答案 0 :(得分:1)
如果页面不是主页,它也可以是单页。逻辑结构的方式,两个子句都将执行。
您可能希望这样做:
<?php if (!is_page('home')): ?>
<div id="grey-bar">
<h1><?php the_title(); ?></h1>
</div>
<?php elseif (is_single()): ?>
<div id="grey-bar">
<h1>BLOG</h1>
</div>
<?php endif; ?>
括号语法也可以,但嵌入html时更容易阅读。
答案 1 :(得分:0)
is_single用于测试某些内容是否为帖子类型的模板。我不认为帖子可以成为主页。页面本身可以设置为设置 - &gt;阅读 - &gt;前页...
中的首页你可以使用这些:
// check by page id
if (is_page(PAGENUM)){...}
//returns TRUE when the main blog page is being displayed and the
//Settings->Reading->Front page displays is set to "Your latest posts"
if (is_front_page()){...}
// Return TRUE if page type. Does not work inside The Loop
if (is_page(PAGENUM)){...}
// Checks if the post is a post type. Returns FALSE if its a page.
is_single()
所以,因为!is_page('home')将在is_single()
上返回TRUE<?php
if (is_home()) { // do this on home page only
?>
<div id="grey-bar">
<h1><?php the_title(); ?></h1>
</div>
<?php }
?>
<?php
if (is_single()) { //displays this stuff if its a post type only
?>
<div id="different-bar">
<h1>BLOG</h1>
</div>
<?php }
?>