您的代码完全颠倒和混乱。您要做的是检查特定术语,然后将其输入到get_the_term_list()
, 而不是相反。此外,请评估您的切换是否为true。
我可能会首先在帖子中附加一个术语数组,然后检查我想要的术语是否在该数组中,以使我的陈述更有效率。为此,我将使用wp_get_post_terms()
只有当这是您测试的对象时,才能获得术语名称
说到这里,你可以试试这样的东西;(警告:未经测试)
$terms = wp_get_post_terms( $post->ID, \'TAXONOMY NAME\', array( \'fields\' => \'names\' ) );
switch (true) {
case in_array( \'John Doe\', $terms ):
$name = \'john\';
break;
case in_array( \'Mark Webber\', $terms ):
$name = \'mark\';
break;
case in_array( \'Jane Smith\', $terms ):
$name = \'jane\';
break;
default:
$name = \'author\';
}
echo get_the_term_list( $post->ID, \'TAXONOMY NAME\', $name, \', \' );