Flatsome主题下woocommerce_single_product_summary钩子失效求助
解决Flatsome主题下WooCommerce单品页面钩子失效的问题
1. 调整钩子优先级
Flatsome主题在woocommerce_single_product_summary钩子上加载了不少内置元素,默认优先级(10)可能被覆盖或者显示位置不符合预期,调整优先级试试:
function my_custom_text(){ echo "custom text"; } // 用5会在主题内置元素之前显示,用20则在之后显示,可根据需求调整 add_action( 'woocommerce_single_product_summary', 'my_custom_text', 5);
2. 改用Flatsome自带的产品页面钩子
Flatsome有专属的产品页面钩子,适配性更好,常用的几个:
flatsome_single_product_summary_before:产品摘要区域最前端flatsome_single_product_summary_after:产品摘要区域最后端flatsome_product_title_after:产品标题之后flatsome_product_price_after:产品价格之后
示例代码(放在产品摘要最后):
function my_custom_text(){ echo "custom text"; } add_action( 'flatsome_single_product_summary_after', 'my_custom_text');
3. 子主题修改模板文件(最稳妥的方案)
如果钩子都不好使,直接用子主题修改模板,避免主题更新丢失代码:
- 在你的子主题文件夹里创建
woocommerce/single-product目录 - 复制Flatsome主题里的
woocommerce/single-product/summary.php文件到这个新目录 - 打开复制后的文件,在你想要显示自定义文本的位置插入代码:
<?php echo "custom text"; ?>
比如想放在价格之后、加购按钮之前,找到对应位置插入即可。
4. 检查主题设置
进入后台「外观 > 主题选项 > WooCommerce > 单品页面」,看看有没有禁用产品摘要区域钩子输出的选项,有的话开启即可。
内容的提问来源于stack exchange,提问作者Kourosh
相关产品推荐
相关产品推荐

