В моем functions.php я хочу добавить функцию, которая перемещает купоны с истекшим сроком действия и / или купоны, которые достигли своего предела использования в корзину. Я хотел бы убрать купоны с ограничением использования 1 и счетчиком использования 1 или более. Я хотел бы, чтобы эта функция выполнялась ежедневно.
Я уже нашел решение для просроченных купонов. Однако мне все еще нужно, чтобы купоны, которые достигли предела их использования, также были удалены в корзину. Код ниже взят с этого сайта. https://nicola.blog/2018/08/01/delete-expired-coupons-automatically/
/**
* Schedule the daily event if necessary.
*/
function 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' );
/**
* Trash all expired coupons when the event is triggered.
*/
function delete_expired_coupons() {
$args = array(
'posts_per_page' => -1,
'post_type' => 'shop_coupon',
'post_status' => 'publish',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'expiry_date',
'value' => current_time( 'Y-m-d' ),
'compare' => '<='
),
array(
'key' => 'expiry_date',
'value' => '',
'compare' => '!='
)
)
);
$coupons = get_posts( $args );
if ( ! empty( $coupons ) ) {
$current_time = current_time( 'timestamp' );
foreach ( $coupons as $coupon ) {
wp_trash_post( $coupon->ID );
}
}
}
add_action( 'delete_expired_coupons', 'delete_expired_coupons' );
К функции, вставленной выше, я хотел бы добавить код, который также перемещает купоны с пределом использования 1 и счетчиком использования 1 или более в корзину. Ограничение использования на купон, а не на пользователя. Любая помощь с этим будет очень признателен.