为了管理我的商店,我需要在15分钟后自动删除待处理/取消订单。
我尝试这样的多种解决方案:
add_action( 'woocommerce_order_status_failed', 'the_dramatist_woocommerce_auto_delete_order' );
add_action( 'woocommerce_order_status_pending', 'the_dramatist_woocommerce_auto_delete_order' );
add_action( 'woocommerce_order_status_cancelled', 'the_dramatist_woocommerce_auto_delete_order' );
function the_dramatist_woocommerce_auto_delete_order( $order_id ) {
// 5*60 = 300 seconds. Here 1minute = 60 seconds.
wp_schedule_single_event(time() + 300, 'the_dramatist_main_delete_event', $order_id);
}
function the_dramatist_main_delete_event( $order_id ) {
global $woocommerce;
$order = new WC_Order( $order_id );
$order_status = $order->get_status();
if ( !$order_id )
return false;
if ('cancelled' == $order_status || 'failed' == $order_status || 'pending' == $order_status ) {
wp_delete_post($order_id,true);
return true;
}
return false;
}
但是它不起作用。 我尝试使用MYSQL,但是我在SQL方面的能力非常有限。