Post object 显示术语名称

Post object show term name

如何显示链接到 post object (ACF) 的 post 的术语名称?

通过这段代码,我可以看到 post:

的标题
get_the_title( get_field('which_game')->ID );

要获取 post 的术语名称,您可以使用以下任一函数:

  1. wp_get_post_terms
  2. get_the_terms

它们的工作方式相同,但参数列表略有不同,更重要的是 get_the_terms 适用于缓存数据(使其更快),而 wp_get_post_terms 则不然。

$postObj = get_field('which_game');

// DEPENDING ON WHICH FUNCTION YOU WANT TO USE:
$terms = get_the_terms( $postObj->ID, 'provider');
// OR 
$terms = wp_get_post_terms( $postObj->ID, 'provider' array( 'fields' => 'name') );

// Both functions return arrays, even if there is just 1 term
// so loop through the terms returned to add the names to an array
foreach ($terms as $term) 
    $term_names[] = $term->name;

// turn the array into a comma-separated string (of just the name on its own if there is just 1)
$term_name_str =  implode("','",$term_names);

如果您确定只有 1 个学期,您可以检查是否有返回的任何结果,然后获取第一个:

if (count($terms) > 1) 
    $term_name_str = $terms[0]->name;

但是,第一个示例仅适用于一个学期并且更灵活。

注意 - 此代码未经测试,因此可能存在一些语法错误,但基本概念是正确的。