使用WordPress钩子调整WooCommerce商品评分价格位置时优先级失效求助
WooCommerce单品详情页调换评分与价格位置解决方案
将你之前添加到主题functions.php中的相关代码替换为以下内容即可:
add_action('init', 'custom_reorder_price_and_rating', 999); function custom_reorder_price_and_rating() { // 移除默认绑定的价格、评分模块,优先级必须与原绑定参数完全一致 remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10); remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10); // 重新绑定调整位置:优先级数字越小,显示位置越靠前 // 以下为评分在前、价格在后的配置,可自行调整两个数字修改顺序 add_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10); add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 15); }
生效排查注意事项
- 禁止修改WooCommerce核心文件
woocommerce/includes/wc-template-hooks.php,插件更新后所有核心文件修改都会被覆盖,所有自定义代码统一放在子主题的functions.php文件中,避免主题更新导致代码丢失。 - 代码添加完成后需清空全部缓存:包括网站缓存插件缓存、CDN缓存、浏览器本地缓存,可通过浏览器隐私模式访问单品页验证效果,绝大多数不生效问题均为缓存未清理导致。
- 若修改后仍无效果,说明当前主题已自定义过两个模块的钩子优先级,到主题的
functions.php中搜索woocommerce_template_single_price和woocommerce_template_single_rating对应的add_action语句,记录其第三个优先级参数,remove_action时填入完全相同的优先级参数即可成功移除默认配置。
内容的提问来源于stack exchange,提问作者Noman Ali
相关产品推荐
相关产品推荐

