wc_get_coupon_id_by_code()WC 3.0.0

Get coupon ID by code.

Hooks from the function

Return

Int.

Usage

wc_get_coupon_id_by_code( $code, $exclude );
$code(string) (required)
Coupon code.
$exclude(int)
Used to exclude an ID from the check if you're checking existence.

Changelog

Since 3.0.0 Introduced.

wc_get_coupon_id_by_code() code WC 8.7.0

function wc_get_coupon_id_by_code( $code, $exclude = 0 ) {

	if ( StringUtil::is_null_or_whitespace( $code ) ) {
		return 0;
	}

	$data_store = WC_Data_Store::load( 'coupon' );
	$ids        = wp_cache_get( WC_Cache_Helper::get_cache_prefix( 'coupons' ) . 'coupon_id_from_code_' . $code, 'coupons' );

	if ( false === $ids ) {
		$ids = $data_store->get_ids_by_code( $code );
		if ( $ids ) {
			wp_cache_set( WC_Cache_Helper::get_cache_prefix( 'coupons' ) . 'coupon_id_from_code_' . $code, $ids, 'coupons' );
		}
	}

	$ids = array_diff( array_filter( array_map( 'absint', (array) $ids ) ), array( $exclude ) );

	return apply_filters( 'woocommerce_get_coupon_id_from_code', absint( current( $ids ) ), $code, $exclude );
}