2016-10-27 127 views
2

我使用的是Wordpress 3.9.14。Woocommerce - 獲得產品頁面的運費

我使用flat_rate方法來計算我的運費。
它包含一個默認的cost_per_order和我在flat_rate裏面使用2 shipping_classes有些產品的額外費用。

我想在產品頁面上顯示運費。
現在我使用$product->shipping_class_id()來獲得ID,但我無法弄清楚如何獲得這個shipping_class_id的成本。
因爲如果我知道成本,我可以將其添加到cost_per_order來計算產品的總運輸成本。我也不知道如何獲得cost_per_order價值。

如果根本沒有解決方案,我可以作爲緊急解決方案使用switch/case聲明並將費用放在那裏,但是當我更改flat_rate費用時需要更改代碼,所以我不喜歡這樣種解決方案。

+1

你真的應該更新你的WordPress版本。 3.9.14已經過時了。 –

+0

更新WordPress是我的待辦事項清單,但現在我沒有時間去做。而且我知道他們改變了運輸模塊,但對於仍然使用Wordpress 3的人來說,我認爲解決方案可能非常有用。 – FamousWolluf

回答

3

我已經想通了:

$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); 
+0

我可以在哪裏放置這段代碼? – kumar

+0

你想展示的地方。只要你有你的產品變量,你應該很好。 – FamousWolluf

+0

Ok Thankyou @FamousWolluf – kumar

相關問題