Automattic\WooCommerce
Packages::get_enabled_packages
Gets all merged, enabled packages.
Method of the class: Packages{}
No Hooks.
Returns
Array.
Usage
$result = Packages::get_enabled_packages();
Packages::get_enabled_packages() Packages::get enabled packages code WC 10.4.3
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 );
}