In my functions.php I want to add a function that moves expired coupons and/or coupons that have reached their usage limit to the trash. I would like to trash coupons that have a usage limit of 1 and a usage count of 1 or more. I would like this function to run on a daily basis.
I have already found a solution for the expired coupons. However I still need the coupons that have reached their usage limit to be removed to the trash as well. The below code is taken from this website. 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' );
To the function pasted above I would like to add some code which also moves coupons with a usage limit of 1 and and a usage count of 1 or more to the trash. The usage limit is per coupon, not per user. Any help with this would be very appreciated.