【发布时间】:2020-01-10 11:15:10
【问题描述】:
我的 WordPress 项目有几个仅在内部使用的类别,我不希望在前端使用它们。当我想显示分配给帖子的第一个类别时,这会导致问题。
我要做的是使用get_the_category 循环遍历分配的类别,直到我到达一个不是Uncategorised 或Event 的类别。我试过使用continue 和break 没有成功。
$categories = get_the_category();
if ( ! empty( $categories ) ) {
foreach( $categories as $category ) :
$category_name = $category->cat_name;
if ( $category_name == 'Uncategorised' || $category_name == 'Event' ) continue;
$category = esc_html( $category_name );
break;
endforeach;
}
echo $category;
我希望这会将 not Uncategorised 或 Event 的第一个类别名称显示为字符串,尽管结果不一致,它返回对象甚至不需要的名称。任何帮助将不胜感激。
更新
我最终使用了这个:
$categories = get_the_category();
if( $categories ) {
foreach( $categories as $category ) :
$category_name = $category->cat_name;
if ( $category_name == 'Uncategorised' || $category_name == 'Event' ) continue;
$category = esc_html( $category_name );
break;
endforeach;
if( ! is_string( $category ) ) {
$category = null;
}
}
但是,我很确定它可以以不那么冗长的方式完成,而且我也不确定如果两个排除类别都没有找到,则会出现非字符串结果。我仍然会感谢一些专家的意见。
【问题讨论】:
标签: php wordpress foreach categories