根据wordpress中的类别显示文本

时间:2014-11-27 10:27:39

标签: php wordpress

我该如何解决以下问题。基本上我想根据正在使用的wordpress类别显示不同的子标题。

这是以下代码:

 $categ = the_category(' ');
 if($categ == 'News'){
            $second_header = " secondry header displayed here";
    }else{
            $second_header = "Error";
    }
    ?>
    <h2> <?php the_category(' '); ?></h2>
    <p> <?php echo $second_header; ?></p>

现在这不起作用,而不是检查文本&#39; news&#39;有没有办法检查类别ID?

提前感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容存储当前类别ID:

<?php $catID = the_category_ID($echo=false);?>

echo false会停止页面上的任何回显并存储变量。然后,您可以执行以下操作:

<?php 

$categ = the_category_ID($echo=false);

if($categ == 1)
{
    $second_header = " secondry header displayed here";
}
else
{
    $second_header = "Error";
}

?>

<h2> <?php the_category(' '); ?></h2>
<p> <?php echo $second_header; ?></p>

除此之外,您还可以使用以下内容(因为我认为the_category_ID现已弃用http://codex.wordpress.org/Function_Reference/the_category_ID):

$categories = get_the_category();
$categ = $categories[0]->cat_ID;

if($categ == 1)
{
    $second_header = " secondry header displayed here";
}
else
{
    $second_header = "Error";
}

?>

<h2> <?php the_category(' '); ?></h2>
<p> <?php echo $second_header; ?></p>

答案 1 :(得分:1)

某些类别页面上的不同文字:

<?php if (is_category('Category A')) : ?>
<p>This is the text to describe category A</p>
<?php elseif (is_category('Category B')) : ?>
<p>This is the text to describe category B</p>
<?php else : ?>
<p>This is some generic text to describe all other category pages, 
I could be left blank</p>
<?php endif; ?>

如果您需要类别ID,则需要先通过<?php get_the_category_by_ID( $cat_ID ); ?>获取类别 由于不推荐使用the_category_ID,因此您可以通过一些修改来执行相同的操作。 更多信息 - http://codex.wordpress.org/Category_Templates