更新后,我的自定义航运金额规则不工作。更新前,我使用以下代码更新航运金额。
add_action('woocommerce_calculate_totals', 'mysite_box_discount');
function mysite_box_discount($cart )
{
$cart->shipping_total=100;
return $cart;
}
更新后,$cart数组的结构发生了变化,上面的代码停止工作,现在数据以受保护数组的形式进来,我发现$cart-〉get_shipping_total();我可以得到航运金额。
我还发现以下功能来更新航运金额。
$cart->set_shipping_total($amount);
所以我用它在下面的方式,但它不工作。
add_action('woocommerce_calculate_totals', 'mysite_box_discount');
function mysite_box_discount($cart )
{
$cart->set_shipping_total(100);
return $cart;
}
有谁能帮我一下,告诉我如何使用这个功能,或者是否有其他的方法。谢谢。
1条答案
按热度按时间kmbjn2e31#
你可以使用
woocommerce_package_rates
filter钩子来设置你的运输方式的成本,这将类似于你的旧代码:代码进入您的活动子主题(或活动主题)的function.php文件。
在此钩子中如果您需要循环浏览购物车项目(例如,进行一些计算),您将在函数代码中使用: