PluginProbe
Elementor Website Builder – more than just a page builder / 3.21.3
Elementor Website Builder – more than just a page builder v3.21.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 | includes/editor-templates/panel-elements.php +25 -53 4.2.0-dev23.21.3 View file →
@@ -1,10 +1,9 @@
1 1 <?php
2 2 namespace Elementor;
3 3
4 -use Elementor\Core\Utils\Hints;
4 +use Elementor\Utils;
5 5 use Elementor\Core\Utils\Promotions\Filtered_Promotions_Manager;
6 -use Elementor\Utils;
7 6
8 7 if ( ! defined( 'ABSPATH' ) ) {
9 8 exit; // Exit if accessed directly.
10 9 }
@@ -9,67 +8,68 @@
9 8 exit; // Exit if accessed directly.
10 9 }
11 10 ?>
12 11 <script type="text/template" id="tmpl-elementor-panel-elements">
13 - <# if ( $e.components.get( 'document/elements' ).utils.allowAddingWidgets()) { #>
14 12 <div id="elementor-panel-elements-navigation" class="elementor-panel-navigation">
15 13 <button class="elementor-component-tab elementor-panel-navigation-tab" data-tab="categories"><?php echo esc_html__( 'Elements', 'elementor' ); ?></button>
16 14 <button class="elementor-component-tab elementor-panel-navigation-tab" data-tab="global"><?php echo esc_html__( 'Globals', 'elementor' ); ?></button>
17 15 </div>
18 - <# } #>
19 16 <div id="elementor-panel-elements-search-area"></div>
20 17 <div id="elementor-panel-elements-notice-area"></div>
21 18 <div id="elementor-panel-elements-wrapper"></div>
22 - <div id="elementor-panel-elements-widget-creation-area"></div>
23 19 </script>
24 20
25 21 <script type="text/template" id="tmpl-elementor-panel-categories">
26 22 <div id="elementor-panel-categories"></div>
27 23 <?php
28 - $has_pro = Utils::has_pro();
29 24 $get_pro_details = apply_filters( 'elementor/editor/panel/get_pro_details', [
30 25 'link' => 'https://go.elementor.com/pro-widgets/',
31 26 'message' => __( 'Get more with Elementor Pro', 'elementor' ),
32 27 'button_text' => __( 'Upgrade Now', 'elementor' ),
33 - 'show_banner' => ! $has_pro,
34 28 ] );
35 - $promotion_data_sticky = Filtered_Promotions_Manager::get_editor_panel_sticky_promotion();
29 + $promotion_data_sticky = [
30 + 'url' => 'https://go.elementor.com/go-pro-sticky-widget-panel/',
31 + 'message' => __( 'Access all Pro widgets.', 'elementor' ),
32 + 'button_text' => __( 'Upgrade Now', 'elementor' ),
33 + ];
34 + $promotion_data_sticky = Filtered_Promotions_Manager::get_filtered_promotion_data( $promotion_data_sticky, 'elementor/editor/panel/get_pro_details-sticky', 'url' );
35 + $has_pro = Utils::has_pro();
36 36 ?>
37 - <?php if ( $get_pro_details['show_banner'] ) : ?>
38 37 <div id="elementor-panel-get-pro-elements" class="elementor-nerd-box">
39 38 <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/go-pro.svg'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" loading="lazy" alt="<?php echo esc_attr__( 'Upgrade', 'elementor' ); ?>" />
40 39 <div class="elementor-nerd-box-message"><?php echo esc_html( $get_pro_details['message'] ); ?></div>
41 40 <a class="elementor-button go-pro" target="_blank" href="<?php echo esc_url( $get_pro_details['link'] ); ?>"><?php echo esc_html( $get_pro_details['button_text'] ); ?></a>
42 41 </div>
43 - <?php endif; ?>
44 42 <?php if ( ! $has_pro ) : ?>
45 - <?php require __DIR__ . '/panel-elements-sticky-promotion.php'; ?>
43 + <div id="elementor-panel-get-pro-elements-sticky">
44 + <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/unlock-sticky.svg'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" loading="lazy" alt="<?php echo esc_attr__( 'Upgrade', 'elementor' ); ?>"/>
45 + <div class="elementor-get-pro-sticky-message">
46 + <?php echo esc_html( $promotion_data_sticky['message'] ); ?>
47 + <a target="_blank" href="<?php echo esc_url( $promotion_data_sticky['url'] ); ?>"><?php echo esc_html( $promotion_data_sticky['button_text'] ); ?></a>
48 + </div>
49 + </div>
46 50 <?php endif; ?>
47 51 </script>
48 52
49 -<script type="text/template" id="tmpl-elementor-panel-element-sticky-promotion">
50 - <?php if ( ! $has_pro ) : ?>
51 - <?php require __DIR__ . '/panel-elements-sticky-promotion.php'; ?>
52 - <?php endif; ?>
53 -</script>
54 -
55 53 <script type="text/template" id="tmpl-elementor-panel-elements-category">
56 54 <button class="elementor-panel-heading elementor-panel-category-title">
57 55 <span class="elementor-panel-heading-toggle">
58 - <i class="eicon-caret-right" aria-hidden="true"></i>
56 + <i class="eicon" aria-hidden="true"></i>
59 57 </span>
60 58 <span class="elementor-panel-heading-title">{{{ title }}}</span>
61 - <?php do_action( 'elementor/editor/templates/panel/category' ); ?>
62 59 <# if ( 'undefined' !== typeof promotion && promotion ) { #>
63 60 <span class="elementor-panel-heading-promotion">
64 61 <a href="{{{ promotion.url }}}" target="_blank">
65 - <i class="eicon-upgrade-crown-full"></i>{{{ promotion.text || <?php echo wp_json_encode( __( 'Upgrade', 'elementor' ) ); ?> }}}
62 + <i class="eicon-upgrade-crown"></i><?php echo esc_html__( 'Upgrade', 'elementor' ); ?>
66 63 </a>
67 64 </span>
68 65 <# } #>
69 66 </button>
70 - <div class="elementor-panel-category-items elementor-responsive-panel">
71 - <?php do_action( 'elementor/editor/templates/panel/category/content' ); ?>
67 + <div class="elementor-panel-category-items elementor-responsive-panel"></div>
68 +</script>
69 +
70 +<script type="text/template" id="tmpl-elementor-panel-elements-notice">
71 + <div class="elementor-panel-notice">
72 72 </div>
73 73 </script>
74 74
75 75 <script type="text/template" id="tmpl-elementor-panel-element-search">
@@ -78,16 +78,11 @@
78 78 <i class="eicon-search-bold" aria-hidden="true"></i>
79 79 </script>
80 80
81 81 <script type="text/template" id="tmpl-elementor-element-library-element">
82 - <# const v4Categories = ['v4-elements', 'atomic-form']; #>
83 - <button class="elementor-element" data-library-element-type="{{ elType === 'widget' ? widgetType : elType }}">
84 - <# if ( obj.integration ) { #>
85 - <i class="eicon-plug"></i>
86 - <# } else if ( false === obj.editable ) { #>
87 - <i class="eicon-upgrade-crown-full"></i>
88 - <# } else if ( obj.categories.some( category => v4Categories.includes( category ) ) ) { #>
89 - <i class="eicon-atomic"></i>
82 + <button class="elementor-element">
83 + <# if ( false === obj.editable ) { #>
84 + <i class="eicon-lock"></i>
90 85 <# } #>
91 86 <div class="icon">
92 87 <i class="{{ icon }}" aria-hidden="true"></i>
93 88 </div>
@@ -95,31 +90,8 @@
95 90 <div class="title">{{{ title }}}</div>
96 91 </div>
97 92 </button>
98 93 </script>
99 -
100 -<?php if ( Plugin::$instance->experiments->is_feature_active( Modules\WidgetCreation\Module::EXPERIMENT_NAME ) ) : ?>
101 - <?php
102 - $widget_creation_cta_text = Hints::is_plugin_active( 'angie' )
103 - ? __( 'Create custom widget', 'elementor' )
104 - : __( 'Try for free', 'elementor' );
105 - ?>
106 -<script type="text/template" id="tmpl-elementor-panel-elements-widget-creation-empty-state">
107 - <div class="elementor-panel-elements-widget-creation__title"><?php echo esc_html__( 'No widget found for', 'elementor' ); ?> "{{{ searchTerm }}}"</div>
108 - <div class="elementor-panel-elements-widget-creation__message"><?php echo esc_html__( 'Build a custom widget with Angie by describing what you need.', 'elementor' ); ?></div>
109 - <?php if ( current_user_can( 'manage_options' ) ) : ?>
110 - <button type="button" class="elementor-panel-elements-widget-creation__cta"><?php echo esc_html( $widget_creation_cta_text ); ?></button>
111 - <?php endif; ?>
112 -</script>
113 -
114 -<script type="text/template" id="tmpl-elementor-panel-elements-widget-creation-search-footer">
115 - <div class="elementor-panel-elements-widget-creation__title"><?php echo esc_html__( "Couldn't find what you're looking for?", 'elementor' ); ?></div>
116 - <div class="elementor-panel-elements-widget-creation__message"><?php echo esc_html__( 'Build a custom widget with Angie by describing what you need.', 'elementor' ); ?></div>
117 - <?php if ( current_user_can( 'manage_options' ) ) : ?>
118 - <button type="button" class="elementor-panel-elements-widget-creation__cta"><?php echo esc_html( $widget_creation_cta_text ); ?></button>
119 - <?php endif; ?>
120 -</script>
121 -<?php endif; ?>
122 94
123 95 <script type="text/template" id="tmpl-elementor-panel-global">
124 96 <div class="elementor-nerd-box">
125 97 <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/information.svg'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" loading="lazy" alt="<?php echo esc_attr__( 'Elementor', 'elementor' ); ?>" />