多个wordpress类别IF条件标签

时间:2014-03-10 11:41:51

标签: php wordpress categories conditional-statements

大家好,我前几天发布了一个关于使用条件标签的问题,我设法解决了这个问题。

我遇到了另一个障碍,我设法通过说"如果有任何帖子在博客'类别回声' [博客]'"但我试图在博客类别和其他类别中显示帖子。我读到要使用多个条件标签来使用' elseif'我有,但它似乎没有做任何事情。以下是我使用的代码:

<h2>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
        <?php if (in_category ('blogs')) { ?>
            <?php _e('[BLOG]'); ?>
        <?php } elseif (in_category ('blogs', 'showstopper-spillings')) { ?>
            <?php _e('[BLOG] Showstopper Spillings:'); ?>
        <?php } ?>
        <?php the_title(); ?>
    </a>
  </h2>

不确定我是否遗漏了任何东西,甚至不知道我想要做什么。任何帮助或建议将不胜感激。

4 个答案:

答案 0 :(得分:2)

in_category一次只能使用一个类别。因此,您需要使用复合语句来评估多个类别。

<?php  
if (in_category ('blogs')) { 
        _e('[BLOG]');
} elseif (in_category ('other_category')) {
        _e('Other Category:');
} ?>

other_category替换为所需类别的类别ID或类别名称或类别slug。

答案 1 :(得分:1)

PHP的loks和WP的PHP看起来一样好,所以我认为这是调用WP函数的问题。你有in_category ('blogs', 'showstopper-spillings')但看起来第二个参数就是post id。

Usage in_category( $category, $_post )

$类别 (mixed)(必需)由ID(整数),名称或slug(字符串)或这些类别的数组指定的一个或多个类别 默认值:无

$ _ POST (mixed)(可选)帖子(整数ID或对象)。默认为循环中的当前帖子或主查询中的帖子。 默认值:无

假设“showstopper-spillings”只是另一个类别,代码应该只是`in_category ('showstopper-spillings')

编辑:如果您想立即捕获两个,您可以if(in_category ('blogs') || in_category('showstopper-spillings'))两个管道“||”意思是“或”

答案 2 :(得分:0)

您可以通过使用php的双管进行比较来轻松完成此操作,这样可以正常工作..

示例:

<?php
 if( in_category('category-1') || in_category('category-2') ){
  //Do Something
 }
?>

希望这有助于其他人,因为我知道这是一篇较老的帖子。

答案 3 :(得分:0)

in_categoryis_category确实采用了以下类别的数组:

<?php if ( in_category(array('category-1', 'category-2')) ): ?>
  //do something
<?php endif; ?>

<?php if ( is_category(array('category-1', 'category-2')) ): ?>
  //do something
<?php endif; ?>

注意:版本2.5中添加了阵列功能。