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 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 All 453 releases
← All changes | core/admin/admin-notices.php +78 -75 4.2.03.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;
@@ -544,9 +595,9 @@
544 595 if ( $one_subscription ) {
545 596 $learn_more_url = 'https://go.elementor.com/acc-plg-learn-more-one';
546 597
547 598 if ( ! $is_installed ) {
548 - $description = esc_html__( 'Make sure your site has an accessibility statement page. Install Web Accessibility, included in ONE, to create it in a few clicks.', 'elementor' );
599 + $description = esc_html__( 'Make sure your site has an accessibility statement page. Install Ally, included in ONE, to create it in a few clicks.', 'elementor' );
549 600 $button_text = esc_html__( 'Install now', 'elementor' );
550 601 $button_url = $this->get_plugin_button_install_url( $plugin_slug );
551 602 $campaign_data = [
552 603 'name' => 'elementor_ea11y_campaign',
@@ -554,9 +605,9 @@
554 605 'source' => 'wp-pages-one-install',
555 606 'medium' => 'wp-dash-one',
556 607 ];
557 608 } elseif ( ! $is_active ) {
558 - $description = esc_html__( 'Your ONE subscription includes Web Accessibility. Activate it to create your accessibility statement page quickly.', 'elementor' );
609 + $description = esc_html__( 'Your ONE subscription includes Ally. Activate it to create your accessibility statement page quickly.', 'elementor' );
559 610 $button_text = esc_html__( 'Activate now', 'elementor' );
560 611 $button_url = $this->get_plugin_button_activate_url( $plugin_file_path );
561 612 $campaign_data = [
562 613 'name' => 'elementor_ea11y_campaign',
@@ -565,9 +616,9 @@
565 616 'medium' => 'wp-dash-one',
566 617 ];
567 618 }
568 619 } else {
569 - $description = esc_html__( "Create a more inclusive site experience for all your visitors. With Web Accessibility, it's easy to add your statement page in just a few clicks.", 'elementor' );
620 + $description = esc_html__( "Create a more inclusive site experience for all your visitors. With Ally, it's easy to add your statement page in just a few clicks.", 'elementor' );
570 621 $learn_more_url = 'https://go.elementor.com/acc-plg-learn-more';
571 622
572 623 if ( ! $is_installed ) {
573 624 $button_text = esc_html__( 'Install now', 'elementor' );
@@ -646,51 +697,31 @@
646 697 if ( $is_woocommerce ) {
647 698 $title = esc_html__( 'Improve transactional email deliverability', 'elementor' );
648 699
649 700 if ( ! $is_installed ) {
650 - $description = esc_html__( 'Use Email Deliverability to ensure store emails like purchase confirmations and shipping updates reach the inbox every time. Included in your ONE subscription.', 'elementor' );
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 - $description = esc_html__( 'Email Deliverability 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' );
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 714 if ( ! $is_installed ) {
674 - $description = esc_html__( 'Use Email Deliverability to ensure emails reach the inbox and track delivery with built-in logs. Included in your ONE subscription.', 'elementor' );
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 - $description = esc_html__( 'Use Email Deliverability to ensure emails reach the inbox and track delivery with built-in logs. Email Deliverability is included in your ONE subscription. Activate it to continue.', 'elementor' );
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 {
@@ -695,51 +726,31 @@
695 726 // phpcs:ignore Universal.ControlStructures.DisallowLonelyIf.Found
696 727 } else {
697 728 if ( $is_woocommerce ) {
698 729 $title = esc_html__( 'Improve Transactional Email Deliverability', 'elementor' );
699 - $description = esc_html__( "Use Elementor's Email Deliverability to ensure your store emails like purchase confirmations, shipping updates and more are reliably delivered.", 'elementor' );
730 + $description = esc_html__( "Use Elementor's Site Mailer to ensure your store emails like purchase confirmations, shipping updates and more are reliably delivered.", 'elementor' );
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 - $description = esc_html__( 'Use Email Deliverability for improved email deliverability, detailed email logs, and an easy setup.', 'elementor' );
743 + $description = esc_html__( 'Use Site Mailer for improved email deliverability, detailed email logs, and an easy setup.', 'elementor' );
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,19 +901,19 @@
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 ) {
901 - $description = esc_html__( 'Your ONE subscription includes Image Optimization. Activate it to optimize images and improve site performance.', 'elementor' );
910 + $description = esc_html__( 'Your ONE subscription includes Image Optimizer. Activate it to optimize images and improve site performance.', 'elementor' );
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 }
@@ -932,20 +941,18 @@
932 941 }
933 942 }
934 943
935 944 $options = [
936 - 'title' => esc_html__( 'Speed up your website with Image Optimization', 'elementor' ),
945 + 'title' => esc_html__( 'Speed up your website with Image Optimizer', 'elementor' ),
937 946 'description' => $description,
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.