WC_Cart::is_coupon_emails_allowed()publicWC 1.0

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

Метод класса: WC_Cart{}

Хуков нет.

Возвращает

true|false.

Использование

$WC_Cart = new WC_Cart();
$WC_Cart->is_coupon_emails_allowed( $check_emails, $restrictions );
$check_emails(массив) (обязательный)
Array of customer email addresses.
$restrictions(массив) (обязательный)
Array of allowed email addresses.

Код WC_Cart::is_coupon_emails_allowed() WC 8.7.0

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;
}