如何通过PHP及Code Snippets插件给WooCommerce变体价格添加前缀
给WooCommerce变体价格添加前缀的PHP实现方案(适配Astra主题+Code Snippets)
直接用WooCommerce内置的过滤器钩子就能实现,不需要碰主题文件,完全通过Code Snippets插件添加代码即可,稳定性比前端JS方案高,不会受DOM结构变化影响。
代码示例
在Code Snippets插件里新建一个代码片段,粘贴以下代码后激活:
add_filter( 'woocommerce_variation_price_html', 'add_custom_variation_price_prefix', 10, 2 ); function add_custom_variation_price_prefix( $price_html, $product ) { // 仅对可变产品生效 if ( $product->is_type( 'variable' ) ) { // 自定义前缀,可根据需求修改 $price_prefix = '<span class="variation-price-prefix">Total Price: </span>'; // 将前缀拼接到原价格HTML前 $price_html = $price_prefix . $price_html; } return $price_html; }
代码说明
woocommerce_variation_price_html是WooCommerce专门用于修改可变产品变体价格输出的钩子,能直接干预后端生成的价格HTML内容- 先判断产品类型为可变产品,避免对简单产品、分组产品等其他类型造成影响
- 前缀用
<span>包裹并加了自定义类variation-price-prefix,方便后续通过CSS调整样式(比如字体、颜色) - 修改后的价格HTML会自动输出到带有
woocommerce-variation-price类的div中,完全符合需求
补充说明
这个方案从后端输出层面修改价格内容,不像前端JS需要依赖DOM元素的存在,所以不会因为Astra主题或WooCommerce的版本更新导致失效。如果需要调整前缀文本,直接修改代码里的Total Price: 即可。
内容的提问来源于stack exchange,提问作者GESAN
相关产品推荐
相关产品推荐

