如何在WP查询内的自定义POST类型循环中获取分类术语

时间:2021-11-30 作者:Behseini

我需要得到term 运行WP查询时的每个帖子。我在圈里试过这个

$term = $loop->get_queried_object();
echo  $term->name; 
但我仍然得到自定义的帖子类型注册名,而不是得到术语!

$args = array(  
        \'post_type\' => \'services\',
        \'post_status\' => \'publish\',
        \'posts_per_page\' => 8, 
        \'orderby\' => \'title\', 
        \'order\' => \'ASC\', 
    );

    $loop = new WP_Query( $args ); 
        
    while ( $loop->have_posts() ) : $loop->the_post(); 

     $term = $loop->get_queried_object();
     echo  $term->name; 

     echo  get_the_title(); 

endwhile;
wp_reset_postdata(); 

1 个回复
SO网友:DinhCode

while ( $loop->have_posts() ) : $loop->the_post(); 
//Edit Width post type
$categories = get_the_terms(get_the_ID(), \'services\');
$separator = \', \';
if ( ! empty( $categories ) ) {
foreach( $categories as $category ) {
echo \'<a class="cat_item" href="\' . esc_url( get_category_link( $category->term_id ) ) . \'" alt="\' . esc_attr( sprintf( __( \'%s\', \'your-themes\' ), $category->name ) ) . \'">\' . esc_html( $category->name ) . \'</a>\' . $separator;
}
}
endwhile;
您可以在循环中尝试

更多信息:https://developer.wordpress.org/reference/functions/get_the_terms/

相关推荐

WP_GET_OBJECT_TERMS()在REST_API_INIT挂接中返回无效的分类

我创建了一个名为“country”的分类法,并创建了一个钩住rest_api_init 里面是wp_get_object_terms($post-ID, \'country\'). 出于某种原因wp_get_object_terms 返回“无效分类”。然而,当我将该函数复制到其他地方(例如,复制到自定义页面模板中)时,它会很好地返回后国家分类术语。有什么帮助吗???以下是我的代码供参考:function myevents_get_post_items() { $args = ar