Hoe meer bestellingen je binnen krijgt op je Woocommerce webshop, hoe meer je database zicht vult. Op zich geen probleem, de performance zal goed blijven. Zeker met HPOS ingeschakeld. Maar wat nu als je echt miljoenen bestellingen binnen krijgt. Het kan zo maar gebeuren dat jouw webshop echt een grote vlucht neemt. Het is dan zaak je database zo schoon en opgeruimd mogelijk te houden. Dit kan eenvoudig door het toevoegen van een zogenaamde Snippet. Die automatisch orders ouder dan 6 maanden verwijderd uit Woocommerce.
Voeg hiervoor onderstaande snippet toe via de Snippet plugin.
add_action( ‘admin_footer’, ‘auto_trash_old_completed_orders’ );
function auto_trash_old_completed_orders(){
$completed_orders = wc_get_orders( array(
‘limit’ => 10, // By batch of 10 orders
‘status’ => ‘completed’,
‘date_created’ => ‘<‘ . date(“Y-m-d”, strtotime(“-6 months”)),
) );if ( count($completed_orders) > 0 ){
foreach( $completed_orders as $completed_order ) {
$completed_order->delete(true);
}
}
}