Automattic\WooCommerce\Internal\Admin\Onboarding

OnboardingFonts::install_font_families()private staticWC 1.0

Install font families.

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

Хуков нет.

Возвращает

Массив.

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

$result = OnboardingFonts::install_font_families( $slug_font_families_to_install, $font_collection );
$slug_font_families_to_install(массив) (обязательный)
Font families to install.
$font_collection(массив) (обязательный)
Font collection.

Код OnboardingFonts::install_font_families() WC 9.7.1

private static function install_font_families( $slug_font_families_to_install, $font_collection ) {
	return array_reduce(
		$slug_font_families_to_install,
		function( $carry, $slug ) use ( $font_collection ) {
			$font_family_from_collection = self::get_font_family_by_slug_from_font_collection( $slug, $font_collection );
			$font_family_name            = $font_family_from_collection['fontFamily'];
			$font_family_installed       = FontFamily::get_font_family_by_name( $font_family_name );
			if ( $font_family_installed ) {
				return array_merge( $carry, array( $slug => $font_family_installed ) );
			}

			$font_family_settings = array(
				'fontFamily' => $font_family_from_collection['fontFamily'],
				'preview'    => $font_family_from_collection['preview'],
				'slug'       => $font_family_from_collection['slug'],
				'name'       => $font_family_from_collection['name'],
			);

			$font_family_id = FontFamily::insert_font_family( $font_family_settings );
			if ( is_wp_error( $font_family_id ) ) {
				if ( 'duplicate_font_family' !== $font_family_id->get_error_code() ) {
					wc_get_logger()->error(
						sprintf(
							'Font Family installation error: %s',
							$font_family_id->get_error_message(),
						),
						array( 'source' => self::SOURCE_LOGGER )
					);
				}

				return $carry;
			}
			return array_merge( $carry, array( $slug => get_post( $font_family_id ) ) );
		},
		array(),
	);
}