如何在WooCommerce产品标签后台显示ACF自定义文本字段?
解决WooCommerce产品标签后台显示ACF字段无内容的问题
你的代码存在几个关键问题,导致ACF字段无法正常显示:
- 钩子
manage_product_tag_custom_column的第二个参数是产品标签的术语ID(term ID),而非产品ID,原代码错误地当成了产品ID来处理 - 逻辑顺序颠倒,应该先判断当前列是否为目标列,再执行字段获取操作
- 不必要的遍历操作,且
return语句会直接终止函数,导致后续输出代码无法执行
修正后的代码如下:
// 添加自定义列标题 add_filter( 'manage_edit-product_tag_columns', 'tag_category_column_admin', 9999 ); function tag_category_column_admin( $columns ){ $columns['tag_category'] = 'Tag Category'; return $columns; } // 填充自定义列内容 add_action('manage_product_tag_custom_column', 'tag_category_column_admin_content', 10, 2); function tag_category_column_admin_content( $column, $term_id ){ // 仅处理目标列 if( $column == 'tag_category' ){ // 直接通过term ID获取ACF字段 $category_value = get_field('tag_category', 'product_tag_' . $term_id); // 输出字段值,为空时显示占位符 echo $category_value ? $category_value : '无'; } }
关键说明:
- ACF获取术语字段的正确方式:
- 格式为
get_field('字段名', '分类法名_术语ID'),这里分类法是product_tag,所以拼接为product_tag_$term_id - 也可以传入term对象:
get_field('tag_category', get_term($term_id, 'product_tag')),效果一致
- 格式为
- 增加了空值判断,避免单元格完全空白,提升后台体验
内容的提问来源于stack exchange,提问作者thatOneD3vChick
相关产品推荐
相关产品推荐

