我们在开发过程中有个客户要求更改 woocommerce 产品详情页面价格显示位置,默认是现在产品标题下方,但是想要在产品描述描述下方,查阅很多资料找到解决办法记录一下。
如果你有看向 WooCommerce content-single-product.php 模板文件在此摘录:
/**
* woocommerce_single_product_summary hook.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
//do_action('woocommerce_single_product_summary');
你会看到相关的模板就价格在 woocommerce_single_product_summary 钩住的优先 10。所以不得不删除它,并再次挂钩它改变 20 和 30 之间的优先级,即可更改价格显示位置。
你只需要这小小的代码片段添加到您的主题 function.php 文件:
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 25);
意不意外,惊不惊喜,刷新网站产品详情页,是不是价格已经显示在描述的下方了。