在几个小时毫无成果的google搜索之后,我请求您在这个问题上提供帮助。
我的目标是,如果类别ID与get\\u the\\u category函数中设置的ID或slug匹配,则仅显示一个带有get\\u the\\u category的类别。基本上,我要求的是这样的东西:假设有一个标题为“重要”的类别。我想排除分配给该职位的所有其他类别,并且仅在该职位属于该类别时显示“重要”。如果帖子不重要,则不应显示任何内容。这应该太难了,但我能想出来。
这是我找到的最接近这一点的东西,但它只显示帖子的第一个类别,没有按ID或slug手动选择的选项:
<?php
$category = get_the_category();
if($category[0]){
echo \'<a href="\'.get_category_link($category[0]->term_id ).\'">\'.$category[0]->cat_name.\'</a>\';
}
?>
感谢您的贡献。
最合适的回答,由SO网友:Michelle 整理而成
我想你可以这样做:
$categories = get_the_category();
$displayed_category_id = 1; // set this to the category ID you want to show
$output = \'\';
if($categories){
foreach($categories as $category) {
if ( $displayed_category_id == $category->term_id) {
$output .= \'<a href="\'.get_category_link($category->term_id ).\'" title="\' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . \'">\'.$category->cat_name.\'</a>\';
}
}
echo $output;
}
它可能不是最有效的代码(而且未经测试),但它应该可以工作。。。?
如果ID不是您想要使用的键,那么您可以很容易地交换slug或category名称。祝你好运!