Automattic\WooCommerce\Admin\Features

Features::load_features │ public static │ WC 1.0

Class loader for enabled WooCommerce Admin features/sections.

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

Хуков нет.

Возвращает

null. Ничего (null).

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

$result = Features::load_features();

Код Features::load_features() WC 11.2.2

public static function load_features() {
	if ( ! self::should_load_features() ) {
		return;
	}

	$always_loaded_feature_classes = array(
		\Automattic\WooCommerce\Internal\Admin\ActivityPanels::class,
		\Automattic\WooCommerce\Internal\Admin\Analytics::class,
		\Automattic\WooCommerce\Internal\Admin\Coupons::class,
		\Automattic\WooCommerce\Internal\Admin\CustomerEffortScoreTracks::class,
		\Automattic\WooCommerce\Internal\Admin\Homescreen::class,
		\Automattic\WooCommerce\Internal\Admin\Marketing::class,
		\Automattic\WooCommerce\Internal\Admin\MobileAppBanner::class,
		\Automattic\WooCommerce\Admin\Features\OnboardingTasks\Init::class,
		\Automattic\WooCommerce\Internal\Admin\RemoteInboxNotifications::class,
		\Automattic\WooCommerce\Internal\Admin\RemoteFreeExtensions\Init::class,
		\Automattic\WooCommerce\Internal\Admin\ShippingLabelBanner::class,
		\Automattic\WooCommerce\Admin\Features\PaymentGatewaySuggestions\Init::class,
		\Automattic\WooCommerce\Admin\Features\TransientNotices::class,
		\Automattic\WooCommerce\Internal\Admin\WCPayPromotion\Init::class,
		\Automattic\WooCommerce\Internal\Admin\WcPayWelcomePage::class,
		\Automattic\WooCommerce\Admin\Features\LaunchYourStore::class,
	);

	foreach ( $always_loaded_feature_classes as $feature_class ) {
		new $feature_class();
	}

	$features = self::get_features();
	foreach ( $features as $feature ) {
		$feature_class = self::get_feature_class( $feature );

		if ( ! $feature_class ) {
			continue;
		}

		foreach ( $always_loaded_feature_classes as $loaded_feature_class ) {
			if ( is_a( $feature_class, $loaded_feature_class, true ) ) {
				// Skip the outer features loop because this feature was already loaded.
				continue 2;
			}
		}

		new $feature_class();
	}

	if ( FeaturesUtil::feature_is_enabled( 'blueprint' ) ) {
		new \Automattic\WooCommerce\Admin\Features\Blueprint\Init();
	}

	if ( FeaturesUtil::feature_is_enabled( 'order-detail-redesign' ) ) {
		new \Automattic\WooCommerce\Internal\Features\OrderDetailRedesign\Init();
	}
}