数组,以使用get_the_category()排除特定类别显示为FIRST类别

时间:2016-09-06 12:03:40

标签: php wordpress function

我使用此代码在我的网页模板上显示帖子的仅第一类,但我需要找到一种方法从中排除某些特定类别

$category = get_the_category(); echo $category[0]->cat_name;?

示例:

让我们说我有一个关于树类别的帖子:" admin cat" " admin cat2" " item cat" 。如果我使用此功能,输出将为:

此帖子位于" admin cat"

我需要它:

这篇文章位于" item cat"

是否可以在我的代码的输出中添加将被省略的猫数组,或者我应该使用其他方法?

2 个答案:

答案 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'

?>