PluginProbe
Elementor Website Builder – more than just a page builder / 3.5.3
Elementor Website Builder – more than just a page builder v3.5.3
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 4.0.7 All 451 releases
← All changes | modules/admin-top-bar/module.php +23 -52 4.2.23.5.3 View file →
@@ -1,11 +1,10 @@
1 1 <?php
2 2 namespace Elementor\Modules\AdminTopBar;
3 3
4 -use Elementor\Core\Admin\Admin;
5 -use Elementor\Core\Utils\Promotions\Filtered_Promotions_Manager;
6 4 use Elementor\Plugin;
7 5 use Elementor\Core\Base\App as BaseApp;
6 +use Elementor\Core\Experiments\Manager;
8 7 use Elementor\Utils;
9 8
10 9 if ( ! defined( 'ABSPATH' ) ) {
11 10 exit; // Exit if accessed directly.
@@ -19,8 +18,20 @@
19 18 public static function is_active() {
20 19 return is_admin();
21 20 }
22 21
22 + public static function get_experimental_data() {
23 + return [
24 + 'name' => 'admin-top-bar',
25 + 'title' => esc_html__( 'Admin Top Bar', 'elementor' ),
26 + 'description' => esc_html__( 'Adds a top bar to elementors pages in admin area.', 'elementor' ),
27 + 'release_status' => Manager::RELEASE_STATUS_STABLE,
28 + 'new_site' => [
29 + 'default_active' => true,
30 + ],
31 + ];
32 + }
33 +
23 34 /**
24 35 * @return string
25 36 */
26 37 public function get_name() {
@@ -37,21 +48,12 @@
37 48 /**
38 49 * Enqueue admin scripts
39 50 */
40 51 private function enqueue_scripts() {
41 - wp_enqueue_style( 'elementor-admin-top-bar-fonts', 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap', [], ELEMENTOR_VERSION );
52 + wp_enqueue_style( 'elementor-admin-top-bar-fonts', 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', [], ELEMENTOR_VERSION );
42 53
43 - wp_enqueue_style( 'elementor-admin-top-bar', $this->get_css_assets_url( 'admin-top-bar' ), [], ELEMENTOR_VERSION );
54 + wp_enqueue_style( 'elementor-admin-top-bar', $this->get_css_assets_url( 'admin-top-bar', null, 'default', true ), [], ELEMENTOR_VERSION );
44 55
45 - /**
46 - * Before admin top bar enqueue scripts.
47 - *
48 - * Fires before Elementor admin top bar scripts are enqueued.
49 - *
50 - * @since 3.19.0
51 - */
52 - do_action( 'elementor/admin_top_bar/before_enqueue_scripts', $this );
53 -
54 56 wp_enqueue_script( 'elementor-admin-top-bar', $this->get_js_assets_url( 'admin-top-bar' ), [
55 57 'elementor-common',
56 58 'react',
57 59 'react-dom',
@@ -57,10 +59,8 @@
57 59 'react-dom',
58 60 'tipsy',
59 61 ], ELEMENTOR_VERSION, true );
60 62
61 - wp_set_script_translations( 'elementor-admin-top-bar', 'elementor' );
62 -
63 63 $min_suffix = Utils::is_script_debug() ? '' : '.min';
64 64
65 65 wp_enqueue_script( 'tipsy', ELEMENTOR_ASSETS_URL . 'lib/tipsy/tipsy' . $min_suffix . '.js', [
66 66 'jquery',
@@ -71,22 +71,8 @@
71 71
72 72 private function add_frontend_settings() {
73 73 $settings = [];
74 74 $settings['is_administrator'] = current_user_can( 'manage_options' );
75 -
76 - // TODO: Find a better way to add apps page url to the admin top bar.
77 - $settings['apps_url'] = admin_url( 'admin.php?page=elementor-apps' );
78 - $settings['promotion'] = [
79 - 'text' => __( 'Upgrade Now', 'elementor' ),
80 - 'url' => 'https://go.elementor.com/wp-dash-admin-top-bar-upgrade/',
81 - ];
82 -
83 - $settings['promotion'] = Filtered_Promotions_Manager::get_filtered_promotion_data(
84 - $settings['promotion'],
85 - 'elementor/admin_top_bar/go_pro_promotion',
86 - 'url'
87 - );
88 -
89 75 $current_screen = get_current_screen();
90 76
91 77 /** @var \Elementor\Core\Common\Modules\Connect\Apps\Library $library */
92 78 $library = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' );
@@ -97,9 +83,8 @@
97 83 'utm_source' => 'top-bar',
98 84 'utm_medium' => 'wp-dash',
99 85 'utm_campaign' => 'connect-account',
100 86 'utm_content' => $current_screen->id,
101 - 'source' => 'generic',
102 87 ] ),
103 88 ] );
104 89 }
105 90
@@ -107,18 +92,8 @@
107 92
108 93 do_action( 'elementor/admin-top-bar/init', $this );
109 94 }
110 95
111 - private function is_top_bar_active() {
112 - $current_screen = get_current_screen();
113 -
114 - return apply_filters(
115 - 'elementor/admin-top-bar/is-active',
116 - Admin::is_elementor_admin_page( $current_screen ),
117 - $current_screen
118 - );
119 - }
120 -
121 96 /**
122 97 * Module constructor.
123 98 */
124 99 public function __construct() {
@@ -123,21 +98,17 @@
123 98 */
124 99 public function __construct() {
125 100 parent::__construct();
126 101
102 + add_action( 'in_admin_header', function () {
103 + $this->render_admin_top_bar();
104 + } );
105 +
106 + add_action( 'admin_enqueue_scripts', function () {
107 + $this->enqueue_scripts();
108 + } );
109 +
127 110 add_action( 'current_screen', function () {
128 - if ( ! $this->is_top_bar_active() ) {
129 - return;
130 - }
131 -
132 111 $this->add_frontend_settings();
133 -
134 - add_action( 'in_admin_header', function () {
135 - $this->render_admin_top_bar();
136 - } );
137 -
138 - add_action( 'admin_enqueue_scripts', function () {
139 - $this->enqueue_scripts();
140 - } );
141 112 } );
142 113 }
143 114 }