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 69 70 71 72 73 74 75 76 77 78 79 80 81
<?php
namespace SIW\Batch;
class Delete_Orphaned_Variations extends Job {
protected $action = 'delete_orphaned_variations';
protected $name = 'verwijderen verweesde variaties';
protected $category = 'groepsprojecten';
protected $schedule_job = false;
protected function select_data() {
$args = [
'posts_per_page' => -1,
'post_type' => 'product',
'fields' => 'ids',
'post_status' => 'any',
];
$products = get_posts( $args );
$args = [
'posts_per_page' => -1,
'post_type' => 'product_variation',
'post_parent__not_in' => $products,
'fields' => 'ids',
];
$variations = get_posts( $args );
if ( empty( $variations ) ) {
return false;
}
return $variations;
}
protected function task( $item ) {
$product = wc_get_product( $item );
if ( false == $product ) {
return false;
}
$product->delete( true );
return false;
}
}