Wordpress - 从术语id(ACF)获取分类名称的名称

时间:2017-04-23 21:32:12

标签: wordpress categories advanced-custom-fields taxonomy term

我总是讨厌分类学,它太混乱了。我正在使用ACF。我有一个自定义用户注册字段调用country,outlet,company(他们都是分类法)。

EG。分类学=国家&安培; 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

所有人都没有回复这个名字。我希望它能回归'泰国'。有什么问题?

编辑: 奇怪的是,我在我的用户循环之外手动输入。

<?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。但它让我回复了

2 个答案:

答案 0 :(得分:0)

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

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

//

认为get_terms的语法错误。

答案 1 :(得分:0)

我发现这条线路错了。它没有将值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;