You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何显示ACF Post Object关联文章的术语名称?

获取ACF关联文章的术语名称

嘿,这个需求其实很简单,你已经拿到了关联文章的ID,接下来只需要借助WordPress内置的函数就能轻松拿到对应的术语名称,我给你分情况拆解:

基础实现步骤

首先,先把关联文章的ID存成变量,让代码更清晰易读:

// 获取关联文章的ID
$game_post_id = get_field('which_game')->ID;

接下来,使用get_the_terms()函数获取该文章对应的术语——这里要注意,你需要明确术语所属的分类法slug(比如默认文章分类是category,如果是自定义分类法,就换成你创建时设置的slug,比如game_genre)。

情况1:只显示第一个术语名称

如果关联文章只属于一个术语,或者你只需要展示第一个术语,代码可以这么写:

// 获取指定分类法下的术语,记得替换成你的分类法slug
$game_terms = get_the_terms($game_post_id, 'category');

// 检查是否有术语且无错误
if ($game_terms && !is_wp_error($game_terms)) {
    // 提取第一个术语的名称并输出
    $first_term_name = $game_terms[0]->name;
    echo $first_term_name;
}

情况2:显示所有关联的术语名称(带分隔符)

如果文章属于多个术语,想要全部展示出来(比如用逗号分隔),可以这么处理:

$game_terms = get_the_terms($game_post_id, 'category');

if ($game_terms && !is_wp_error($game_terms)) {
    // 把所有术语名称提取到数组里
    $term_names = wp_list_pluck($game_terms, 'name');
    // 用逗号分隔输出所有术语
    echo implode(', ', $term_names);
}

关键注意点

  • 一定要替换代码里的'category'为你实际使用的分类法slug,不然会拿不到正确的术语。
  • 加上错误判断(!is_wp_error($game_terms))很重要,能避免因为分类法不存在或者文章没有关联术语导致的报错。

内容的提问来源于stack exchange,提问作者Maanstraat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 11:28:16