You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce结构化数据offers->price替换:净价改含税总价(不改系统设置)

解决WooCommerce结构化数据offers->price显示含税总价的问题

可以通过WooCommerce的钩子直接修改结构化数据中的价格字段,强制替换为含税总价,无需改动系统核心设置,且对所有地区生效。具体实现方法如下:

代码实现

将以下代码添加到当前主题的functions.php文件末尾,或使用自定义代码管理插件(如Code Snippets)添加:

add_filter( 'woocommerce_structured_data_product', 'force_google_merchant_price_to_tax_included' );
function force_google_merchant_price_to_tax_included( $markup ) {
    if ( isset( $markup['offers'] ) && is_product() ) {
        $product = wc_get_product( get_the_ID() );
        // 获取商品含税总价,不受地区设置影响
        $tax_incl_price = wc_get_price_including_tax( $product );
        // 格式化为两位小数,符合结构化数据规范
        $formatted_price = number_format( $tax_incl_price, 2, '.', '' );
        
        // 批量修改所有offer的price字段(含多变体商品)
        if ( is_array( $markup['offers'] ) ) {
            foreach ( $markup['offers'] as &$offer ) {
                $offer['price'] = $formatted_price;
            }
        }
    }
    return $markup;
}

代码说明

  • 利用woocommerce_structured_data_product钩子拦截商品结构化数据的生成流程
  • 通过wc_get_price_including_tax()直接计算商品的含税价格,该函数会基于商品本身的税规则计算,不受用户地区设置影响
  • 格式化价格为两位小数,满足Google Merchant对价格格式的要求
  • 遍历offers数组,确保多变体商品的所有offer价格都被替换为含税价

验证方法

修改完成后刷新商品页面,使用Google结构化数据测试工具检查offers->price字段,确认已显示含税总价。

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:30:57