1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
<?php
namespace SIW\Batch;
/**
* Proces om oude aanmeldingen te verwijderen
*
* @copyright 2019 SIW Internationale Vrijwilligersprojecten
* @since 3.0.0
*/
class Delete_Applications extends Job {
/**
* {@inheritDoc}
*/
protected $action = 'delete_applications';
/**
* {@inheritDoc}
*/
protected $name = 'verwijderen aanmeldingen';
/**
* {@inheritDoc}
*/
protected $category = 'groepsprojecten';
/**
* Selecteer de aanmeldingen van meer dan 1 jaar oud
*
* @todo geannuleerde aanmeldingen van meer dan 1 maand oud
* @todo configuratieconstantes voor verwijdertermijnen
*
* @return array
*/
protected function select_data() {
$args = [
'limit' => -1,
'return' => 'ids',
'type' => 'shop_order',
'date_created' => '<' . ( time() - YEAR_IN_SECONDS ),
];
$applications = wc_get_orders( $args );
return $applications;
}
/**
* Verwijder aanmelding
*
* @param mixed $item
*
* @return mixed
*/
protected function task( $item ) {
$order = wc_get_order( $item );
if ( false == $order ) {
return false;
}
$order->delete( true );
$this->increment_processed_count();
return false;
}
}