Automattic\WooCommerce\Blocks\AIContent

UpdatePatterns::prepare_prompts()privateWC 1.0

Prepares the prompts for the AI.

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

Хуков нет.

Возвращает

Массив.

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

// private - только в коде основоного (родительского) класса
$result = $this->prepare_prompts( $patterns );
$patterns(массив) (обязательный)
The array of patterns.

Код UpdatePatterns::prepare_prompts() WC 9.5.1

private function prepare_prompts( array $patterns ) {
	$prompts    = [];
	$result     = [];
	$group_size = count( self::WC_PATTERNS_IN_THE_ASSEMBLER );
	$i          = 1;
	foreach ( $patterns as $pattern ) {
		$slug = $pattern['slug'] ?? '';

		if ( ! in_array( $slug, self::WC_PATTERNS_IN_THE_ASSEMBLER, true ) ) {
			continue;
		}

		$content         = $pattern['content'] ?? '';
		$counter         = 1;
		$result[ $slug ] = [];

		if ( isset( $content['titles'] ) ) {
			foreach ( $content['titles'] as $title ) {
				$result[ $slug ][ $counter ++ ] = $title['ai_prompt'];
			}
		}

		if ( isset( $content['descriptions'] ) ) {
			foreach ( $content['descriptions'] as $description ) {
				$result[ $slug ][ $counter ++ ] = $description['ai_prompt'];
			}
		}

		if ( isset( $content['buttons'] ) ) {
			foreach ( $content['buttons'] as $button ) {
				$result[ $slug ][ $counter ++ ] = $button['ai_prompt'];
			}
		}

		$i ++;

		if ( $i === $group_size ) {
			$prompts[] = $result;
			$result    = [];
			$i         = 1;
		}
	}

	return $prompts;
}