From 3f9f0f0190150933858406028f4b953ee32e32f9 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Mon, 16 Mar 2026 12:24:39 +0200 Subject: [PATCH 1/5] refactor: update the black friday labels --- inc/admin/dashboard/main.php | 42 +++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index 03b0be0de7..96be48afff 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -1301,30 +1301,38 @@ function( $data, $page_slug ) use ( $dash_data ) { */ public static function get_black_friday_data( $default = array() ) { $config = $default; - - // translators: %1$s - HTML tag, %2$s - discount, %3$s - HTML tag, %4$s - product name. - $message_template = __( 'Our biggest sale of the year: %1$sup to %2$s OFF%3$s on %4$s. Don\'t miss this limited-time offer.', 'neve' ); - $product_label = __( 'Neve', 'neve' ); - $discount = '70%'; - - $plan = apply_filters( 'product_neve_license_plan', 0 ); + + $message = __( 'Custom layouts, WooCommerce tools, starter sites. What you\'ve been doing manually, Neve Pro handles for you. Exclusively for existing Neve users.', 'neve' ); + $cta_label = __( 'Get Neve Pro', 'neve' ); + + $plan = apply_filters( 'product_neve_license_plan', false ); $is_pro = 0 < $plan; - - if ( $is_pro ) { - // translators: %1$s - HTML tag, %2$s - discount, %3$s - HTML tag, %4$s - product name. - $message_template = __( 'Get %1$sup to %2$s off%3$s when you upgrade your %4$s plan or renew early.', 'neve' ); - $product_label = __( 'Neve Pro', 'neve' ); - $discount = '30%'; + + $license_status = apply_filters( 'product_neve_license_status', false ); + $has_valid_license = 'valid' === $license_status; + $has_expired_license = 'expired' === $license_status || 'active_exired' === $license_status; + + if ( $has_valid_license ) { + // translators: %1$s - the discount percentage for the upgrade, %2$s - the discount percentage for the renewal. + $message = sprintf( __( 'Upgrade your Neve Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'neve' ), '30%', '20%' ); + $cta_label = __( 'See your options', 'neve' ); + } elseif ( $has_expired_license ) { + $message = __( 'Your Neve Pro features are still here, just locked. Renew at a reduced rate this week and pick up right where you left off.', 'neve' ); + $cta_label = __( 'Reactivate now', 'neve' ); + } else { + // translators: %s - the discount percentage for the upgrade. + $config['title'] = sprintf( __( 'Neve Pro: %s off this week', 'neve' ), '60%' ); } - $product_label = sprintf( '%s', $product_label ); - $url_params = array( + $url_params = array( 'utm_term' => $is_pro ? 'plan-' . $plan : 'free', 'lkey' => apply_filters( 'product_neve_license_key', false ), + 'expired' => $has_expired_license ? '1' : false, ); - $config['message'] = sprintf( $message_template, '', $discount, '', $product_label ); - $config['sale_url'] = add_query_arg( + $config['message'] = $message; + $config['cta_label'] = $cta_label; + $config['sale_url'] = add_query_arg( $url_params, tsdk_translate_link( tsdk_utmify( 'https://themeisle.link/neve-bf', 'bfcm', 'neve' ) ) ); From a80349046680d4f5e6fe7451a9e3425f397a0322 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Mon, 16 Mar 2026 12:34:26 +0200 Subject: [PATCH 2/5] chore: status slug --- inc/admin/dashboard/main.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index 96be48afff..5a059d2145 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -1310,7 +1310,7 @@ public static function get_black_friday_data( $default = array() ) { $license_status = apply_filters( 'product_neve_license_status', false ); $has_valid_license = 'valid' === $license_status; - $has_expired_license = 'expired' === $license_status || 'active_exired' === $license_status; + $has_expired_license = 'expired' === $license_status || 'active-expired' === $license_status; if ( $has_valid_license ) { // translators: %1$s - the discount percentage for the upgrade, %2$s - the discount percentage for the renewal. From e54ee5eee39ae0fe53ef5a5b94fc868a7b8bf1b3 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 20 Mar 2026 18:03:30 +0200 Subject: [PATCH 3/5] chore: add plugin meta link integration --- inc/admin/dashboard/main.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index 5a059d2145..d86e1c3d86 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -1312,6 +1312,8 @@ public static function get_black_friday_data( $default = array() ) { $has_valid_license = 'valid' === $license_status; $has_expired_license = 'expired' === $license_status || 'active-expired' === $license_status; + $neve_pro_product_slug = defined( 'NEVE_PRO_BASEFILE' ) ? basename( dirname( NEVE_PRO_BASEFILE ) ) : ''; + if ( $has_valid_license ) { // translators: %1$s - the discount percentage for the upgrade, %2$s - the discount percentage for the renewal. $message = sprintf( __( 'Upgrade your Neve Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'neve' ), '30%', '20%' ); @@ -1323,6 +1325,15 @@ public static function get_black_friday_data( $default = array() ) { // translators: %s - the discount percentage for the upgrade. $config['title'] = sprintf( __( 'Neve Pro: %s off this week', 'neve' ), '60%' ); } + + if ( $has_valid_license || $has_expired_license ) { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'neve' ), '30%' ); + $config['plugin_meta_targets'] = array( $neve_pro_product_slug ); + } else { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'neve' ), '60%' ); + } $url_params = array( 'utm_term' => $is_pro ? 'plan-' . $plan : 'free', From 6046a6feb40bd249e0a4db7067ca2ac89e608b20 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Mon, 23 Mar 2026 14:01:41 +0200 Subject: [PATCH 4/5] chore: add plugin meta link integration --- inc/admin/dashboard/main.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index d86e1c3d86..cf6054b832 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -1333,6 +1333,9 @@ public static function get_black_friday_data( $default = array() ) { } else { // translators: %s is the discount percentage. $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'neve' ), '60%' ); + + // translators: %s is the discount percentage. + $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'neve' ), '60%' ); } $url_params = array( From 5ec6ef254b0049f75d902b89e8e29a3f3154d8ff Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 27 Mar 2026 15:46:10 +0200 Subject: [PATCH 5/5] chore: update labels --- inc/admin/dashboard/main.php | 54 +++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index cf6054b832..6a11976538 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -56,7 +56,7 @@ public function init() { add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] ); add_action( 'init', array( $this, 'register_settings' ) ); add_action( 'init', array( $this, 'register_about_page' ), 1 ); - + add_action( 'admin_notices', array( $this, 'render_custom_layout_header' ) ); } @@ -999,7 +999,7 @@ private function get_available_modules() { */ public function render_custom_layout_header() { $screen = get_current_screen(); - + if ( ! $screen || ! ( $screen->id === 'edit-neve_custom_layouts' || $screen->id === 'neve_page_neve-custom-layout-upsell' ) ) { return; } @@ -1255,18 +1255,18 @@ public function render_neve_header() { /** * Register the survey. - * + * * @param array $dash_data The dashboard data. - * + * * @return void */ public function register_survey( $dash_data ) { add_filter( 'themeisle-sdk/survey/neve', function( $data, $page_slug ) use ( $dash_data ) { - + $install_days_number = intval( ( time() - get_option( 'neve_install', time() ) ) / DAY_IN_SECONDS ); - + $data = array( 'environmentId' => 'clr0ply35522h8up0bay2de4y', 'attributes' => array( @@ -1288,26 +1288,26 @@ function( $data, $page_slug ) use ( $dash_data ) { return $data; }, 10, - 2 + 2 ); } /** * Get the Black Friday config settings. - * + * * @param array $default Optional. The default values. - * + * * @return array The data. */ public static function get_black_friday_data( $default = array() ) { $config = $default; - + $message = __( 'Custom layouts, WooCommerce tools, starter sites. What you\'ve been doing manually, Neve Pro handles for you. Exclusively for existing Neve users.', 'neve' ); $cta_label = __( 'Get Neve Pro', 'neve' ); - + $plan = apply_filters( 'product_neve_license_plan', false ); $is_pro = 0 < $plan; - + $license_status = apply_filters( 'product_neve_license_status', false ); $has_valid_license = 'valid' === $license_status; $has_expired_license = 'expired' === $license_status || 'active-expired' === $license_status; @@ -1315,35 +1315,37 @@ public static function get_black_friday_data( $default = array() ) { $neve_pro_product_slug = defined( 'NEVE_PRO_BASEFILE' ) ? basename( dirname( NEVE_PRO_BASEFILE ) ) : ''; if ( $has_valid_license ) { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'neve' ), '30%' ); // translators: %1$s - the discount percentage for the upgrade, %2$s - the discount percentage for the renewal. $message = sprintf( __( 'Upgrade your Neve Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'neve' ), '30%', '20%' ); $cta_label = __( 'See your options', 'neve' ); } elseif ( $has_expired_license ) { - $message = __( 'Your Neve Pro features are still here, just locked. Renew at a reduced rate this week and pick up right where you left off.', 'neve' ); - $cta_label = __( 'Reactivate now', 'neve' ); + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'neve' ), '50%' ); + // translators: %s is the discount percentage. + $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'neve' ), '50%' ); + $message = __( 'Your Neve Pro features are still here, just locked. Renew at a reduced rate this week and pick up right where you left off.', 'neve' ); + $cta_label = __( 'Reactivate now', 'neve' ); } else { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'neve' ), '60%' ); + // translators: %s is the discount percentage. + $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'neve' ), '60%' ); // translators: %s - the discount percentage for the upgrade. $config['title'] = sprintf( __( 'Neve Pro: %s off this week', 'neve' ), '60%' ); } if ( $has_valid_license || $has_expired_license ) { - // translators: %s is the discount percentage. - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'neve' ), '30%' ); $config['plugin_meta_targets'] = array( $neve_pro_product_slug ); - } else { - // translators: %s is the discount percentage. - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'neve' ), '60%' ); - - // translators: %s is the discount percentage. - $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'neve' ), '60%' ); } - + $url_params = array( 'utm_term' => $is_pro ? 'plan-' . $plan : 'free', 'lkey' => apply_filters( 'product_neve_license_key', false ), 'expired' => $has_expired_license ? '1' : false, ); - + $config['message'] = $message; $config['cta_label'] = $cta_label; $config['sale_url'] = add_query_arg( @@ -1356,9 +1358,9 @@ public static function get_black_friday_data( $default = array() ) { /** * Add the Black Friday data. - * + * * @param array $configs An array of configurations. - * + * * @return array The configurations. */ public function add_black_friday_data( $configs ) {