我有一个循环来显示自定义帖子类型“workshop”的帖子。在循环中,我使用wp_get_object_terms()
.
它工作得很好。然而,我很难控制分类法在显示时的顺序。它应该总是在第一个“区域”,然后是“组”。
显示相关分类的代码:
<?php $workshop_terms = wp_get_object_terms( $post->ID, array( \'area\', \'group\' ) );
if ( ! empty( $workshop_terms ) ) {
if ( ! is_wp_error( $workshop_terms ) ) {
foreach( $workshop_terms as $term ) {
echo esc_html( $term->name );
}
}
} ?>
谢谢你。
最合适的回答,由SO网友:Sally CJ 整理而成
wp_get_object_terms()
接受第三个参数,该参数是array of arguments 传递给WP_Term_Query::get_terms
它为特定的term请求运行实际的SQL查询,其中一个参数命名为orderby
它接受以下术语字段name
和taxonomy
.
因此,您可以使用第三个参数并设置orderby
到taxonomy
(和order
到ASC
) 像这样:
$workshop_terms = wp_get_object_terms( $post->ID, array( \'area\', \'group\' ), array(
\'orderby\' => \'taxonomy\',
\'order\' => \'ASC\',
) );
或者另一种方式,当然是打电话
wp_get_object_terms()
每种分类法一次。。。✌