大家好,我前几天发布了一个关于使用条件标签的问题,我设法解决了这个问题。
我遇到了另一个障碍,我设法通过说"如果有任何帖子在博客'类别回声' [博客]'"但我试图在博客类别和其他类别中显示帖子。我读到要使用多个条件标签来使用' 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>
不确定我是否遗漏了任何东西,甚至不知道我想要做什么。任何帮助或建议将不胜感激。
答案 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_category和is_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中添加了阵列功能。