WooCommerce如何检查Automated taxes(自动税费)是否启用?
获取WooCommerce Shipping & Tax的Automated Taxes选项值
WooCommerce Shipping & Tax(原WooCommerce Services)的Automated taxes选项并未单独存储在wp_options表中,而是嵌套在插件的聚合设置里,你可以通过以下两种可靠方式获取其值:
方法1:读取插件的聚合设置选项
该插件的所有设置都存在woocommerce_shipping_tax_settings这个选项中,直接读取后提取目标字段即可:
// 获取插件设置数组,默认空数组避免报错 $shipping_tax_settings = get_option( 'woocommerce_shipping_tax_settings', [] ); // 提取自动税费的启用状态,返回布尔值 $automated_taxes_enabled = isset( $shipping_tax_settings['automated_taxes'] ) && 'yes' === $shipping_tax_settings['automated_taxes']; // 使用示例 if ( $automated_taxes_enabled ) { // 自动税费已开启,执行对应逻辑 }
方法2:调用插件官方类方法
插件内置了WC_Services_Tax类来处理税费相关逻辑,其中的静态方法is_enabled()可以直接返回自动税费的状态,这种方式兼容性更好:
// 先检查类是否存在,防止插件未激活时抛出错误 if ( class_exists( 'WC_Services_Tax' ) ) { $automated_taxes_enabled = WC_Services_Tax::is_enabled(); if ( $automated_taxes_enabled ) { // 逻辑代码 } }
注意事项
- 必须确保WooCommerce Shipping & Tax插件处于激活状态,否则上述方法均无法生效
- 优先使用
WC_Services_Tax::is_enabled(),避免插件更新后字段名变更导致的兼容性问题 - 如果需要获取自动税费的其他配置(如nexus设置、税率来源),同样可以从
woocommerce_shipping_tax_settings数组中提取对应键值
内容的提问来源于stack exchange,提问作者Davide Iandoli
相关产品推荐
相关产品推荐

