WC_Cart::is_coupon_emails_allowed( array $check_emails, array $restrictions )

Checks if the given email address(es) matches the ones specified on the coupon.


Description Description


Parameters Parameters

$check_emails

(Required) Array of customer email addresses.

$restrictions

(Required) Array of allowed email addresses.


Top ↑

Return Return

(bool)


Top ↑

Source Source

File: includes/class-wc-cart.php

	public function is_coupon_emails_allowed( $check_emails, $restrictions ) {

		foreach ( $check_emails as $check_email ) {
			// With a direct match we return true.
			if ( in_array( $check_email, $restrictions, true ) ) {
				return true;
			}

			// Go through the allowed emails and return true if the email matches a wildcard.
			foreach ( $restrictions as $restriction ) {
				// Convert to PHP-regex syntax.
				$regex = '/^' . str_replace( '*', '(.+)?', $restriction ) . '$/';
				preg_match( $regex, $check_email, $match );
				if ( ! empty( $match ) ) {
					return true;
				}
			}
		}

		// No matches, this one isn't allowed.
		return false;
	}


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.