从术语 id 中获取分类名称的名称

Get name of the taxonomy name from the term id

我有一个自定义用户注册字段调用国家、商店、公司(它们都是分类法)。

例如。分类=国家&tag_ID=36&post_type=公司

$country_tagid = the_field('country', 'user_'.$user_id->ID); //This output 36
$countrydata = get_terms('country',array('id'=>$country_tagid)); // 
echo $countrydata->name; //return nothing
$getcountrydata = get_term( $country_tagid );
print ($getcountrydata->name); //return nothing

全都没有return名字。我希望它 return 'Thailand'。怎么了?

编辑: 奇怪,我手动进入了我的用户循环之外。

<?php
    $catinfo = get_term_by( 'id', 36, 'country' );
    print $catinfo->slug; //thailand
?>

这行得通。 我怀疑这里有问题

$country_tagid = the_field('country', 'user_'.$user_id->ID); //This output 36

此行打印 36。现在我正在尝试 get_field。但它 return 我 arr

试试这个: https://developer.wordpress.org/reference/functions/get_terms/

$countrydata = get_terms('country',array( 'include' => array( $country_tagid )); 

//

认为 get_terms 的语法错误。

我发现这一行是错误的。它没有将值 36 存储在变量中。相反,它会显示它。

$country_tagid = the_field('country', 'user_'.$user_id->ID); //This output 36

我改为get_field。

$country_tagid = get_field('country', 'user_'.$user_id->ID); //This output 36

我通过

检索ID
$countryid= $country_tagid[0];

然后通过以下方式检索国家名称:

$catinfo = get_term_by( 'id', $countryid, 'country' );
$countryname= $catinfo->name;

所以完整代码:

$country_tagid = get_field('country', 'user_'.$user_id->ID);
$countryid= $country_tagid[0];
$catinfo = get_term_by( 'id', $countryid, 'country' );
$countryname= $catinfo->name;