Automattic\WooCommerce\Internal\Admin\RemoteFreeExtensions
DefaultFreeExtensions::with_core_profiler_fields │ public static │ WC 1.0
Decorate plugin data with core profiler fields.
- Updated description for the core-profiler.
- Adds learn_more_link and label.
- Adds install_priority, which is used to sort the plugins. The value is determined by the plugin size. Lower = smaller.
Метод класса: DefaultFreeExtensions{}
Хуков нет.
Возвращает
Массив.
Использование
$result = DefaultFreeExtensions::with_core_profiler_fields( $plugins );
- $plugins(массив) (обязательный)
- Array of plugins.
Код DefaultFreeExtensions::with_core_profiler_fields() DefaultFreeExtensions::with core profiler fields WC 10.3.4
public static function with_core_profiler_fields( array $plugins ) {
$_plugins = array(
'woocommerce-payments' => array(
'label' => __( 'Get paid with WooPayments', 'woocommerce' ),
'image_url' => self::get_woo_logo(),
'description' => __( "Securely accept payments and manage payment activity straight from your store's dashboard", 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/woocommerce-payments?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 5,
'requires_jpc' => true,
),
'woocommerce-shipping' => array(
'label' => __( 'Save on shipping with WooCommerce Shipping', 'woocommerce' ),
'image_url' => self::get_woo_logo(),
'description' => __( 'Print discounted USPS, UPS, and DHL labels', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/woocommerce-shipping?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 3,
),
'jetpack' => array(
'label' => __( 'Protect your store and your shoppers with Jetpack', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-jetpack.svg', WC_PLUGIN_FILE ),
'description' => __( 'Keep your store online with full security and backups', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/jetpack?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 8,
'requires_jpc' => true,
),
'pinterest-for-woocommerce' => array(
'label' => __( 'Showcase your products with Pinterest', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-pinterest.svg', WC_PLUGIN_FILE ),
'description' => __( 'Get your products in front of a highly engaged audience.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/pinterest-for-woocommerce?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 2,
),
'kliken-ads-pixel-for-meta' => array(
'label' => __( 'Grow your business with Facebook and Instagram', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-kliken.svg', WC_PLUGIN_FILE ),
'description' => __( 'Sync your store catalog, set up pixel tracking, and run targeted ad campaigns.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/meta-ads-and-pixel?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 2,
),
'mailpoet' => array(
'label' => __( 'Reach your customers with MailPoet', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-mailpoet.svg', WC_PLUGIN_FILE ),
'description' => __( 'Send purchase follow-up emails, newsletters, and promotional campaigns.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/mailpoet?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 7,
),
'klaviyo' => array(
'label' => __( 'Klaviyo', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/onboarding/klaviyo.png', WC_PLUGIN_FILE ),
'description' => __( 'Grow and retain customers with email, SMS, automations, and a consolidated view of customer interactions.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/klaviyo-for-woocommerce?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 7,
),
'tiktok-for-business' => array(
'label' => __( 'Create ad campaigns with TikTok', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-tiktok.png', WC_PLUGIN_FILE ),
'description' => __( 'Create advertising campaigns and reach one billion global users.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/tiktok-for-woocommerce?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 1,
),
'google-listings-and-ads' => array(
'label' => __( 'Drive sales with Google for WooCommerce', 'woocommerce' ),
'image_url' => plugins_url( '/assets/images/core-profiler/logo-google.svg', WC_PLUGIN_FILE ),
'description' => __( 'Reach millions of active shoppers across Google with free product listings and ads.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/google-listings-and-ads?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 6,
),
'woocommerce-services:tax' => array(
'label' => __( 'Get automated tax rates with WooCommerce Tax', 'woocommerce' ),
'image_url' => self::get_woo_logo(),
'description' => __( 'Automatically calculate how much sales tax should be collected – by city, country, or state.', 'woocommerce' ),
'learn_more_link' => 'https://woocommerce.com/products/tax?utm_source=storeprofiler&utm_medium=product&utm_campaign=freefeatures',
'install_priority' => 4,
),
);
$_plugins['woocommerce-shipping']['is_visible'] = array(
array(
'type' => 'base_location_country',
'value' => 'US',
'operation' => '=',
),
);
$_plugins['woocommerce-services:tax']['is_visible'] = array(
self::get_rules_for_wcservices_tax_countries(),
);
$remove_plugins_activated_rule = function ( $is_visible ) {
$is_visible = array_filter(
array_map(
function ( $rule ) {
if ( is_object( $rule ) || ! isset( $rule['operand'] ) ) {
return $rule;
}
return array_filter(
$rule['operand'],
function ( $operand ) {
return 'plugins_activated' !== $operand['type'];
}
);
},
$is_visible
)
);
return empty( $is_visible ) ? true : $is_visible;
};
foreach ( $plugins as &$plugin ) {
if ( isset( $_plugins[ $plugin['key'] ] ) ) {
$plugin = array_merge( $plugin, $_plugins[ $plugin['key'] ] );
if ( isset( $plugin['is_visible'] ) && is_array( $plugin['is_visible'] ) ) {
$plugin['is_visible'] = $remove_plugins_activated_rule( $plugin['is_visible'] );
}
}
}
return $plugins;
}