Eliminar cupones caducados automáticamente en WooCommerce

Eliminar cupones caducados automáticamente en WooCommerce

Eliminar cupones caducados automáticamente en WooCommerce

Tiempo de lectura: 2 minutos

Los cupones son increíbles, ¿a quién no le gusta un descuento? Una forma muy común de dar cupones a los clientes es crear uno automáticamente después de su primer pedido, o algo así.

Sin embargo, el problema con esto es que, por lo general, estos cupones caducan después de un período específico y, de manera predeterminada, WooCommerce no los eliminará. Sin embargo, no tienen ninguna razón para permanecer en su base de datos y ocupar espacio, entonces, ¿cómo eliminamos los cupones caducados automáticamente?

Con un poquito de código.

Abre el archivo functions.php en wp-content / themes / your-child-theme-name / y agrega este código al final del archivo:

<?php
/*
/ **
 * Programe el evento diario si es necesario.
 * /
función schedule_delete_expired_coupons () {
	if (! wp_next_scheduled ('delete_expired_coupons')) {
		wp_schedule_event (time (), 'daily', 'delete_expired_coupons');
	}
}
add_action ('init', 'schedule_delete_expired_coupons');

/ **
 * Basura todos los cupones caducados cuando se desencadena el evento.
 * /
function delete_expired_coupons () {
	$ args = array (
		'posts_per_page' = > -1,
		'post_type' = > 'shop_coupon',
		'post_status' = > 'publicar',
		'meta_query' = > array (
			'relacion' = > 'Y',
			formación(
				'key' = > 'fecha de vencimiento',
				'value' = > current_time ('Ymd'),
				'comparar' = > ' < =' ), formación( 'key' = > 'fecha de vencimiento',
				'value' = > '',
				'compare' = > '! ='
			)
		)
	);

	$ cupones = get_posts ($ args);

	if (! empty ($ cupones)) {
		$ current_time = current_time ('marca de tiempo');

		foreach ($ cupones como $ cupones) {
			wp_trash_post ($ cupón- > ID);
		}
	}
}
add_action ('delete_expired_coupons', 'delete_expired_coupons');
*/

Este fragmento de código moverá automáticamente a la Papelera todos los cupones caducados en tu tienda WooCommerce para que puedas ir y eliminarlos permanentemente con un solo clic.

Si deseas eliminar permanentemente los cupones directamente en lugar de tirarlos a la basura, puede cambiar este código:

<?php
/*
wp_trash_post( $coupon->ID );
*/

Por este:

<?php
/*
wp_delete_post( $coupon->ID, true );
*/

Ten en cuenta que una vez que elimina permanentemente un cupón, no se puede recuperar.

Además debes tener activado el cron de tu WordPress. 

Compártelo con tus contactos y ayúdame a mejorar

Sobre el Autor

Escribir un comentario