在标签描述中渲染ACF短码失败,寻求技术帮助
解决标签描述中ACF短码不生效的问题
可能原因与对应解决方法
1. 检查ACF字段配置
- 确认字段名
this_meta_data拼写完全正确,无大小写或字符错误 - 字段的「位置」设置需勾选「分类」下的「标签」,确保字段关联到标签数据对象
2. 让分类描述支持短码解析
WordPress默认的term_description过滤器可能未启用短码处理,在主题的functions.php中添加以下代码:
add_filter('term_description', 'do_shortcode');
这段代码会强制解析标签描述中的所有短码,包括ACF的短码。
3. 处理ACF短码的post_id参数
ACF短码默认针对文章/页面,标签作为分类术语,需要指定对应的元数据ID格式term_{标签ID}。如果不想手动写固定ID,可以自定义短码来动态获取当前标签:
在functions.php中添加:
function acf_term_field_shortcode($atts) { $atts = shortcode_atts( ['field' => ''], $atts, 'acf_term' ); if (empty($atts['field'])) return ''; global $wp_query; $current_term = $wp_query->get_queried_object(); if ($current_term instanceof WP_Term) { return get_field($atts['field'], $current_term); } return ''; } add_shortcode('acf_term', 'acf_term_field_shortcode');
之后在标签描述中使用[acf_term field="this_meta_data"]即可正常获取字段值。
4. 清理缓存
- 清除WordPress缓存插件(如WP Rocket、WP Super Cache)的缓存
- 刷新浏览器缓存(Ctrl+F5),避免旧内容干扰
内容的提问来源于stack exchange,提问作者Earl
相关产品推荐
相关产品推荐

