如果在帖子列表中选中,则回显类别名称
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;
我正在尝试获取附加到 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;