如何格式化ACF字段调用代码使其可在WooCommerce的functions.php中生效
WooCommerce单产品页展示ACF自定义字段代码调整方案
你提供的原始代码无法直接放入functions.php运行,需要绑定WooCommerce单产品页的对应钩子,调整后的可运行代码如下:
// 在WooCommerce单产品页输出ACF自定义副标题 add_action('woocommerce_single_product_summary', 'render_custom_product_subtitle', 6); function render_custom_product_subtitle() { global $product; // 获取ACF字段,传入产品ID保证取值正确 $my_title = get_field('the_subtitle', $product->get_id()); if ($my_title) : ?> <span id="product-subtitle" class="product-subtitle subtitle"><?php echo esc_html($my_title); ?></span> <?php endif; }
调整说明
- 代码通过
add_action绑定了WooCommerce单产品页的woocommerce_single_product_summary钩子,末尾的数字6为优先级,默认产品标题的优先级为5,设置为6可让副标题刚好显示在标题下方,你可以根据需求调整数值改变展示顺序,数值越小位置越靠前。 - 新增全局产品对象调用,同时给
get_field传入第二个参数产品ID,避免部分场景下字段值获取失败的问题。 - 输出时添加
esc_html做安全转义,符合WordPress官方代码规范。 - 代码中
the_subtitle为ACF字段名,如果你设置的字段名和示例不一致,请替换为你实际的字段名。 - 粘贴时请将代码放在
functions.php文件的?>结束标签之前,如果你的文件没有末尾的PHP结束标签,直接粘贴到文件最底部即可。
内容的提问来源于stack exchange,提问作者mike_007
相关产品推荐
相关产品推荐

