PluginProbe ʕ •ᴥ•ʔ
Essential Addons for Elementor – Popular Elementor Templates & Widgets / 6.0.10
Essential Addons for Elementor – Popular Elementor Templates & Widgets v6.0.10
6.6.5 6.6.4 6.6.3 5.7.3 5.7.4 5.8.0 5.8.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.15 5.8.16 5.8.18 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.10 5.9.11 5.9.12 5.9.13 5.9.14 5.9.15 5.9.16 5.9.17 5.9.18 5.9.19 5.9.2 5.9.20 5.9.21 5.9.22 5.9.23 5.9.24 5.9.25 5.9.26 5.9.27 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 6.0.1 6.0.10 6.0.11 6.0.12 6.0.13 6.0.14 6.0.15 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.0 6.1.1 6.1.10 6.1.11 trunk 6.1.12 1.0.0 6.1.13 1.0.1 6.1.14 1.1.0 6.1.15 2.0 6.1.17 2.1 6.1.18 2.10.0 6.1.19 2.10.1 6.1.2 2.10.2 6.1.20 2.10.3 6.1.3 2.10.4 6.1.4 2.10.5 6.1.5 2.2.0 6.1.6 2.2.1 6.1.7 2.2.2 6.1.8 2.2.3 6.1.9 2.2.4 6.2.0 2.2.5 6.2.1 2.3.0 6.2.2 2.3.1 6.2.3 2.4.0 6.2.4 2.4.1 6.3.0 2.4.2 6.3.1 2.4.3 6.3.2 2.5.0 6.3.3 2.6.0 6.4.0 2.7.0 6.5.0 2.7.1 6.5.1 2.7.10 6.5.10 2.7.11 6.5.11 2.7.2 6.5.12 2.7.3 6.5.13 2.7.4 6.5.2 2.7.5 6.5.3 2.7.6 6.5.4 2.7.7 6.5.5 2.7.8 6.5.6 2.7.9 6.5.7 2.8.0 6.5.8 2.8.1 6.5.9 2.8.2 6.6.0 2.8.3 6.6.1 2.8.4 6.6.2 2.8.5 2.8.6 2.8.7 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 3.1.5 3.2.0 3.3.0 3.3.1 3.3.2 3.3.3 3.4.0 3.5.0 3.5.1 3.5.2 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 5.0.0 5.0.1 5.0.10 5.0.11 5.0.12 5.0.13 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.4.6 5.5.5 5.6.5 5.7.2
essential-addons-for-elementor-lite / includes / Extensions / Wrapper_Link.php
essential-addons-for-elementor-lite / includes / Extensions Last commit date
Custom_JS.php 1 year ago Hover_Effect.php 1 year ago Post_Duplicator.php 1 year ago Promotion.php 1 year ago Reading_Progress.php 3 years ago Scroll_to_Top.php 1 year ago Table_of_Content.php 1 year ago Wrapper_Link.php 1 year ago index.php 3 years ago
Wrapper_Link.php
113 lines
1 <?php
2
3 namespace Essential_Addons_Elementor\Extensions;
4
5 use Elementor\Controls_Manager;
6
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 class Wrapper_Link {
13
14 /**
15 * Initialize hooks
16 */
17 public function __construct() {
18 add_action( 'elementor/element/common/_section_style/after_section_end', [ $this, 'register_controls' ] );
19 add_action( 'elementor/element/column/section_advanced/after_section_end', [ $this, 'register_controls' ] );
20 add_action( 'elementor/element/section/section_advanced/after_section_end', [ $this, 'register_controls' ] );
21 add_action( 'elementor/element/container/section_layout/after_section_end', [ $this, 'register_controls' ] );
22 add_action( 'elementor/frontend/before_render', [ $this, 'before_render' ], 100 );
23 }
24
25 public function register_controls( $element ) {
26 $element->start_controls_section(
27 'eael_wrapper_link_section',
28 [
29 'label' => __( '<i class="eaicon-logo"></i> Wrapper Link', 'essential-addons-for-elementor-lite' ),
30 'tab' => Controls_Manager::TAB_ADVANCED
31 ]
32 );
33
34 $element->add_control(
35 'eael_wrapper_link_switch',
36 [
37 'label' => __( 'Enable Wrapper Link', 'essential-addons-for-elementor-lite' ),
38 'type' => Controls_Manager::SWITCHER
39 ]
40 );
41
42 $element->add_control(
43 'eael_wrapper_link',
44 [
45 'label' => __( 'Link', 'essential-addons-for-elementor-lite' ),
46 'type' => Controls_Manager::URL,
47 'dynamic' => [
48 'active' => true,
49 ],
50 'condition' => [
51 'eael_wrapper_link_switch!' => ''
52 ]
53 ]
54 );
55
56 $element->add_control(
57 'eael_wrapper_link_disable_traditional',
58 [
59 'label' => __( 'Disable Traditional Link', 'essential-addons-for-elementor-lite' ),
60 'type' => Controls_Manager::SWITCHER,
61 'label_on' => esc_html__( 'Yes', 'essential-addons-for-elementor-lite' ),
62 'label_off' => esc_html__( 'Off', 'essential-addons-for-elementor-lite' ),
63 'return_value' => 'yes',
64 'condition' => [
65 'eael_wrapper_link_switch!' => ''
66 ]
67 ]
68 );
69
70 $element->add_control(
71 'ael_wrapper_link_warning_text',
72 [
73 'type' => Controls_Manager::RAW_HTML,
74 'raw' => __('By Disabling <strong>Traditional Link</strong> some features (ex: dynamic tags, custom atrributes etc.) may not work.', 'essential-addons-for-elementor-lite'),
75 'content_classes' => 'eael-warning',
76 'condition' => [
77 'eael_wrapper_link_switch!' => '',
78 'eael_wrapper_link_disable_traditional' => 'yes'
79 ]
80 ]
81 );
82
83 $element->end_controls_section();
84 }
85
86 public function before_render( $element ) {
87 $wrapper_link_settings = $element->get_settings_for_display( 'eael_wrapper_link' );
88
89 if ( "yes" === $element->get_settings_for_display( 'eael_wrapper_link_switch' ) && ! empty( $wrapper_link_settings['url'] ) ) {
90 $disable_traditional = $element->get_settings_for_display( 'eael_wrapper_link_disable_traditional' );
91 if( 'yes' === $disable_traditional ){
92 $element->add_render_attribute( '_wrapper',
93 'data-eael-wrapper-link',
94 wp_json_encode( [
95 'url' => esc_url( $wrapper_link_settings['url'] ),
96 'is_external' => esc_attr( $wrapper_link_settings['is_external'] ),
97 'nofollow' => esc_attr( $wrapper_link_settings['nofollow'] )
98 ] )
99 );
100
101 $element->add_render_attribute( '_wrapper', 'class', 'eael-non-traditional-link' );
102 } else {
103 $link_id = 'eael-wrapper-link-' . $element->get_id();
104 $element->add_render_attribute( 'eael_wrapper_link', 'class', $link_id . ' --eael-wrapper-link-tag' );
105 $element->add_link_attributes( 'eael_wrapper_link', $wrapper_link_settings );
106 echo "<a "; $element->print_render_attribute_string( 'eael_wrapper_link' ); echo "></a>";
107
108 $element->add_render_attribute( '_wrapper', 'data-eael-wrapper-link', $link_id );
109 }
110 }
111 }
112 }
113