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

WordPress如何正确输出WP_Term对象中的name字段值到HTML页面

问题原因

你调用的get_the_terms() 函数返回值是WP_Term对象组成的索引数组,不是单独的WP_Term对象,你直接对数组调用->name属性自然无法获取到值。从你贴的var_dump结果也能看到,最外层是size=1的数组,第一个索引0对应的位置才是你要的Nebraska对应的term对象。

正确实现代码

单分类场景(每篇文章仅归属一个state分类)

适配你当前的使用场景,代码如下:

// 获取当前文章state分类法对应的分类项
$term_obj_list = get_the_terms( $post->ID, 'state' );
// 增加合法性判断,避免无分类、分类法不存在等异常场景报错
if ( $term_obj_list && ! is_wp_error( $term_obj_list ) ) {
    // 取数组第一个元素的name属性,转义后输出到h1标签
    echo '<h1>' . esc_html( $term_obj_list[0]->name ) . '</h1>';
}

这里额外加esc_html()是WordPress官方推荐的安全处理逻辑,可避免潜在的XSS风险。

多分类场景(文章可归属多个state分类)

如果后续有单篇文章关联多个state分类的需求,可使用以下代码批量输出所有分类名称:

$term_obj_list = get_the_terms( $post->ID, 'state' );
if ( $term_obj_list && ! is_wp_error( $term_obj_list ) ) {
    $term_names = wp_list_pluck( $term_obj_list, 'name' );
    echo '<h1>' . esc_html( implode( '、', $term_names ) ) . '</h1>';
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:36:03