2017-04-11 13 views
1

WooCommerceの出荷と配送を処理するWordpressプラグインを作成しています。WooCommerceで配送量をプログラムで設定する方法

私は単に私のWooCommerce cart(またはorder)を伝えたいと思います。これは出荷額です。

私が直接WC()->cart->shipping_amount = $amount;
を設定しても、カートのshipping_amount0のまま、両方のケースで->add_fee($shippingServiceName, $amount);
をやって試してみました。

配送量を設定するにはどうすればよいですか?

+0

、私は知らない何らかの理由で... 'WC() - > cart-> shipping_amount'を見つけることはできませんが、WC() - > cart-> shipping_total' – Reigel

答えて

4
私は順序ではなく、カートの上にそれを直接設定することになった


ここ は、私が作成し、私の「完全な購入」処理で使用される方法です。

function addShippingToOrder($order, $shipping_amount, $shipping_name) { 

     $shipping_tax = array(); 
     $shipping_rate = new WC_Shipping_Rate('', $shipping_name, 
             $shipping_amount, $shipping_tax, 
             'custom_shipping_method'); 
     $order->add_shipping($shipping_rate); 

} 

また、私は、カート・ロジックにいたときの出荷量を保存し、ときにそれを取得するために必要な私は順序ロジックにあった、と私はカスタムカート「セッション」変数とのことでした:
WC()->session->set('my_custom_shipping_amount', $amt);
WC()->session->get('my_custom_shipping_amount')


は、これは非常に単純な答えですが、それは把握することが私に最も時間がかかった - 私も特にWC_Ordersに変更をデバッグするためのプラグインを作成することになった:WooCommerce Order Debugger Plugin

1

てみてください、次のコード

add_filter('woocommerce_package_rates', 'apply_static_rate', 10, 2); 
function apply_static_rate($rates, $package) 
    {     
     foreach($rates as $key => $value) { 
      $rates[$key]->cost = 150; // your amount     

     } 
     return $rates; 
} 
関連する問題