Automattic\WooCommerce\Internal\Utilities

PostcodeValidation::get_rules │ public static │ WC 1.0

Get all generated postcode rules.

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

Хуков нет.

Возвращает

array<string, array{pattern: string, flags?: string, normalization?: string}>.

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

$result = PostcodeValidation::get_rules(): array;

Код PostcodeValidation::get_rules() WC 11.2.2

public static function get_rules(): array {
	if ( null !== self::$rules ) {
		return self::$rules;
	}

	$rules_file = dirname( __DIR__, 3 ) . '/i18n/postcode-validation-rules.json';
	if ( ! is_readable( $rules_file ) ) {
		self::$rules = array();
		return self::$rules;
	}

	$contents = file_get_contents( $rules_file ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
	$data     = false !== $contents ? json_decode( $contents, true ) : null;
	$rules    = is_array( $data ) && isset( $data['rules'] ) && is_array( $data['rules'] ) ? $data['rules'] : array();

	self::$rules = array_filter(
		$rules,
		static function ( $rule ): bool {
			return is_array( $rule ) && isset( $rule['pattern'] ) && is_string( $rule['pattern'] );
		}
	);

	return self::$rules;
}