2016-10-27 16 views
2

私はWordpress 3.9.14を使用しています。Woocommerce - 商品ページの送料を取得する

送料はflat_rateです。
デフォルトではcost_per_orderが含まれていますが、flat_rateには2 shipping_classesを使用しています。

商品ページに送料が表示されます。
今はIDを取得するのに$product->shipping_class_id()を使用しますが、このshipping_class_idの費用を取得する方法を把握することはできません。
私はコストを知っていれば、これをcost_per_orderに追加して、製品の合計送料を計算することができます。

cost_per_orderの値を取得する方法もわかりません。

解決策が全く存在しない場合、私は緊急時のソリューションとしてswitch/caseステートメントを使用し、そこにコストを置くことができますが、その後、私はflat_rateコストを変更したときにコードを変更する必要があるので、私はこれを好みませんソリューションの種類。

+1

あなたは本当に、ワードプレスのバージョンを更新する必要があります。 3.9.14は非常に古くなっています。 –

+0

WordPressを更新するのは私のtodo-listですが、今は時間がありません。そして私は彼らが船積みモジュールを変更したことを知っていますが、私のような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

ありがとうございました@FamousWolluf – kumar

関連する問題