From 128b8a72c635fa83aa1dfe55692ab2a67880520d Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Tue, 17 Mar 2026 14:19:37 +0200 Subject: [PATCH 1/5] refactor: update Black Friday labels --- includes/admin/class-rop-admin.php | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/includes/admin/class-rop-admin.php b/includes/admin/class-rop-admin.php index 3b937035..6455e170 100644 --- a/includes/admin/class-rop-admin.php +++ b/includes/admin/class-rop-admin.php @@ -1908,29 +1908,35 @@ public function get_languages() { public static function add_black_friday_data( $configs ) { $config = $configs['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.', 'tweet-old-post' ); - $product_label = __( 'Revive Social', 'tweet-old-post' ); - $discount = '50%'; + $message = __( 'Custom schedules, multiple accounts, analytics. Automate your social sharing properly. Exclusively for existing Revive Social users.', 'tweet-old-post' ); + $cta_label = __( 'Get Revive Social Pro', 'tweet-old-post' ); $plan = apply_filters( 'product_rop_license_plan', 0 ); $license = apply_filters( 'product_rop_license_key', false ); - $is_pro = 0 < $plan; + $status = apply_filters( 'product_rop_license_status', false ); + $is_pro = 'valid' === $status; + $is_expired = 'expired' === $status || 'active-expired' === $status; 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.', 'tweet-old-post' ); - $product_label = __( 'Revive Social Pro', 'tweet-old-post' ); - $discount = '20%'; + // translators: %1$s - discount, %2$s - discount. + $message = sprintf( __( 'Upgrade your Revive Social Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'tweet-old-post' ), '30%', '20%' ); + $cta_label = __( 'See your options', 'tweet-old-post' ); + } elseif ( $is_expired ) { + $message = __( 'Your Revive Social Pro features are still here, just locked. Renew at a reduced rate this week.', 'tweet-old-post' ); + $cta_label = __( 'Reactivate now', 'tweet-old-post' ); + } else { + // translators: %s - discount. + $config['title'] = sprintf( __( 'Revive Social Pro: %s off this week', 'tweet-old-post' ), '60%' ); } - $product_label = sprintf( '%s', $product_label ); $url_params = array( 'utm_term' => $is_pro ? 'plan-' . $plan : 'free', 'lkey' => ! empty( $license ) ? $license : false, + 'expired' => $is_expired ? '1' : false, ); - $config['message'] = sprintf( $message_template, '', $discount, '', $product_label ); + $config['message'] = $message; + $config['cta_label'] = $cta_label; $config['sale_url'] = add_query_arg( $url_params, tsdk_translate_link( tsdk_utmify( 'https://themeisle.link/rs-bf', 'bfcm', 'revive' ) ) From fd84cebee30dbbb9ea85705e77fa5129ee774c14 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 20 Mar 2026 12:41:50 +0200 Subject: [PATCH 2/5] feat: add product link --- includes/admin/class-rop-admin.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/includes/admin/class-rop-admin.php b/includes/admin/class-rop-admin.php index 6455e170..2d021615 100644 --- a/includes/admin/class-rop-admin.php +++ b/includes/admin/class-rop-admin.php @@ -1852,6 +1852,12 @@ public function get_survey_metadata() { * @return array */ public function rop_upgrade_to_pro_plugin_action( $actions, $plugin_file ) { + + $is_black_friday = apply_filters( 'themeisle_sdk_is_black_friday_sale', false ); + if ( $is_black_friday ) { + return $actions; + } + $global_settings = new \Rop_Global_Settings(); $actions['settings'] = '' . __( 'Settings', 'tweet-old-post' ) . ''; if ( $global_settings->license_type() < 1 ) { @@ -1917,6 +1923,14 @@ public static function add_black_friday_data( $configs ) { $is_pro = 'valid' === $status; $is_expired = 'expired' === $status || 'active-expired' === $status; + $pro_product_slug = defined( 'ROP_PRO_BASEFILE' ) ? basename( dirname( ROP_PRO_BASEFILE ) ) : ''; + if ( $is_pro || $is_expired ) { + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'tweet-old-post' ), '30%' ); + $config['plugin_meta_targets'] = array( $pro_product_slug ); + } else { + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'tweet-old-post' ), '60%' ); + } + if ( $is_pro ) { // translators: %1$s - discount, %2$s - discount. $message = sprintf( __( 'Upgrade your Revive Social Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'tweet-old-post' ), '30%', '20%' ); From 16413a82a7345da55d738250b203013d27741b2f Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 20 Mar 2026 15:44:35 +0200 Subject: [PATCH 3/5] chore: translators comments --- includes/admin/class-rop-admin.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/admin/class-rop-admin.php b/includes/admin/class-rop-admin.php index 2d021615..7b55ba8e 100644 --- a/includes/admin/class-rop-admin.php +++ b/includes/admin/class-rop-admin.php @@ -1925,9 +1925,11 @@ public static function add_black_friday_data( $configs ) { $pro_product_slug = defined( 'ROP_PRO_BASEFILE' ) ? basename( dirname( ROP_PRO_BASEFILE ) ) : ''; if ( $is_pro || $is_expired ) { + // translators: %s is the discount percentage. $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'tweet-old-post' ), '30%' ); $config['plugin_meta_targets'] = array( $pro_product_slug ); } else { + // translators: %s is the discount percentage. $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'tweet-old-post' ), '60%' ); } From b26ec54109484c178dfb81f7fed65f11e283e15d Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Mon, 23 Mar 2026 13:47:27 +0200 Subject: [PATCH 4/5] chore: add menu upsell override for BF --- includes/admin/class-rop-admin.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/admin/class-rop-admin.php b/includes/admin/class-rop-admin.php index 7b55ba8e..806dedba 100644 --- a/includes/admin/class-rop-admin.php +++ b/includes/admin/class-rop-admin.php @@ -1943,6 +1943,8 @@ public static function add_black_friday_data( $configs ) { } else { // translators: %s - discount. $config['title'] = sprintf( __( 'Revive Social Pro: %s off this week', 'tweet-old-post' ), '60%' ); + // translators: %s - discount. + $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'tweet-old-post' ), '60%' ); } $url_params = array( From 25d3b0ce3c616c9202f6b2e1d42af28034ea21e3 Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 27 Mar 2026 14:41:45 +0200 Subject: [PATCH 5/5] chore: update labels --- includes/admin/class-rop-admin.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/includes/admin/class-rop-admin.php b/includes/admin/class-rop-admin.php index 806dedba..013e5baa 100644 --- a/includes/admin/class-rop-admin.php +++ b/includes/admin/class-rop-admin.php @@ -1924,23 +1924,27 @@ public static function add_black_friday_data( $configs ) { $is_expired = 'expired' === $status || 'active-expired' === $status; $pro_product_slug = defined( 'ROP_PRO_BASEFILE' ) ? basename( dirname( ROP_PRO_BASEFILE ) ) : ''; + if ( $is_pro || $is_expired ) { - // translators: %s is the discount percentage. - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'tweet-old-post' ), '30%' ); $config['plugin_meta_targets'] = array( $pro_product_slug ); - } else { - // translators: %s is the discount percentage. - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'tweet-old-post' ), '60%' ); } if ( $is_pro ) { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'tweet-old-post' ), '30%' ); // translators: %1$s - discount, %2$s - discount. $message = sprintf( __( 'Upgrade your Revive Social Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'tweet-old-post' ), '30%', '20%' ); $cta_label = __( 'See your options', 'tweet-old-post' ); } elseif ( $is_expired ) { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'tweet-old-post' ), '50%' ); + // translators: %s - discount. + $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'tweet-old-post' ), '50%' ); $message = __( 'Your Revive Social Pro features are still here, just locked. Renew at a reduced rate this week.', 'tweet-old-post' ); $cta_label = __( 'Reactivate now', 'tweet-old-post' ); } else { + // translators: %s is the discount percentage. + $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'tweet-old-post' ), '50%' ); // translators: %s - discount. $config['title'] = sprintf( __( 'Revive Social Pro: %s off this week', 'tweet-old-post' ), '60%' ); // translators: %s - discount.