WC_Admin_Marketplace_Promotions::promotion_rules_passprivate staticWC 1.0

Evaluate local_rules using the WooCommerce Admin remote specs rule schema.

WCCOM payloads must provide rules compatible with the existing Core rule processors. Unknown or malformed rules fail closed.

Method of the class: WC_Admin_Marketplace_Promotions{}

No Hooks.

Returns

bool.

Usage

$result = WC_Admin_Marketplace_Promotions::promotion_rules_pass( $rules ): bool;
$rules(mixed) (required)
Rule definitions from the promotions payload.

WC_Admin_Marketplace_Promotions::promotion_rules_pass() code WC 11.0.1

private static function promotion_rules_pass( $rules ): bool {
	if ( ! is_array( $rules ) || empty( $rules ) ) {
		return false;
	}

	$encoded_rules = wp_json_encode( $rules );
	if ( false === $encoded_rules ) {
		return false;
	}

	$decoded_rules = json_decode( $encoded_rules );
	if ( ! self::rules_are_valid( $decoded_rules ) ) {
		return false;
	}

	return ( new RuleEvaluator() )
		->evaluate( $decoded_rules );
}