我想显示某些wordpress类别,但也要显示某些帖子类型-视频。 多数民众赞成代码仅返回默认帖子中的类别。
function my_vc_shortcode( $atts ) {
return '
<ul class="categories">
'.wp_list_categories( array(
'orderby' => 'name',
//'post_type' => 'video',
'include' => array(20216, 20375, 20216),
'title_li' => '',
) ).'
</ul>
';
}
add_shortcode( 'my_vc_php_output', 'my_vc_shortcode');
答案 0 :(得分:0)
将post_type添加到查询中。 'post_type' => 'video'
function my_vc_shortcode( $atts ) {
return '
<ul class="categories">
'.wp_list_categories( array(
'post_type' => 'video',
'orderby' => 'name',
//'post_type' => 'video',
'include' => array(20216, 20375, 20216),
'title_li' => '',
) ).'
</ul>
';
}
add_shortcode( 'my_vc_php_output', 'my_vc_shortcode');
答案 1 :(得分:0)
wp_list_categories()
函数没有post_type
参数。检查食典https://developer.wordpress.org/reference/functions/wp_list_categories/。
此外,WordPress中的分类法可以与个以上帖子类型相关联。帖子类型可能具有多个分类类型。
但是,有一个taxonomy
参数可用于wp_list_categories()
函数。像这样:
wp_list_categories( array(
'orderby' => 'name',
'taxonomy' => 'video_category' // taxonomy name
) )
如果在不同的存档页面上使用此代码,那么我们可以添加另一个函数来更改分类名称,具体取决于当前循环的发布类型。将此插入您的 functions.php :
function get_post_type_taxonomy_name(){
if( get_post_type() == 'some_post_type' ){ // post type name
return 'some_post_type_category'; // taxonomy name
} elseif( get_post_type() == 'some_another_post_type' ){ // post type name
return 'some_another_post_type_category'; // taxonomy name
} else {
return 'category'; // default taxonomy
}
}
这在您的模板文件中:
<?php echo wp_list_categories( [
'taxonomy' => get_post_type_taxonomy_name(),
'orderby' => 'name'
] ); ?>