0

私は次の声明を持っています

<?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 }
?>   

最初の部分は問題ありません。2 番目の部分は、php タグの the_title 部分を削除せず、投稿タイトルの後に BLOG という単語を追加するだけです。the_title を削除して BLOG に置き換えるにはどうすればよいですか?

ありがとう

4

2 に答える 2

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 に埋め込むと読みやすくなります。

于 2013-08-10T00:12:05.727 に答える
0

is_single は、何かがテンプレートの投稿タイプであるかどうかをテストすることです。また、投稿がホームページになることはないと思います。[設定] -> [閲覧] -> [フロント ページ...] で、ページ自体をフロント ページとして設定できます。

これらを使用できます:

// 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 }
?>  
于 2013-08-10T00:51:20.440 に答える