WooCommerce商品页ACF字段不显示故障求助(使用AmazeTheme旧主题)
WooCommerce旧主题下ACF字段不显示的解决方法
- 先排查字段组配置:确认ACF字段组的位置规则已正确绑定到WooCommerce的
product自定义文章类型,无额外冲突的排除规则,且对应商品的后台编辑页可正常看到并填写ACF字段。 - 强制传入商品ID调用字段:现有代码未指定字段关联的文章ID,若主题
woocommerce.php重写了全局$post对象会导致字段无法匹配,修改钩子代码如下:
add_action( 'woocommerce_after_single_product_summary', 'view_acf_field_for_single_product', 10 ); function view_acf_field_for_single_product(){ global $post; if (function_exists('the_field') && is_product()){ // 明确传入当前商品ID调用字段 the_field('shop_support', $post->ID); } }
单商品模板内的获取逻辑同步修改为传入ID:
<?php while ( have_posts() ) : the_post(); ?> <?php wc_get_template_part( 'content', 'single-product' ); $dump = get_fields(get_the_ID()); var_dump($dump); ?> <?php endwhile; // end of the loop. ?>
- 检查版本兼容性:当前使用的WordPress 4.9.18、PHP5.6环境不支持ACF 5.9及以上版本,需回退ACF到5.7.x或5.8.x的兼容版本,避免因版本不兼容导致字段读取失效。
- 排查模板查询冲突:在
woocommerce.php文件顶部加入测试代码var_dump(get_post_type());,若输出结果不是product,说明模板内存在自定义查询未重置,在调用ACF字段前执行wp_reset_query();重置主查询即可。
内容的提问来源于stack exchange,提问作者Asif Salahuddin Ghazi
相关产品推荐
相关产品推荐

