PluginProbe
Elementor Website Builder – more than just a page builder / 3.34.3
Elementor Website Builder – more than just a page builder v3.34.3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | core/admin/admin-notices.php +67 -64 4.0.73.34.3 View file →
@@ -33,8 +33,9 @@
33 33 'tracker_last_update',
34 34 'rate_us_feedback',
35 35 'role_manager_promote',
36 36 'experiment_promotion',
37 + 'send_app_promotion',
37 38 'site_mailer_promotion',
38 39 'plugin_image_optimization',
39 40 'ally_pages_promotion',
40 41 self::LOCAL_GOOGLE_FONTS_DISABLED_NOTICE_ID,
@@ -469,8 +470,58 @@
469 470 $detected_form_plugin = false;
470 471 return $detected_form_plugin;
471 472 }
472 473
474 + private function notice_send_app_promotion() {
475 + return self::EXIT_EARLY_FOR_BACKWARD_COMPATIBILITY;
476 +
477 + $notice_id = 'send_app_promotion';
478 +
479 + if ( ! $this->is_elementor_page() && ! $this->is_elementor_admin_screen() ) {
480 + return false;
481 + }
482 +
483 + if ( time() < $this->get_install_time() + ( 60 * DAY_IN_SECONDS ) ) {
484 + return false;
485 + }
486 +
487 + if ( ! current_user_can( 'install_plugins' ) || User::is_user_notice_viewed( $notice_id ) ) {
488 + return false;
489 + }
490 +
491 + $plugin_file_path = 'send/send-app.php';
492 + $plugin_slug = 'send-app';
493 +
494 + $cta_data = $this->get_plugin_cta_data( $plugin_slug, $plugin_file_path );
495 + if ( empty( $cta_data ) ) {
496 + return false;
497 + }
498 +
499 + $title = sprintf( esc_html__( 'Turn leads into loyal shoppers', 'elementor' ) );
500 +
501 + $options = [
502 + 'title' => $title,
503 + 'description' => esc_html__( 'Collecting leads is just the beginning. With Send by Elementor, you can manage contacts, launch automations, and turn form submissions into sales.', 'elementor' ),
504 + 'id' => $notice_id,
505 + 'type' => 'cta',
506 + 'button' => [
507 + 'text' => $cta_data['text'],
508 + 'url' => $cta_data['url'],
509 + 'type' => 'cta',
510 + ],
511 + 'button_secondary' => [
512 + 'text' => esc_html__( 'Learn more', 'elementor' ),
513 + 'url' => 'https://go.elementor.com/Formslearnmore',
514 + 'new_tab' => true,
515 + 'type' => 'cta',
516 + ],
517 + ];
518 +
519 + $this->print_admin_notice( $options );
520 +
521 + return true;
522 + }
523 +
473 524 private function notice_local_google_fonts_disabled() {
474 525
475 526 if ( ! $this->is_elementor_page() && ! $this->is_elementor_admin_screen() ) {
476 527 return false;
@@ -649,24 +700,14 @@
649 700 if ( ! $is_installed ) {
650 701 $description = esc_html__( 'Use Site Mailer to ensure store emails like purchase confirmations and shipping updates reach the inbox every time. Included in your ONE subscription.', 'elementor' );
651 702 $button_text = esc_html__( 'Install now', 'elementor' );
652 703 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
653 - $campaign_data = [
654 - 'name' => 'elementor_site_mailer_campaign',
655 - 'campaign' => 'sm-plg-one',
656 - 'source' => 'sm-core-woo-one-install',
657 - 'medium' => 'wp-dash',
658 - ];
704 + $source = 'sm-core-woo-one-install';
659 705 } elseif ( ! $is_active ) {
660 706 $description = esc_html__( 'Site Mailer is installed and included in your ONE subscription. Activate it to ensure store emails like purchase confirmations and shipping updates reach the inbox every time.', 'elementor' );
661 707 $button_text = esc_html__( 'Activate now', 'elementor' );
662 708 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
663 - $campaign_data = [
664 - 'name' => 'elementor_site_mailer_campaign',
665 - 'campaign' => 'sm-plg-one',
666 - 'source' => 'sm-core-woo-one-activate',
667 - 'medium' => 'wp-dash',
668 - ];
709 + $source = 'sm-core-woo-one-activate';
669 710 }
670 711 } else {
671 712 $title = esc_html__( 'Keep your form emails out of the spam folder', 'elementor' );
672 713
@@ -673,24 +714,14 @@
673 714 if ( ! $is_installed ) {
674 715 $description = esc_html__( 'Use Site Mailer to ensure emails reach the inbox and track delivery with built-in logs. Included in your ONE subscription.', 'elementor' );
675 716 $button_text = esc_html__( 'Install now', 'elementor' );
676 717 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
677 - $campaign_data = [
678 - 'name' => 'elementor_site_mailer_campaign',
679 - 'campaign' => 'sm-plg-one',
680 - 'source' => 'sm-core-form-one-install',
681 - 'medium' => 'wp-dash',
682 - ];
718 + $source = 'sm-core-form-one-install';
683 719 } elseif ( ! $is_active ) {
684 720 $description = esc_html__( 'Use Site Mailer to ensure emails reach the inbox and track delivery with built-in logs. Site Mailer is included in your ONE subscription. Activate it to continue.', 'elementor' );
685 721 $button_text = esc_html__( 'Activate now', 'elementor' );
686 722 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
687 - $campaign_data = [
688 - 'name' => 'elementor_site_mailer_campaign',
689 - 'campaign' => 'sm-plg-one',
690 - 'source' => 'sm-core-form-one-activate',
691 - 'medium' => 'wp-dash',
692 - ];
723 + $source = 'sm-core-form-one-activate';
693 724 }
694 725 }
695 726 // phpcs:ignore Universal.ControlStructures.DisallowLonelyIf.Found
696 727 } else {
@@ -700,23 +731,13 @@
700 731
701 732 if ( ! $is_installed ) {
702 733 $button_text = esc_html__( 'Install now', 'elementor' );
703 734 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
704 - $campaign_data = [
705 - 'name' => 'elementor_site_mailer_campaign',
706 - 'campaign' => 'sm-plg',
707 - 'source' => 'sm-core-woo-install',
708 - 'medium' => 'wp-dash',
709 - ];
735 + $source = 'sm-core-woo-install';
710 736 } elseif ( ! $is_active ) {
711 737 $button_text = esc_html__( 'Activate now', 'elementor' );
712 738 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
713 - $campaign_data = [
714 - 'name' => 'elementor_site_mailer_campaign',
715 - 'campaign' => 'sm-plg',
716 - 'source' => 'sm-core-woo-activate',
717 - 'medium' => 'wp-dash',
718 - ];
739 + $source = 'sm-core-woo-activate';
719 740 }
720 741 } else {
721 742 $title = esc_html__( 'Ensure your form emails avoid the spam folder!', 'elementor' );
722 743 $description = esc_html__( 'Use Site Mailer for improved email deliverability, detailed email logs, and an easy setup.', 'elementor' );
@@ -723,23 +744,13 @@
723 744
724 745 if ( ! $is_installed ) {
725 746 $button_text = esc_html__( 'Install now', 'elementor' );
726 747 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
727 - $campaign_data = [
728 - 'name' => 'elementor_site_mailer_campaign',
729 - 'campaign' => 'sm-plg',
730 - 'source' => 'sm-core-form-install',
731 - 'medium' => 'wp-dash',
732 - ];
748 + $source = 'sm-core-form-install';
733 749 } elseif ( ! $is_active ) {
734 750 $button_text = esc_html__( 'Activate now', 'elementor' );
735 751 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
736 - $campaign_data = [
737 - 'name' => 'elementor_site_mailer_campaign',
738 - 'campaign' => 'sm-plg',
739 - 'source' => 'sm-core-form-activate',
740 - 'medium' => 'wp-dash',
741 - ];
752 + $source = 'sm-core-form-activate';
742 753 }
743 754 }
744 755 }
745 756
@@ -753,14 +764,12 @@
753 764 'id' => $notice_id,
754 765 'type' => 'cta',
755 766 'button' => [
756 767 'text' => $button_text,
757 - 'url' => self::add_plg_campaign_data( $button_url, $campaign_data ),
768 + 'url' => $button_url,
758 769 'type' => 'cta',
759 770 'data' => [
760 - 'campaign' => $campaign_data['campaign'],
761 - 'source' => $campaign_data['source'],
762 - 'medium' => $campaign_data['medium'],
771 + 'source' => $source,
763 772 ],
764 773 ],
765 774 'button_secondary' => [
766 775 'text' => esc_html__( 'Learn more', 'elementor' ),
@@ -892,9 +901,9 @@
892 901 $button_text = esc_html__( 'Install now', 'elementor' );
893 902 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
894 903 $campaign_data = [
895 904 'name' => 'elementor_image_optimization_campaign',
896 - 'campaign' => 'io-plg-one',
905 + 'campaign' => 'image-optimization-plg-wp-media-library-one-install',
897 906 'source' => 'io-wp-media-library-one-install',
898 907 'medium' => 'wp-dash-one',
899 908 ];
900 909 } elseif ( ! $is_active ) {
@@ -902,9 +911,9 @@
902 911 $button_text = esc_html__( 'Activate now', 'elementor' );
903 912 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
904 913 $campaign_data = [
905 914 'name' => 'elementor_image_optimization_campaign',
906 - 'campaign' => 'io-plg-one',
915 + 'campaign' => 'image-optimization-plg-wp-media-library-one-activate',
907 916 'source' => 'io-wp-media-library-one-activate',
908 917 'medium' => 'wp-dash-one',
909 918 ];
910 919 }
@@ -915,9 +924,9 @@
915 924 $button_text = esc_html__( 'Install now', 'elementor' );
916 925 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
917 926 $campaign_data = [
918 927 'name' => 'elementor_image_optimization_campaign',
919 - 'campaign' => 'io-plg',
928 + 'campaign' => 'image-optimization-plg-wp-media-library-install',
920 929 'source' => 'io-wp-media-library-install',
921 930 'medium' => 'wp-dash',
922 931 ];
923 932 } elseif ( ! $is_active ) {
@@ -924,9 +933,9 @@
924 933 $button_text = esc_html__( 'Activate now', 'elementor' );
925 934 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
926 935 $campaign_data = [
927 936 'name' => 'elementor_image_optimization_campaign',
928 - 'campaign' => 'io-plg',
937 + 'campaign' => 'image-optimization-plg-wp-media-library-activate',
929 938 'source' => 'io-wp-media-library-activate',
930 939 'medium' => 'wp-dash',
931 940 ];
932 941 }
@@ -938,14 +947,12 @@
938 947 'id' => $notice_id,
939 948 'type' => 'cta',
940 949 'button' => [
941 950 'text' => $button_text,
942 - 'url' => self::add_plg_campaign_data( $button_url, $campaign_data ),
951 + 'url' => $button_url,
943 952 'type' => 'cta',
944 953 'data' => [
945 - 'campaign' => $campaign_data['campaign'],
946 954 'source' => $campaign_data['source'],
947 - 'medium' => $campaign_data['medium'],
948 955 ],
949 956 ],
950 957 ];
951 958
@@ -982,12 +989,9 @@
982 989 if ( $options['type'] ) {
983 990 $notice_classes[] = 'e-notice--' . $options['type'];
984 991 }
985 992
986 - $wrapper_attributes = [
987 - 'role' => 'region',
988 - 'aria-label' => esc_html__( 'Elementor notice', 'elementor' ),
989 - ];
993 + $wrapper_attributes = [];
990 994
991 995 if ( $options['dismissible'] ) {
992 996 $label = esc_html__( 'Dismiss this notice.', 'elementor' );
993 997 $notice_classes[] = 'e-notice--dismissible';
@@ -1142,9 +1146,8 @@
1142 1146 */
1143 1147 public function __construct() {
1144 1148 add_action( 'admin_notices', [ $this, 'admin_notices' ], 20 );
1145 1149 add_action( 'admin_action_install-plugin', [ $this, 'maybe_log_campaign' ] );
1146 - add_action( 'admin_action_activate', [ $this, 'maybe_log_campaign' ] );
1147 1150 }
1148 1151
1149 1152 /**
1150 1153 * Get module name.