我有一个带有WooCommerce订阅插件的WooCommerce商店。我需要知道如何从所有订阅续订订单中删除运费。
这可以通过cron函数api或过滤器完成吗?
您可以尝试使用以下挂钩功能,该功能将从续订订单中删除运送:
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文件中。可能有效。