Woocommerce - 在产品页面上获取运费

Fam*_*luf 5 php wordpress woocommerce

我正在使用 WordPress 3.9.14。

我使用该flat_rate方法计算运费。
它包含一个默认值cost_per_order,我shipping_classes在内部使用 2 个flat_rate,以支付某些产品的额外费用。

我想在产品页面上显示运费。
现在我使用 来$product->shipping_class_id()获取 ID,但我不知道如何获取此 Shipping_class_id 的成本。
因为如果我知道成本,我可以将其添加到 中cost_per_order以计算产品的总运输成本。

我也不知道如何获得该cost_per_order值。

如果根本没有解决方案,我可以使用一个switch/case声明作为紧急解决方案,并将成本放在那里,但是当我更改成本时我需要更改代码flat_rate,所以我不喜欢这种解决方案。

Fam*_*luf 5

我已经弄清楚了:

$shipping_class_id = $product->get_shipping_class_id();
$shipping_class= $product->get_shipping_class();
$fee = 0;

if ($shipping_class_id) {
   $flat_rates = get_option("woocommerce_flat_rates");
   $fee = $flat_rates[$shipping_class]['cost'];
}

$flat_rate_settings = get_option("woocommerce_flat_rate_settings");
echo 'Shipping cost: ' . ($flat_rate_settings['cost_per_order'] + $fee);
Run Code Online (Sandbox Code Playgroud)