从WooCommerce订阅续订订单中删除运输费用

问题描述 投票:1回答:1

我有一个带有WooCommerce订阅插件的WooCommerce商店。我需要知道如何从所有订阅续订订单中删除运费。

这可以通过cron函数api或过滤器完成吗?

php wordpress woocommerce recurring-billing woocommerce-subscriptions
1个回答
0
投票

您可以尝试使用以下挂钩功能,该功能将从续订订单中删除运送:

add_action( 'woocommerce_order_status_changed', 'remove_shipping_from_renewal_orders', 900, 4 );
function remove_shipping_from_renewal_orders($order_id, $old_status, $new_status, $order ) {
    // Targeting renewal orders only
    if( $order->get_meta( '__subscription_renewal') > 0 ) {
        // Loop through order shipping items
        foreach( $order->get_items('shipping') as $item_id => $item ) {
            $order->remove_item( $item_id ); // remove shipping items
        }
        $order->set_
        $order->save(); // Save (to be sure)
        $order->calculate_totals(); // Update order totals and save.
    }
}

代码进入您的活动子主题(或活动主题)的functions.php文件中。可能有效。

© www.soinside.com 2019 - 2024. All rights reserved.