Get Post Primary Category

时间:2018-11-30 作者:SengelYTPI

我在获取posts主集合类别时遇到了问题。我应该如何做到这一点?

我的代码:

global $post;
$terms = get_the_terms( $post->ID, \'event-categories\');

if($terms) {
    foreach( $terms as $term ) {
        $cat_obj = get_term($term->term_id, \'event-categories\');
        $cat_slug = $cat_obj->slug;
    }
}
在我的html中

<div class="post_kachel <?php echo $cat_slug; ?>">

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

给你。将此添加到函数。php并从任何您想要的地方调用它。

function get_post_primary_category($post_id, $term=\'category\', $return_all_categories=false){
        $return = array();

        if (class_exists(\'WPSEO_Primary_Term\')){
            // Show Primary category by Yoast if it is enabled & set
            $wpseo_primary_term = new WPSEO_Primary_Term( $term, $post_id );
            $primary_term = get_term($wpseo_primary_term->get_primary_term());

            if (!is_wp_error($primary_term)){
                $return[\'primary_category\'] = $primary_term;
            }
        }

        if (empty($return[\'primary_category\']) || $return_all_categories){
            $categories_list = get_the_terms($post_id, $term);

            if (empty($return[\'primary_category\']) && !empty($categories_list)){
                $return[\'primary_category\'] = $categories_list[0];  //get the first category
            }
            if ($return_all_categories){
                $return[\'all_categories\'] = array();

                if (!empty($categories_list)){
                    foreach($categories_list as &$category){
                        $return[\'all_categories\'][] = $category->term_id;
                    }
                }
            }
        }

        return $return;
    }   

相关推荐

如果作者没有帖子,则Auth.php不显示内容

我正在制作一个自定义的创世主题,并有一个自定义的作者。php文件,该文件拉入各种自定义字段(使用高级自定义字段),并将作者配置文件页面中的作者元信息添加到页面中。。。它还显示他们的最新帖子。如果作者已经为其分配了帖子,那么这一点非常有效。如果没有,页面将不会输出通常从作者档案中提取的任何内容。。。我搜索了StackExchange,虽然这已经被提到过几次,但我似乎找不到一个有效的答案。我需要作者。php页面输出作者信息,无论用户是否有帖子。如果没有,配置文件元和自定义字段仍应显示,最近的帖子部分不应显示其