如何在WooCommerce产品短描述下方添加全局文本(避免文件覆盖)
嗨,这个问题我太熟了——直接改核心文件或者主题模板确实会在更新后丢失,咱们用WooCommerce自带的钩子系统就能完美解决,完全不用担心更新覆盖的问题!
解决方案:使用WooCommerce动作钩子(无文件覆盖风险)
WooCommerce提供了大量动作钩子,让我们能在不修改核心/模板文件的前提下,精准往产品页面的特定位置插入内容。针对你的需求,我们可以利用woocommerce_single_product_summary这个钩子,完美卡在短描述和产品选项之间。
方法1:添加到主题(或子主题)的functions.php文件
这是最常用的方法,但强烈建议使用子主题,避免主题更新时覆盖你的自定义代码。如果已经在用子主题,直接按以下步骤操作:
- 登录WordPress后台,进入「外观」→「主题文件编辑器」
- 在右侧文件列表中找到并打开
functions.php - 将以下代码粘贴到文件末尾(注意不要破坏已有代码结构):
// 在产品短描述后、产品选项前添加全局文本 function add_global_text_after_short_description() { // 替换成你需要的全局文本,支持HTML标签美化样式 $global_text = '<div class="custom-product-notice" style="padding: 12px; background: #f8f9fa; border-left: 4px solid #0d6efd; margin: 18px 0;"> 这里是你要显示的全局文本,比如"所有产品享30天无理由退换,下单后48小时内发货!" </div>'; echo $global_text; } // 钩子优先级设为25:刚好在短描述(优先级20)之后,产品选项/加入购物车按钮(优先级30)之前 add_action('woocommerce_single_product_summary', 'add_global_text_after_short_description', 25);
- 点击「更新文件」保存即可。
方法2:使用自定义代码插件(更安全,适合新手)
如果你担心修改functions.php出错,或者不想依赖主题,推荐用专门的代码管理插件,比如Code Snippets:
- 在WordPress后台安装并激活「Code Snippets」插件
- 进入「Snippets」→「Add New」
- 给代码片段起个清晰的名字(比如“产品页全局提示文本”)
- 将上面的PHP代码粘贴到代码框中
- 勾选「Only run on site front-end」(只在前端运行,避免后台冲突)
- 点击「Save Changes and Activate」激活代码片段即可。
为什么这个方法不会被覆盖?
因为我们是通过WooCommerce的动作钩子机制挂载自定义内容,没有修改任何核心文件或主题模板文件。无论是WooCommerce更新还是主题更新,只要这类基础钩子没有被移除(WooCommerce极少会这么做),你的自定义文本就会一直正常显示。
微调位置(如果需要)
如果发现文本位置不符合预期,可以修改add_action里的优先级数字:
- 优先级数字越小,内容显示越靠前;数字越大,越靠后
- 短描述的优先级是
20,加入购物车按钮的优先级是30,所以25刚好卡在中间。如果你的产品选项显示位置有差异,可以尝试调整为22或28来微调。
内容的提问来源于stack exchange,提问作者Denise Field
相关产品推荐
相关产品推荐

