仅获取第一个类别并排除一个类别

时间:2013-02-06 作者:djwd

我如何才能获得一篇文章的第一个类别(链接到类别存档页),而不包括名为“特色”的类别?我找到了各种解决方案,但我无法将它们正确地结合起来。

谢谢

更新时间:

这就是我最终使用的:

$category = get_the_category(); 
$cat_id = get_cat_ID( $name );
$link = get_category_link( $cat_id );

if($category[0]->cat_name == "featured") {
     echo \'<a href="\'. esc_url( $link ) .\'"">\'. $category[1]->cat_name .\'</a>\';
} else {
     echo \'<a href="\'. esc_url( $link ) .\'"">\'. $category[0]->cat_name .\'</a>\';
}

1 个回复
最合适的回答,由SO网友:Adam 整理而成

在post循环中,您可以执行以下操作:,

$category = get_the_category(); 

if($category[0]->cat_name == "featured") {

    //if first category in array is "featured", get next category in line

     $name = $category[1]->cat_name;
     $cat_id = get_cat_ID( $name );
     $link = get_category_link( $cat_id );
     echo \'<a href="\'. esc_url( $link ) .\'"">\'. $name .\'</a>\';

} else {

    //get the first category

     $name = $category[0]->cat_name;
     $cat_id = get_cat_ID( $name );
     $link = get_category_link( $cat_id );
     echo \'<a href="\'. esc_url( $link ) .\'"">\'. $name .\'</a>\';

}
如果您在循环之外,可以将post ID传递给get_the_category($id);

注:其原油。。。你可以简化这个逻辑。

编辑:这里有一个链接,指向使用array_pop 您可以根据自己的情况进行调整:

Get the first post term

结束

相关推荐

Exclude Author by ID

如何从中排除按ID列出的作者:<?php //displays all users with their avatar and their posts (titles) $blogusers = get_users_of_blog(); if ($blogusers) { foreach ($blogusers as $bloguser) { echo \'<div class=\"content-slider-body\">\';&#