Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce
Coupon_Code_Generator::generate_unique_code
Generate a unique random coupon code, retrying on collision.
Method of the class: Coupon_Code_Generator{}
No Hooks.
Returns
String. A unique coupon code.
Usage
// private - for code of main (parent) class only $result = $this->generate_unique_code(): string;
Coupon_Code_Generator::generate_unique_code() Coupon Code Generator::generate unique code code WC 10.9.1
private function generate_unique_code(): string {
for ( $i = 0; $i < self::MAX_CODE_RETRIES; $i++ ) {
$code = $this->generate_random_code();
$existing = wc_get_coupon_id_by_code( $code );
if ( ! $existing ) {
return $code;
}
}
// phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped -- exception message, not rendered output.
throw new \RuntimeException( 'Failed to generate a unique coupon code.' );
}