'included' => true, 'description' => __( 'Automatically updated', 'jetpack-my-jetpack' ), 'info' => array( 'title' => __( 'Automatic Critical CSS regeneration', 'jetpack-my-jetpack' ), 'content' => __( '

It’s essential to regenerate Critical CSS to optimize your site speed whenever your HTML or CSS structure changes. Being on top of this can be tedious and time-consuming.

Boost’s cloud service can automatically detect when your site needs the Critical CSS regenerated, and perform this function behind the scenes without requiring you to monitor it manually.

', 'jetpack-my-jetpack' ), ), ), ), ), array( 'name' => __( 'Defer non-essential JavaScript', 'jetpack-my-jetpack' ), 'info' => array( 'content' => __( 'Run non-essential JavaScript after the page has loaded so that styles and images can load more quickly.', 'jetpack-my-jetpack' ), 'link' => array( 'id' => 'jetpack-boost-defer-js', 'title' => 'web.dev', ), ), 'tiers' => array( self::FREE_TIER_SLUG => array( 'included' => true ), self::UPGRADED_TIER_SLUG => array( 'included' => true ), ), ), array( 'name' => __( 'Lazy image loading', 'jetpack-my-jetpack' ), 'info' => array( 'content' => __( 'Improve page loading speed by only loading images when they are required.', 'jetpack-my-jetpack' ), 'link' => array( 'id' => 'jetpack-boost-lazy-load', 'title' => 'web.dev', ), ), 'tiers' => array( self::FREE_TIER_SLUG => array( 'included' => true ), self::UPGRADED_TIER_SLUG => array( 'included' => true ), ), ), array( 'name' => __( 'Image guide', 'jetpack-my-jetpack' ), 'info' => array( 'content' => __( 'Discover and fix images with a suboptimal resolution, aspect ratio, or file size, improving user experience and page speed.', 'jetpack-my-jetpack' ), ), 'tiers' => array( self::FREE_TIER_SLUG => array( 'included' => true ), self::UPGRADED_TIER_SLUG => array( 'included' => true ), ), ), array( 'name' => __( 'Image CDN', 'jetpack-my-jetpack' ), 'info' => array( 'content' => __( 'Deliver images from Jetpack\'s Content Delivery Network. Automatically resizes your images to an appropriate size, converts them to modern efficient formats like WebP, and serves them from a worldwide network of servers.', 'jetpack-my-jetpack' ), ), 'tiers' => array( self::FREE_TIER_SLUG => array( 'included' => true ), self::UPGRADED_TIER_SLUG => array( 'included' => true ), ), ), array( 'name' => __( 'Dedicated email support', 'jetpack-my-jetpack' ), 'info' => array( 'content' => __( '

Paid customers get dedicated email support from our world-class Happiness Engineers to help with any issue.

All other questions are handled by our team as quickly as we are able to go through the WordPress support forum.

', 'jetpack-my-jetpack' ), ), 'tiers' => array( self::FREE_TIER_SLUG => array( 'included' => false ), self::UPGRADED_TIER_SLUG => array( 'included' => true ), ), ), ); } /** * Get the URL the user is taken after purchasing the product through the checkout * * @return ?string */ public static function get_post_checkout_url() { return self::get_manage_url(); } /** * Get the product princing details * * @return array Pricing details */ public static function get_pricing_for_ui() { return array( 'tiers' => array( self::FREE_TIER_SLUG => array( 'available' => true, 'is_free' => true, ), self::UPGRADED_TIER_SLUG => array_merge( array( 'available' => true, 'wpcom_product_slug' => self::UPGRADED_TIER_PRODUCT_SLUG, ), Wpcom_Products::get_product_pricing( self::UPGRADED_TIER_PRODUCT_SLUG ) ), ), ); } /** * Checks whether the current plan (or purchases) of the site already supports the product * * @return boolean */ public static function has_paid_plan_for_product() { $purchases_data = Wpcom_Products::get_site_current_purchases(); if ( is_wp_error( $purchases_data ) ) { return false; } if ( is_array( $purchases_data ) && ! empty( $purchases_data ) ) { foreach ( $purchases_data as $purchase ) { // Boost is available as standalone bundle and as part of the Complete plan. if ( strpos( $purchase->product_slug, 'jetpack_boost' ) !== false || str_starts_with( $purchase->product_slug, 'jetpack_complete' ) ) { return true; } } } return false; } /** * Get the URL where the user manages the product * * @return ?string */ public static function get_manage_url() { return admin_url( 'admin.php?page=jetpack-boost' ); } /** * Activates the product by installing and activating its plugin * * @param bool|WP_Error $current_result Is the result of the top level activation actions. You probably won't do anything if it is an WP_Error. * @return boolean|WP_Error */ public static function do_product_specific_activation( $current_result ) { $product_activation = parent::do_product_specific_activation( $current_result ); if ( is_wp_error( $product_activation ) && 'module_activation_failed' === $product_activation->get_error_code() ) { // A bundle is not a module. There's nothing in the plugin to be activated, so it's ok to fail to activate the module. $product_activation = true; } // We just "got started" in My Jetpack, so skip the in-plugin experience. update_option( 'jb_get_started', false ); return $product_activation; } }
Fatal error: Uncaught Error: Class "Automattic\Jetpack\My_Jetpack\Products\Boost" not found in /htdocs/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-products.php:192 Stack trace: #0 /htdocs/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-initializer.php(80): Automattic\Jetpack\My_Jetpack\Products::extend_plugins_action_links() #1 /htdocs/wp-content/plugins/jetpack/class.jetpack.php(976): Automattic\Jetpack\My_Jetpack\Initializer::init() #2 /htdocs/wp-includes/class-wp-hook.php(324): Jetpack->late_initialization('') #3 /htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #4 /htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #5 /htdocs/wp-settings.php(559): do_action('plugins_loaded') #6 /htdocs/wp-config.php(85): require_once('/htdocs/wp-sett...') #7 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #8 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #9 /htdocs/index.php(17): require('/htdocs/wp-blog...') #10 {main} thrown in /htdocs/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-products.php on line 192