我使用此代码在我的网页模板上显示帖子的仅第一类,但我需要找到一种方法从中排除某些特定类别
$category = get_the_category(); echo $category[0]->cat_name;?
示例:
让我们说我有一个关于树类别的帖子:" admin cat" 和" admin cat2" 和" item cat" 。如果我使用此功能,输出将为:
此帖子位于" admin cat" !
我需要它:
这篇文章位于" item cat" !
是否可以在我的代码的输出中添加将被省略的猫数组,或者我应该使用其他方法?
答案 0 :(得分:0)
试试这个:https://wordpress.org/support/topic/exclude-categories-from-the_category/
<?php the_excluded_category(array(1,328,338,339)); ?>
function the_excluded_category($excludedcats = array()){
$count = 0;
$categories = get_the_category();
foreach($categories as $category) {
$count++;
if ( !in_array($category->cat_ID, $excludedcats) ) {
echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "Cortos de %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
if( $count != count($categories) ){
echo ", ";
}
}
}
}
答案 1 :(得分:0)
只需遍历您的类别数组,并将每个项目与排除类别的数组进行匹配。这将返回第一个不匹配的类别。
function getCategory() {
$categories = array('admin cat','admin cat2', 'item cat', 'some other cat', 'dog');
$excluded_categories = array('admin cat','admin cat2');
foreach($categories as $category) {
if (!in_array($category,$excluded_categories)) {
return $category;
}
}
return false;
}
echo getCategory();
// outputs 'item cat'
?>