Для управления моим магазином мне нужно автоматически удалять отложенные / отмененные заказы через 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 очень ограничена.