Skip to content

Instantly share code, notes, and snippets.

@mehrshaddarzi
Created December 3, 2023 10:21
Show Gist options
  • Save mehrshaddarzi/3c66daaae90dddc057d981fc0977d603 to your computer and use it in GitHub Desktop.
Save mehrshaddarzi/3c66daaae90dddc057d981fc0977d603 to your computer and use it in GitHub Desktop.
Delete Cancelled WooCommerce Order Before X day Cron Job
<?php
add_action('wp', 'add_custom_wc_cron_job');
function add_custom_wc_cron_job()
{
if (!wp_next_scheduled('remove_cancelled_wc_orders')) {
wp_schedule_event(time(), 'hourly', 'remove_cancelled_wc_orders');
}
}
add_action('remove_cancelled_wc_orders', 'cronjob_remove_cancelled_wc_orders');
function cronjob_remove_cancelled_wc_orders()
{
auto_remove_cancelled_wc_orders(7);
}
function auto_remove_cancelled_wc_orders($day)
{
$order_ids = wc_get_orders(array(
'limit' => 50,
'order' => 'DESC',
'orderby' => 'ID',
'status' => array('wc-cancelled', 'wc-failed'),
'return' => 'ids',
'date_created' => '<' . (time() - (DAY_IN_SECONDS * $day)),
));
foreach ($order_ids as $order_id) {
wp_delete_post($order_id, true);
}
return $order_ids;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment