我有这个功能,可以根据重量修改运输方式。
我需要var_dump或echo $ rate才能访问&调整它的某些属性(比如你可以看到的成本)。
add_filter( 'woocommerce_package_rates', 'compoco_wholesale_rates', 10 );
function compoco_wholesale_rates( $rates ) {
global $woocommerce;
$base_cost = 0;
$cart_weight = $woocommerce->cart->get_cart_contents_weight();
$shipping_price = array('3' => 34, '4' => 42, '5' => 50, '6' => 58, '7' => 66, '8' => 73, '9' => 80, '10' => 88, '11' => 95, '12' => 102, '13' => 107, '14' => 117, '15' => 125, '16' => 132, '17' => 140, '18' => 146, '19' => 153, '20' => 163);
foreach ( $shipping_price as $key => $value){
if( round($cart_weight) == $key){
$base_cost = $value;
}
}
foreach($rates as $key => $rate ) {
$rate->cost = $base_cost;
}
return $rates;
}
尝试输出有问题的var时没有任何反应。
答案 0 :(得分:1)
你应该使用
é
在函数内部。
如果这是后端或任何屏幕无法访问的内容,您可以创建一个文件并将var内容放入其中(true_flag在print_r中)。
echo "<pre>"; print_r($rates); die;
请注意,您可以使用https://xdebug.org/来解决此类问题。