WordPress at Your Fingertips
function is not described

WC_WCCOM_Site_Installer::activate_theme() private WC 3.7.0

Activate theme given its product ID.

{} It's a method of the class: WC_WCCOM_Site_Installer{}

No Hooks.

Return

\WP_Error|null.

Usage

$result = WC_WCCOM_Site_Installer::activate_theme( $product_id );
$product_id(int) (required)
Product ID.

Changelog

Since 3.7.0 Introduced.

Code of WC_WCCOM_Site_Installer::activate_theme() WC 5.6.0

private static function activate_theme( $product_id ) {
	// Clear plugins cache used in `WC_Helper::get_local_woo_themes`.
	wp_clean_themes_cache();
	$theme_slug = false;

	// If product is WP.org theme, find out its slug.
	$dir_name = self::get_wporg_product_dir_name( $product_id );
	if ( false !== $dir_name ) {
		$theme_slug = basename( $dir_name );
	}

	if ( false === $theme_slug ) {
		$themes = wp_list_filter(
			WC_Helper::get_local_woo_themes(),
			array(
				'_product_id' => $product_id,
			)
		);

		$theme_slug = is_array( $themes ) && ! empty( $themes ) ? dirname( key( $themes ) ) : '';
	}

	if ( empty( $theme_slug ) ) {
		return new WP_Error( 'unknown_filename', __( 'Unknown product filename.', 'woocommerce' ) );
	}

	return switch_theme( $theme_slug );
}