Automattic\WooCommerce\Admin
PluginsHelper::get_missing_subscription_notice
Get formatted notice information for missing subscription.
Method of the class: PluginsHelper{}
No Hooks.
Returns
Array. notice information.
Usage
$result = PluginsHelper::get_missing_subscription_notice();
PluginsHelper::get_missing_subscription_notice() PluginsHelper::get missing subscription notice code WC 10.4.3
public static function get_missing_subscription_notice() {
if ( ! WC_Helper::is_site_connected() ) {
return array();
}
if ( self::$subscription_usage_notices_already_shown ) {
return array();
}
if ( ! self::should_show_notice( self::DISMISS_MISSING_SUBS_NOTICE ) ) {
return array();
}
$subscriptions = WC_Helper::get_subscription_list_data();
$missing_subscriptions = array_filter(
$subscriptions,
function ( $sub ) {
return ( ! empty( $sub['local']['installed'] ) && empty( $sub['product_key'] ) );
},
);
// Remove WUM from missing subscriptions list.
$missing_subscriptions = array_filter(
$missing_subscriptions,
function ( $sub ) {
return 'woo-update-manager' !== $sub['zip_slug'];
}
);
if ( ! $missing_subscriptions ) {
return array();
}
$total_missing_subscriptions = count( $missing_subscriptions );
$notice_data = self::get_subscriptions_notice_data(
$subscriptions,
$missing_subscriptions,
$total_missing_subscriptions,
array(
/* translators: 1) product name */
'single_manage' => __( 'You don\'t have a subscription for <strong>%1$s</strong>. Subscribe to receive updates and streamlined support.', 'woocommerce' ),
/* translators: 1) total expired subscriptions */
'different_subscriptions' => __( 'You don\'t have subscriptions for <strong>%1$s Woo extensions</strong>. Subscribe to receive updates and streamlined support.', 'woocommerce' ),
),
'missing',
);
$button_link = add_query_arg(
array(
'add-to-cart' => $notice_data['product_id'],
'utm_source' => 'pu',
'utm_campaign' => 'pu_in_apps_screen_purchase',
),
self::WOO_CART_PAGE_URL
);
if ( in_array( $notice_data['type'], array( 'single_manage', 'multiple_manage' ), true ) ) {
$button_link = add_query_arg(
array(
'add-to-cart' => $notice_data['product_id'],
),
$button_link
);
}
$button_text = __( 'Subscribe', 'woocommerce' );
return array(
'description' => $notice_data['parsed_message'],
'button_text' => $button_text,
'button_link' => $button_link,
);
}