检查帖子是否属于任何类别

时间:2011-02-09 作者:epaps

在我的主页循环中,我有一些东西可以显示帖子所属的类别。它会说“4小时前在体育杂志上发表的…”。但是,当没有设置类别时,它会忽略该类别(很明显),只会说“4小时前发布者…”。我的问题是:如何检查帖子是否属于WordPress中的任何类别。

我知道函数in_category() 存在,但我希望避免键入所有类别,以防它们发生更改或其他情况。

谢谢

3 个回复
SO网友:Rarst

你可以用is_object_in_term(). 尽管名称不同,如果省略了术语,它也可以检查分类法是否匹配。

is_object_in_term( get_the_ID(), \'category\' );

SO网友:editor

而不是使用get_category() 或任何直接呼应的方法,尝试使用get_the_category(), 它只返回一个类别数组。然后可以旋转这些项并检查它们是否为空()。

可能类似于:

$categories = get_the_category( $post->ID );
if( is_array(categories) && count($categories) > 0 ) {
  foreach( $categories as $category ) {
    $categories_string .= $category . ", ";
  }
  $categories_string = rtrim(", ", $categories_string);
}

if( !empty( $categories_string ) ) {
  echo "Posted 4 hours ago in {$categories_string} by ...";
} else {
  echo "Posted 4 hours ago by ...";
} 
*未经测试

SO网友:Kenny Rodríguez

使用has_category()wp 3.1+需要

结束

相关推荐

Ajax loop refresh on click

我在页面上显示一个随机的post循环。我想放一个“刷新”链接,通过ajax刷新循环的内容。这可能吗?这是我的循环,如果有帮助: <ul id=\"content-inner\" class=\"thumb-grid clearfix\"> <?php query_posts(\'posts_per_page=20&orderby=rand\'); ?> <?php if (have_