Mr.*_* Jo 3 php wordpress woocommerce
我目前正在构建一个自定义表单。在此表单中,我想显示结帐时已存在的国家/地区选择。
\n\n这是我的税务设置列表:
\n\n\n\n这是我的代码:
\n\n<select class="country-select">\n <?php\n foreach ( WC_Tax::get_rates() as $rate ) {\n echo \'<option value="\' . $rate->tax_rate . \'">\' . $rate->country . \'</option>\';\n }\n ?>\n</select>\nRun Code Online (Sandbox Code Playgroud)\n\n我期待以下选项:
\n\n<option value="19">Deutschland</option>\n<option value="20">\xc3\x96sterreich</option>\nRun Code Online (Sandbox Code Playgroud)\n\n问题是我没有从get_rates()函数中得到任何结果。我发现没有函数可以返回正确的汇率。你知道我该如何完成这件事吗?
长话短说
$all_tax_rates = [];
$tax_classes = WC_Tax::get_tax_classes(); // Retrieve all tax classes.
if ( !in_array( '', $tax_classes ) ) { // Make sure "Standard rate" (empty class name) is present.
array_unshift( $tax_classes, '' );
}
foreach ( $tax_classes as $tax_class ) { // For each tax class, get all rates.
$taxes = WC_Tax::get_rates_for_tax_class( $tax_class );
$all_tax_rates = array_merge( $all_tax_rates, $taxes );
}
Run Code Online (Sandbox Code Playgroud)
解释:
据我所知,您只能获取给定特定的所有税率的列表tax_class,该列表用于按列过滤woocommerce_tax_rates表tax_rate_class(好吧,我们总是可以直接查询数据库,但我假设您想解决问题使用 WooCommerce 提供的功能)。此外,“标准费率”没有tax_class,即。tax_rate_class列是一个空字符串。
因此,如果您想获得每个类别的所有税率,则需要使用WC_Tax::get_rates_for_tax_class( $tax_class ). 但是,如果您确实想要所有税率(无论类别如何),则需要先获取所有税收类别,然后获取每个类别的所有税率。
| 归档时间: |
|
| 查看次数: |
10972 次 |
| 最近记录: |