PluginProbe
Copy Anything to Clipboard for WordPress – Copy Button, Copy Text & Copy Code / 5.5.4
Copy Anything to Clipboard for WordPress – Copy Button, Copy Text & Copy Code v5.5.4
5.5.4 5.5.3 3.1.0 3.2.0 3.2.1 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.6.0 3.7.0 3.8.0 3.8.1 3.8.2 3.8.3 4.0.0 4.0.2 4.0.3 4.0.4 4.0.5 4.1.0 All 79 releases
copy-the-code / includes / elementor / widgets / phone-number / widget.php

widget.php in Copy Anything to Clipboard for WordPress – Copy Button, Copy Text & Copy Code 5.5.4, at includes/elementor/widgets/phone-number/widget.php

164 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Elementor Phone Number Block
5 *
6 * @package CTC
7 * @since 5.0.0
8 */
9 namespace CTC\Elementor\Block;
10
11 use CTC\Helpers;
12 use Elementor\Widget_Base;
13 use Elementor\Controls_Manager;
14 /**
15 * Phone Number Block
16 *
17 * @since 5.0.0
18 */
19 class PhoneNumber extends Widget_Base {
20 /**
21 * Constructor
22 */
23 public function __construct( $data = [], $args = null ) {
24 parent::__construct( $data, $args );
25 // Register assets; Elementor enqueues via get_*_depends() when used.
26 wp_register_style(
27 'ctc-blocks',
28 CTC_URI . 'includes/assets/css/style.css',
29 [],
30 CTC_VER,
31 'all'
32 );
33 wp_register_script(
34 'ctc-lib-core',
35 CTC_URI . 'assets/frontend/js/lib/ctc.js',
36 ['jquery'],
37 CTC_VER,
38 true
39 );
40 wp_register_script(
41 'ctc-blocks-core',
42 CTC_URI . 'includes/assets/js/core.js',
43 ['ctc-lib-core'],
44 CTC_VER,
45 true
46 );
47 wp_register_style(
48 'ctc-el-phone-number',
49 CTC_URI . 'includes/elementor/widgets/phone-number/style.css',
50 ['ctc-blocks'],
51 CTC_VER,
52 'all'
53 );
54 }
55
56 /**
57 * Get script dependencies
58 */
59 public function get_script_depends() {
60 return ['ctc-lib-core', 'ctc-blocks-core'];
61 }
62
63 /**
64 * Get style dependencies
65 */
66 public function get_style_depends() {
67 return ['ctc-el-phone-number'];
68 }
69
70 /**
71 * Get name
72 */
73 public function get_name() {
74 return 'ctc_phone_number';
75 }
76
77 /**
78 * Get title
79 */
80 public function get_title() {
81 return esc_html__( 'Phone Number', 'ctc' );
82 }
83
84 /**
85 * Get icon
86 */
87 public function get_icon() {
88 return 'eicon-number-field';
89 }
90
91 /**
92 * Get categories
93 */
94 public function get_categories() {
95 return Helpers::get_categories();
96 }
97
98 /**
99 * Get keywords
100 */
101 public function get_keywords() {
102 return Helpers::get_keywords( [
103 'phone',
104 'copy',
105 'content',
106 'number'
107 ] );
108 }
109
110 /**
111 * Render
112 */
113 public function render() {
114 $phone_number = $this->get_settings( 'phone_number' );
115 if ( empty( $phone_number ) ) {
116 return;
117 }
118 ?>
119 <span class="ctc-block ctc-phone-number">
120 <a href="tel:<?php
121 echo esc_attr( $phone_number );
122 ?>" class="ctc-block-content">
123 <?php
124 echo esc_html( $phone_number );
125 ?>
126 </a>
127 <span class="ctc-block-copy ctc-block-copy-icon" role="button" aria-label="Copied">
128 <?php
129 echo Helpers::get_svg_copy_icon();
130 ?>
131 <?php
132 echo Helpers::get_svg_checked_icon();
133 ?>
134 </span>
135 <?php
136 Helpers::render_copy_content( $this, [
137 'content' => $phone_number,
138 ] );
139 ?>
140 </span>
141 <?php
142 }
143
144 /**
145 * Register controls
146 */
147 protected function _register_controls() {
148 $this->start_controls_section( 'phone_number_section', [
149 'label' => esc_html__( 'Phone Number', 'ctc' ),
150 ] );
151 $this->add_control( 'phone_number', [
152 'label' => esc_html__( 'Phone Number', 'ctc' ),
153 'type' => Controls_Manager::TEXT,
154 'default' => '+1234567890',
155 'dynamic' => [
156 'active' => true,
157 ],
158 ] );
159 $this->end_controls_section();
160 Helpers::register_pro_sections( $this, ['Phone Number', 'Icon'] );
161 }
162
163 }
164