如果在帖子列表中选中,则回显类别名称

Echo category name if checked in a list of posts

我正在尝试获取附加到 Wordpress 中自定义 post 类型的所有类别。

我有一个名为 doc_pipeline 的自定义 post 类型和一个名为 tax_pipeline 的自定义分类。我已经为此搜索了几个小时,但我无法将正确的功能放在一起来实现这一目标。重复一下,我需要获取一个类别名称,该名称仅在选中时附加到自定义 post 类型。应该相当简单,但我很迷茫。

    $args = array(
        'post_type' => 'doc_pipeline',
        'taxonomy' => 'tax_pipeline',
        'posts_per_page' => -1
    );

    $categories = get_categories( $args );

    $posts = get_posts($args);

foreach($posts as $post) {
   var_dump(is_object_in_term( $post->ID, 'tax_pipeline', 'doc_pipeline'));
}

要通过 post id 获取 post 的类别名称,您应该像这样使用。 您已经拥有 post ID,因此您不必传递 post 类型。

$cat_array = wp_get_post_terms($post->ID, 'tax_pipeline', array('fields'=>'names'));

// 要从循环中删除重复的类别,试试这个。

$unique_terms = array(); // instead of $dupe = 0;

while ( $wp_query->have_posts() ) : $wp_query->the_post();
global $post;
    //Ok, Then you have to use like this in your loop.
    $cat_array  = wp_get_post_terms( $post->ID, 'tax_pipeline', array( 'fields' => 'all' ) );
    foreach( $cat_array as $term ) :
        if( ! in_array( $term->term_id, $unique_terms ) ):
            array_push( $unique_terms, $term->term_id );
            echo $term->name;
        endif;
    endforeach; 
endwhile;