我总是讨厌分类学,它太混乱了。我正在使用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。但它让我回复了
答案 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;