Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce

Coupon_Code_Generator::generate_random_codeprivateWC 1.0

Generate a random coupon code in XXXX-XXXXXX-XXXX format.

Method of the class: Coupon_Code_Generator{}

No Hooks.

Returns

String.

Usage

// private - for code of main (parent) class only
$result = $this->generate_random_code(): string;

Coupon_Code_Generator::generate_random_code() code WC 10.9.1

private function generate_random_code(): string {
	$characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
	$length     = strlen( $characters ) - 1;

	$segment1 = '';
	$segment2 = '';
	$segment3 = '';

	for ( $i = 0; $i < 4; $i++ ) {
		$segment1 .= $characters[ random_int( 0, $length ) ];
	}
	for ( $i = 0; $i < 6; $i++ ) {
		$segment2 .= $characters[ random_int( 0, $length ) ];
	}
	for ( $i = 0; $i < 4; $i++ ) {
		$segment3 .= $characters[ random_int( 0, $length ) ];
	}

	return $segment1 . '-' . $segment2 . '-' . $segment3;
}