Automattic\WooCommerce\Blocks\AIContent

PatternsHelper::get_patterns_dictionary()public staticWC 1.0

Get the Patterns Dictionary.

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

Хуков нет.

Возвращает

Массив|WP_Error. Returns pattern dictionary or WP_Error on failure.

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

$result = PatternsHelper::get_patterns_dictionary( $pattern_slug );
$pattern_slug(строка|null)
The pattern slug.
По умолчанию: null

Код PatternsHelper::get_patterns_dictionary() WC 9.5.1

public static function get_patterns_dictionary( $pattern_slug = null ) {
	$default_patterns_dictionary = PatternsDictionary::get();

	if ( empty( $default_patterns_dictionary ) ) {
		return new WP_Error( 'missing_patterns_dictionary', __( 'The patterns dictionary is missing.', 'woocommerce' ) );
	}

	$patterns_dictionary   = '';
	$ai_connection_allowed = get_option( 'woocommerce_blocks_allow_ai_connection' );

	if ( $ai_connection_allowed ) {
		$patterns_ai_data_post = self::get_patterns_ai_data_post();
		if ( ! empty( $patterns_ai_data_post->post_content ) ) {
			$patterns_dictionary = json_decode( $patterns_ai_data_post->post_content, true );

			if ( json_last_error() !== JSON_ERROR_NONE ) {
				return new WP_Error( 'json_decode_error', __( 'Error decoding JSON.', 'woocommerce' ) );
			}
		}
	}

	if ( ( $patterns_dictionary === $default_patterns_dictionary || empty( $patterns_dictionary ) ) && $pattern_slug ) {
		return self::find_pattern_by_slug( $default_patterns_dictionary, $pattern_slug );
	} elseif ( $pattern_slug && is_array( $patterns_dictionary ) ) {
		return self::find_pattern_by_slug( $patterns_dictionary, $pattern_slug );
	} elseif ( is_array( $patterns_dictionary ) ) {
		return $patterns_dictionary;
	}

	return $default_patterns_dictionary;
}