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

如何在author.php页面正常显示分类下的ACF自定义字段

问题原因

你给分类添加的自定义字段是绑定在分类法术语对象上的,get_queried_object() 函数在不同类型的存档页返回的对象类型完全不同:

  • 分类存档页:返回对应分类的术语对象,所以你原来的代码可以正常读取绑定在分类上的字段值
  • 作者存档页:返回的是当前页面对应作者的WP_User对象,和分类没有关联,自然无法读取到分类的自定义字段值。就算删除author.php回退到用archive.php模板也不会生效,因为模板只是渲染层,当前页面的查询对象已经是用户而非分类,和用什么模板无关。

解决方法

根据你的使用场景选对应的代码即可:

场景1:作者页循环内每篇文章后展示该文章所属分类的字段值

把以下代码加到你给出的循环代码之后(也就是the_post()之后的循环体内)即可:

<?php
// 获取当前文章关联的第一个分类,可根据需求调整为取指定分类法的分类
$post_categories = get_the_category();
if (!empty($post_categories)) {
    $target_category = $post_categories[0];
    echo get_field('students_no_class', $target_category);
}
?>

场景2:作者页全局展示固定分类的字段值

如果你要在作者页的任意位置展示某个固定分类的字段值,直接传入分类ID参数即可:

<?php 
// 把下方的12替换为你目标分类的实际ID
echo get_field('students_no_class', 'category_12'); 
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:33:01