Automattic\WooCommerce\Blocks

BlockPatterns::parse_categoriesprivateWC 1.0

Parse prefixed categories from the PTK patterns into the actual WooCommerce categories.

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

Хуков нет.

Возвращает

Массив. The parsed patterns.

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

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

Код BlockPatterns::parse_categories() WC 10.3.5

private function parse_categories( array $patterns ) {
	return array_map(
		function ( $pattern ) {
			if ( ! isset( $pattern['categories'] ) ) {
				$pattern['categories'] = array();
			}

			$values = array_values( $pattern['categories'] );

			foreach ( $values as $value ) {
				if ( ! isset( $value['title'] ) || ! isset( $value['slug'] ) ) {
					$pattern['categories'] = array();
				}
			}

			$pattern['categories'] = array_map(
				function ( $category ) {
					foreach ( self::CATEGORIES_PREFIXES as $prefix ) {
						if ( strpos( $category['title'], $prefix ) !== false ) {
							$parsed_category   = str_replace( $prefix, '', $category['title'] );
							$parsed_category   = str_replace( '_', ' ', $parsed_category );
							$category['title'] = ucfirst( $parsed_category );
						}
					}

					return $category;
				},
				$pattern['categories']
			);
			return $pattern;
		},
		$patterns
	);
}