Automattic\WooCommerce

Packages::get_enabled_packagesprotected staticWC 1.0

Gets all merged, enabled packages.

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

Хуков нет.

Возвращает

Массив.

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

$result = Packages::get_enabled_packages();

Код Packages::get_enabled_packages() WC 9.9.5

protected static function get_enabled_packages() {
	$enabled_packages = array();

	foreach ( self::$merged_packages as $merged_package_name => $package_class ) {

		$option       = 'wc_feature_' . str_replace( '-', '_', $merged_package_name ) . '_enabled';
		$option_value = get_option( $option, '' );

		// Opt out from the feature.
		if ( 'no' === $option_value ) {
			continue;
		}

		// Force enable feature -- mainly for testing purpose.
		if ( 'yes' === $option_value ) {
			$enabled_packages[ $merged_package_name ] = $package_class;
			continue;
		}

		// If an option is not set, ensure that a package is enabled for user's remote variant number. Mainly for gradual releases.
		$experimental_package_enabled = method_exists( $package_class, 'is_enabled' ) ?
			call_user_func( array( $package_class, 'is_enabled' ) ) :
			false;

		if ( ! $experimental_package_enabled ) {
			continue;
		}

		$enabled_packages[ $merged_package_name ] = $package_class;
	}

	return array_merge( $enabled_packages, self::$base_packages );
}