Automattic\WooCommerce\Internal\Admin\Onboarding
OnboardingFonts::install_font_families
Install font families.
Method of the class: OnboardingFonts{}
No Hooks.
Returns
Array.
Usage
$result = OnboardingFonts::install_font_families( $slug_font_families_to_install, $font_collection );
- $slug_font_families_to_install(array) (required)
- Font families to install.
- $font_collection(array) (required)
- Font collection.
OnboardingFonts::install_font_families() OnboardingFonts::install font families code WC 10.3.3
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(),
);
}