Version Description
- NEW: Advanced visibility settings to define where to show WhatsApp me button.
- NEW: WooCommerce integration.
- UPDATED International Telephone Input library to v.13.
- Minor fixes on fields cleanup and other improvements.
Download this release
Release Info
Developer | creapuntome |
Plugin | WhatsApp me |
Version | 2.0.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.3 to 2.0.0
- README.txt +15 -7
- admin/class-whatsappme-admin.php +251 -43
- admin/css/whatsappme.css +37 -0
- admin/js/whatsappme.js +50 -0
- languages/creame-whatsapp-me.pot +129 -26
- public/class-whatsappme-public.php +128 -4
- public/css/whatsappme.css +4 -0
- whatsappme.php +3 -3
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: whatsapp, button, chat, support, contact
|
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 4.9.4
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag:
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -29,8 +29,9 @@ Options:
|
|
29 |
3. Call to action: Write a message to encourage users to contact you through WhatsApp.
|
30 |
4. Delay: You can define a timeout to display the call-to-action message.
|
31 |
5. Message: You can define the first message to send.
|
32 |
-
6.
|
33 |
-
7.
|
|
|
34 |
|
35 |
== Installation ==
|
36 |
|
@@ -51,13 +52,20 @@ WhatsApp me don't save any personal data and don't use cookies.
|
|
51 |
|
52 |
== Screenshots ==
|
53 |
|
54 |
-
1. WhatsApp me settings.
|
55 |
-
2.
|
56 |
-
3.
|
57 |
-
4.
|
|
|
58 |
|
59 |
== Changelog ==
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
= 1.4.3 =
|
62 |
* NEW support for Google Analytics Global Site Tag (gtag.js).
|
63 |
* CHANGE events label now is the destination URL to match general behavior.
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 4.9.4
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 2.0.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
29 |
3. Call to action: Write a message to encourage users to contact you through WhatsApp.
|
30 |
4. Delay: You can define a timeout to display the call-to-action message.
|
31 |
5. Message: You can define the first message to send.
|
32 |
+
6. Advanced: configure on which pages you want to show or hide your WhatsApp button.
|
33 |
+
7. If you have Google Analytics, an event is triggered when the user launches WhatsApp.
|
34 |
+
8. Can override call to action, message or visibility on every post, page or custom post.
|
35 |
|
36 |
== Installation ==
|
37 |
|
52 |
|
53 |
== Screenshots ==
|
54 |
|
55 |
+
1. WhatsApp me general settings.
|
56 |
+
2. WhatsApp me advanced visibility settings.
|
57 |
+
3. Button on desktop.
|
58 |
+
4. Call to action on desktop.
|
59 |
+
5. Button and call to action on mobile.
|
60 |
|
61 |
== Changelog ==
|
62 |
|
63 |
+
= 2.0.0 =
|
64 |
+
* **NEW: Advanced visibility settings to define where to show *WhatsApp me* button.**
|
65 |
+
* **NEW:** WooCommerce integration.
|
66 |
+
* UPDATED International Telephone Input library to v.13.
|
67 |
+
* Minor fixes on fields cleanup and other improvements.
|
68 |
+
|
69 |
= 1.4.3 =
|
70 |
* NEW support for Google Analytics Global Site Tag (gtag.js).
|
71 |
* CHANGE events label now is the destination URL to match general behavior.
|
admin/class-whatsappme-admin.php
CHANGED
@@ -7,6 +7,7 @@
|
|
7 |
* enqueue the admin-specific stylesheet and JavaScript.
|
8 |
*
|
9 |
* @since 1.0.0
|
|
|
10 |
* @package WhatsAppMe
|
11 |
* @subpackage WhatsAppMe/admin
|
12 |
* @author Creame <hola@crea.me>
|
@@ -69,6 +70,7 @@ class WhatsAppMe_Admin {
|
|
69 |
* Get all settings or set defaults
|
70 |
*
|
71 |
* @since 1.0.0
|
|
|
72 |
*/
|
73 |
private function get_settings() {
|
74 |
|
@@ -79,6 +81,7 @@ class WhatsAppMe_Admin {
|
|
79 |
'message_delay' => 10000,
|
80 |
'message_send' => '',
|
81 |
'position' => 'right',
|
|
|
82 |
);
|
83 |
|
84 |
$saved_settings = get_option( 'whatsappme' );
|
@@ -96,11 +99,15 @@ class WhatsAppMe_Admin {
|
|
96 |
* Register the stylesheets for the admin area.
|
97 |
*
|
98 |
* @since 1.2.0
|
|
|
|
|
|
|
99 |
*/
|
100 |
public function enqueue_styles($hook) {
|
101 |
|
102 |
if ( 'settings_page_whatsappme' == $hook && $this->enhanced_phone ) {
|
103 |
-
wp_enqueue_style( 'intl-tel-input', 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/
|
|
|
104 |
}
|
105 |
|
106 |
}
|
@@ -109,11 +116,13 @@ class WhatsAppMe_Admin {
|
|
109 |
* Register the JavaScript for the admin area.
|
110 |
*
|
111 |
* @since 1.2.0
|
|
|
|
|
112 |
*/
|
113 |
public function enqueue_scripts($hook) {
|
114 |
|
115 |
if ( 'settings_page_whatsappme' == $hook && $this->enhanced_phone ) {
|
116 |
-
wp_enqueue_script( 'intl-tel-input', 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/
|
117 |
wp_enqueue_script( 'whatsappme-admin', plugin_dir_url( __FILE__ ) . 'js/whatsappme.js', array( 'intl-tel-input' ), $this->version, true );
|
118 |
}
|
119 |
|
@@ -124,15 +133,21 @@ class WhatsAppMe_Admin {
|
|
124 |
* From v1.2.0 also set filter to disable enhanced phone input
|
125 |
*
|
126 |
* @since 1.0.0
|
|
|
127 |
* @access public
|
128 |
* @return void
|
129 |
*/
|
130 |
public function settings_init(){
|
131 |
|
132 |
register_setting( 'whatsappme', 'whatsappme', array( $this, 'settings_validate' ) );
|
133 |
-
add_settings_section( 'whatsappme_section', null, array( $this, 'section_text' ), 'whatsappme' );
|
134 |
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
'telephone' => __( 'Telephone', 'creame-whatsapp-me' ),
|
137 |
'mobile_only' => __( 'Mobile only', 'creame-whatsapp-me' ),
|
138 |
'message_text' => __( 'Call to action', 'creame-whatsapp-me' ),
|
@@ -141,10 +156,97 @@ class WhatsAppMe_Admin {
|
|
141 |
'position' => __( 'Position on screen', 'creame-whatsapp-me' ),
|
142 |
);
|
143 |
|
144 |
-
foreach ( $
|
145 |
-
add_settings_field( 'whatsappme_' . $key, $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
|
|
|
|
|
148 |
$this->enhanced_phone = apply_filters( 'whatsappme_enhanced_phone', $this->enhanced_phone );
|
149 |
}
|
150 |
|
@@ -152,18 +254,20 @@ class WhatsAppMe_Admin {
|
|
152 |
* Validate settings, clean and set defaults before save
|
153 |
*
|
154 |
* @since 1.0.0
|
|
|
|
|
155 |
* @return array
|
156 |
*/
|
157 |
public function settings_validate($input) {
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
$input['
|
163 |
-
$input['
|
164 |
-
$input['message_delay'] = intval($input['message_delay']);
|
165 |
-
$input['message_send'] = trim($input['message_send']);
|
166 |
$input['position'] = $input['position'] != 'left' ? 'right' : 'left';
|
|
|
|
|
167 |
|
168 |
add_settings_error( 'whatsappme', 'settings_updated', __( 'Settings saved', 'creame-whatsapp-me' ), 'updated' );
|
169 |
|
@@ -171,13 +275,42 @@ class WhatsAppMe_Admin {
|
|
171 |
}
|
172 |
|
173 |
/**
|
174 |
-
* Section
|
175 |
*
|
176 |
* @since 1.0.0
|
|
|
|
|
177 |
* @return void
|
178 |
*/
|
179 |
-
public function section_text() {
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
182 |
|
183 |
/**
|
@@ -253,6 +386,44 @@ class WhatsAppMe_Admin {
|
|
253 |
__('Left', 'creame-whatsapp-me' ) . '</label></p></fieldset>';
|
254 |
}
|
255 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
/**
|
257 |
* Add menu to the options page in the wordpress admin
|
258 |
*
|
@@ -315,7 +486,7 @@ class WhatsAppMe_Admin {
|
|
315 |
// Default post types
|
316 |
$builtin_post_types = array( 'post', 'page' );
|
317 |
// Custom post types with public url
|
318 |
-
$custom_post_types = array_keys( get_post_types( array( '
|
319 |
|
320 |
// Add/remove posts types for "WhatsApp me" meta box
|
321 |
$post_types = apply_filters( 'whatsappme_post_types_meta_box', array_merge( $builtin_post_types, $custom_post_types ) );
|
@@ -324,7 +495,7 @@ class WhatsAppMe_Admin {
|
|
324 |
add_meta_box(
|
325 |
'whatsappme',
|
326 |
__( 'WhatsApp me', 'creame-whatsapp-me' ),
|
327 |
-
array( $this, '
|
328 |
$post_type,
|
329 |
'side',
|
330 |
'default'
|
@@ -335,38 +506,56 @@ class WhatsAppMe_Admin {
|
|
335 |
/**
|
336 |
* Generate Meta Box html
|
337 |
*
|
338 |
-
* @since 1.1.0
|
|
|
339 |
* @access public
|
340 |
* @return void
|
341 |
*/
|
342 |
-
public function
|
343 |
|
344 |
$metadata = get_post_meta( $post->ID, '_whatsappme', true ) ?: array();
|
345 |
$metadata = array_merge( array(
|
346 |
'message_text' => '',
|
347 |
'message_send' => '',
|
348 |
-
'hide' => false
|
|
|
349 |
), $metadata );
|
350 |
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
|
|
355 |
|
356 |
wp_nonce_field( 'whatsappme_data', 'whatsappme_nonce' );
|
357 |
?>
|
358 |
-
<
|
359 |
-
<
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
<
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
<
|
369 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
<?php
|
371 |
}
|
372 |
|
@@ -374,6 +563,7 @@ class WhatsAppMe_Admin {
|
|
374 |
* Save meta data from "WhatsApp me" Meta Box on post save
|
375 |
*
|
376 |
* @since 1.1.0
|
|
|
377 |
* @access public
|
378 |
* @return void
|
379 |
*/
|
@@ -384,12 +574,12 @@ class WhatsAppMe_Admin {
|
|
384 |
return;
|
385 |
}
|
386 |
|
387 |
-
//
|
388 |
-
$metadata = array_filter( array(
|
389 |
-
'message_text' =>
|
390 |
-
'message_send' =>
|
391 |
-
'
|
392 |
-
) );
|
393 |
|
394 |
if ( count( $metadata ) ) {
|
395 |
update_post_meta( $post_id, '_whatsappme', $metadata );
|
@@ -397,4 +587,22 @@ class WhatsAppMe_Admin {
|
|
397 |
delete_post_meta( $post_id, '_whatsappme' );
|
398 |
}
|
399 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
}
|
7 |
* enqueue the admin-specific stylesheet and JavaScript.
|
8 |
*
|
9 |
* @since 1.0.0
|
10 |
+
* @since 2.0.0 Added advanced visibility settings
|
11 |
* @package WhatsAppMe
|
12 |
* @subpackage WhatsAppMe/admin
|
13 |
* @author Creame <hola@crea.me>
|
70 |
* Get all settings or set defaults
|
71 |
*
|
72 |
* @since 1.0.0
|
73 |
+
* @since 2.0.0 Added visibility setting
|
74 |
*/
|
75 |
private function get_settings() {
|
76 |
|
81 |
'message_delay' => 10000,
|
82 |
'message_send' => '',
|
83 |
'position' => 'right',
|
84 |
+
'visibility' => array( 'all' => 'yes' ),
|
85 |
);
|
86 |
|
87 |
$saved_settings = get_option( 'whatsappme' );
|
99 |
* Register the stylesheets for the admin area.
|
100 |
*
|
101 |
* @since 1.2.0
|
102 |
+
* @since 2.0.0 Added whatsappme-admin styles
|
103 |
+
* @param string $hook The name of the page.
|
104 |
+
* @return void
|
105 |
*/
|
106 |
public function enqueue_styles($hook) {
|
107 |
|
108 |
if ( 'settings_page_whatsappme' == $hook && $this->enhanced_phone ) {
|
109 |
+
wp_enqueue_style( 'intl-tel-input', 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/13.0.3/css/intlTelInput.css', array(), null, 'all' );
|
110 |
+
wp_enqueue_style( 'whatsappme-admin', plugin_dir_url( __FILE__ ) . 'css/whatsappme.css', array(), $this->version, 'all' );
|
111 |
}
|
112 |
|
113 |
}
|
116 |
* Register the JavaScript for the admin area.
|
117 |
*
|
118 |
* @since 1.2.0
|
119 |
+
* @param string $hook The id of the page.
|
120 |
+
* @return void
|
121 |
*/
|
122 |
public function enqueue_scripts($hook) {
|
123 |
|
124 |
if ( 'settings_page_whatsappme' == $hook && $this->enhanced_phone ) {
|
125 |
+
wp_enqueue_script( 'intl-tel-input', 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/13.0.3/js/intlTelInput.min.js', array( 'jquery' ), null, true );
|
126 |
wp_enqueue_script( 'whatsappme-admin', plugin_dir_url( __FILE__ ) . 'js/whatsappme.js', array( 'intl-tel-input' ), $this->version, true );
|
127 |
}
|
128 |
|
133 |
* From v1.2.0 also set filter to disable enhanced phone input
|
134 |
*
|
135 |
* @since 1.0.0
|
136 |
+
* @since 2.0.0 Added tabs for general and Advanced settings
|
137 |
* @access public
|
138 |
* @return void
|
139 |
*/
|
140 |
public function settings_init(){
|
141 |
|
142 |
register_setting( 'whatsappme', 'whatsappme', array( $this, 'settings_validate' ) );
|
|
|
143 |
|
144 |
+
/*
|
145 |
+
* General Settings
|
146 |
+
*/
|
147 |
+
|
148 |
+
add_settings_section( 'whatsappme_section_general', null, array( $this, 'section_text' ), 'whatsappme' );
|
149 |
+
|
150 |
+
$general_fields = array(
|
151 |
'telephone' => __( 'Telephone', 'creame-whatsapp-me' ),
|
152 |
'mobile_only' => __( 'Mobile only', 'creame-whatsapp-me' ),
|
153 |
'message_text' => __( 'Call to action', 'creame-whatsapp-me' ),
|
156 |
'position' => __( 'Position on screen', 'creame-whatsapp-me' ),
|
157 |
);
|
158 |
|
159 |
+
foreach ( $general_fields as $key => $value ) {
|
160 |
+
add_settings_field( 'whatsappme_' . $key, $value, array( $this, 'field_' . $key ), 'whatsappme', 'whatsappme_section_general' );
|
161 |
+
}
|
162 |
+
|
163 |
+
/*
|
164 |
+
* Advanced Settings / All
|
165 |
+
*/
|
166 |
+
|
167 |
+
add_settings_section( 'whatsappme_section_advanced_all', null, array( $this, 'section_text' ), 'whatsappme' );
|
168 |
+
add_settings_field( 'whatsappme_view_all', __( 'Global', 'creame-whatsapp-me' ), array( $this, 'field_view_all' ), 'whatsappme', 'whatsappme_section_advanced_all' );
|
169 |
+
|
170 |
+
/*
|
171 |
+
* Advanced Settings / WP
|
172 |
+
*/
|
173 |
+
|
174 |
+
add_settings_section( 'whatsappme_section_advanced_wp', null, array( $this, 'section_text' ), 'whatsappme' );
|
175 |
+
|
176 |
+
$advanced_fields = array(
|
177 |
+
'front_page' => __( 'Front Page', 'creame-whatsapp-me' ),
|
178 |
+
'blog_page' => __( 'Blog Page', 'creame-whatsapp-me' ),
|
179 |
+
'404_page' => __( '404 Page', 'creame-whatsapp-me' ),
|
180 |
+
'search' => __( 'Search Results', 'creame-whatsapp-me' ),
|
181 |
+
'archive' => __( 'Archives', 'creame-whatsapp-me' ),
|
182 |
+
'date' => '— ' . __( 'Date Archives', 'creame-whatsapp-me' ),
|
183 |
+
'author' => '— ' . __( 'Author Archives', 'creame-whatsapp-me' ),
|
184 |
+
'singular' => __( 'Singular', 'creame-whatsapp-me' ),
|
185 |
+
'page' => '— ' . __( 'Page', 'creame-whatsapp-me' ),
|
186 |
+
'post' => '— ' . __( 'Post', 'creame-whatsapp-me' ),
|
187 |
+
);
|
188 |
+
|
189 |
+
// If isn't set Blog Page or is the same than Front Page unset blog_page option
|
190 |
+
if ( get_option( 'show_on_front' ) == 'posts' || get_option( 'page_for_posts' ) == 0 ) {
|
191 |
+
unset( $advanced_fields['blog_page'] );
|
192 |
+
}
|
193 |
+
|
194 |
+
foreach ( $advanced_fields as $key => $value ) {
|
195 |
+
add_settings_field( 'whatsappme_view_' . $key, $value, array( $this, 'field_view' ), 'whatsappme', 'whatsappme_section_advanced_wp', array( 'field' => $key ) );
|
196 |
+
}
|
197 |
+
|
198 |
+
/*
|
199 |
+
* Advanced Settings / Woocommerce
|
200 |
+
*/
|
201 |
+
|
202 |
+
if ( class_exists( 'WooCommerce' ) ) {
|
203 |
+
|
204 |
+
add_settings_section( 'whatsappme_section_advanced_woo', 'WooCommerce', array( $this, 'section_text' ), 'whatsappme' );
|
205 |
+
|
206 |
+
$woo_fields = array(
|
207 |
+
'woocommerce' => __( 'Shop', 'creame-whatsapp-me' ),
|
208 |
+
// 'shop' => __( 'Shop', 'creame-whatsapp-me' ),
|
209 |
+
'product' => '— ' . __( 'Product Page', 'creame-whatsapp-me' ),
|
210 |
+
'cart' => '— ' . __( 'Cart', 'creame-whatsapp-me' ),
|
211 |
+
'checkout' => '— ' . __( 'Checkout', 'creame-whatsapp-me' ),
|
212 |
+
'account_page' => '— ' . __( 'My Account', 'creame-whatsapp-me' ),
|
213 |
+
);
|
214 |
+
|
215 |
+
foreach ( $woo_fields as $key => $value ) {
|
216 |
+
add_settings_field( 'whatsappme_view_' . $key, $value, array( $this, 'field_view' ), 'whatsappme', 'whatsappme_section_advanced_woo', array( 'field' => $key ) );
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
/*
|
221 |
+
* Advanced Settings / Custom Post Types
|
222 |
+
*/
|
223 |
+
|
224 |
+
$custom_post_types = array_keys( get_post_types( array( 'has_archive' => true ), 'names' ) );
|
225 |
+
// Product CPT already defined in WooCommerce section
|
226 |
+
if ( class_exists( 'WooCommerce' ) ) {
|
227 |
+
$custom_post_types = array_diff( $custom_post_types, array( 'product' ) );
|
228 |
+
}
|
229 |
+
|
230 |
+
// Add/remove posts types on advanced settings
|
231 |
+
$custom_post_types = apply_filters( 'whatsappme_custom_post_types', $custom_post_types );
|
232 |
+
|
233 |
+
if ( count( $custom_post_types ) ) {
|
234 |
+
|
235 |
+
add_settings_section( 'whatsappme_section_advanced_cpt', __( 'Custom Post Types', 'creame-whatsapp-me' ), array( $this, 'section_text' ), 'whatsappme' );
|
236 |
+
|
237 |
+
foreach ( $custom_post_types as $custom_post_type ) {
|
238 |
+
|
239 |
+
$post_type = get_post_type_object( $custom_post_type );
|
240 |
+
$post_type_name = function_exists( 'mb_convert_case' ) ?
|
241 |
+
mb_convert_case( $post_type->labels->name, MB_CASE_TITLE ) :
|
242 |
+
strtolower( $post_type->labels->name );
|
243 |
+
|
244 |
+
add_settings_field( 'whatsappme_view_cpt_' . $custom_post_type, $post_type_name, array( $this, 'field_view' ), 'whatsappme', 'whatsappme_section_advanced_cpt', array( 'field' => 'cpt_' . $custom_post_type ) );
|
245 |
+
}
|
246 |
}
|
247 |
|
248 |
+
add_settings_section( 'whatsappme_section_end', null, array( $this, 'section_text' ), 'whatsappme' );
|
249 |
+
|
250 |
$this->enhanced_phone = apply_filters( 'whatsappme_enhanced_phone', $this->enhanced_phone );
|
251 |
}
|
252 |
|
254 |
* Validate settings, clean and set defaults before save
|
255 |
*
|
256 |
* @since 1.0.0
|
257 |
+
* @since 2.0.0 Added visibility setting
|
258 |
+
* @param array $input contain keys 'id', 'title' and 'callback'.
|
259 |
* @return array
|
260 |
*/
|
261 |
public function settings_validate($input) {
|
262 |
|
263 |
+
$input['mobile_only'] = isset( $input['mobile_only'] ) ? 'yes' : 'no';
|
264 |
+
$input['telephone'] = $this->clean_input( $input['telephone'] );
|
265 |
+
$input['message_text'] = $this->clean_input( $input['message_text'] );
|
266 |
+
$input['message_delay'] = intval( $input['message_delay'] );
|
267 |
+
$input['message_send'] = $this->clean_input( $input['message_send'] );
|
|
|
|
|
268 |
$input['position'] = $input['position'] != 'left' ? 'right' : 'left';
|
269 |
+
$input['visibility'] = array_filter( $input['view'], function($v) { return $v == 'yes' || $v == 'no'; } );
|
270 |
+
unset( $input['view'] );
|
271 |
|
272 |
add_settings_error( 'whatsappme', 'settings_updated', __( 'Settings saved', 'creame-whatsapp-me' ), 'updated' );
|
273 |
|
275 |
}
|
276 |
|
277 |
/**
|
278 |
+
* Section HTML output
|
279 |
*
|
280 |
* @since 1.0.0
|
281 |
+
* @since 2.0.0 Now accept $args and echo the appropriate section html
|
282 |
+
* @param array $args Section info.
|
283 |
* @return void
|
284 |
*/
|
285 |
+
public function section_text($args) {
|
286 |
+
switch ( $args['id'] ) {
|
287 |
+
case 'whatsappme_section_general':
|
288 |
+
echo '<h2 class="nav-tab-wrapper wp-clearfix">' .
|
289 |
+
'<a href="#tab-general" class="nav-tab nav-tab-active">' . __( 'General', 'creame-whatsapp-me' ) . '</a>' .
|
290 |
+
'<a href="#tab-advanced" class="nav-tab">' . __( 'Advanced', 'creame-whatsapp-me' ) . '</a>' .
|
291 |
+
'</h2>' .
|
292 |
+
'<div class="tabs">' .
|
293 |
+
'<div id="tab-general" class="tab tab-active">' .
|
294 |
+
'<p>' . __( 'From here you can configure the behavior of the WhatsApp button on your site.', 'creame-whatsapp-me' ) . '</p>';
|
295 |
+
break;
|
296 |
+
|
297 |
+
case 'whatsappme_section_advanced_all':
|
298 |
+
echo '</div><div id="tab-advanced" class="tab">' .
|
299 |
+
'<p>' . __( 'From here you can configure on which pages the WhatsApp button will be visible.', 'creame-whatsapp-me' ) .
|
300 |
+
' <a href="#" class="whatsappme_view_reset">' . __( 'Restore default visibility', 'creame-whatsapp-me' ) . '</a></p>';
|
301 |
+
break;
|
302 |
+
|
303 |
+
case 'whatsappme_section_advanced_wp':
|
304 |
+
echo '<hr>';
|
305 |
+
break;
|
306 |
+
|
307 |
+
case 'whatsappme_section_end':
|
308 |
+
echo '</div></div><!-- end tabs -->';
|
309 |
+
break;
|
310 |
+
|
311 |
+
default:
|
312 |
+
break;
|
313 |
+
}
|
314 |
}
|
315 |
|
316 |
/**
|
386 |
__('Left', 'creame-whatsapp-me' ) . '</label></p></fieldset>';
|
387 |
}
|
388 |
|
389 |
+
/**
|
390 |
+
* Field 'field_view_all' output
|
391 |
+
*
|
392 |
+
* @since 2.0.0
|
393 |
+
* @return void
|
394 |
+
*/
|
395 |
+
public function field_view_all() {
|
396 |
+
if ( isset( $this->settings['visibility']['all'] ) && $this->settings['visibility']['all'] == 'no' ) {
|
397 |
+
$value = 'no';
|
398 |
+
} else {
|
399 |
+
$value = 'yes';
|
400 |
+
}
|
401 |
+
|
402 |
+
echo '<label class="whatsappme_view_all"><input type="radio" name="whatsappme[view][all]" value="yes"' . checked( 'yes', $value, false ) . '> ' .
|
403 |
+
'<span class="dashicons dashicons-visibility" title="' . __( 'Show', 'creame-whatsapp-me' ) . '"></span></label>' .
|
404 |
+
'<label class="whatsappme_view_all"><input type="radio" name="whatsappme[view][all]" value="no"' . checked( 'no', $value, false ) . '> ' .
|
405 |
+
'<span class="dashicons dashicons-hidden" title="' . __( 'Hide', 'creame-whatsapp-me' ) . '"></span></label>';
|
406 |
+
}
|
407 |
+
|
408 |
+
/**
|
409 |
+
* Field 'field_view' output
|
410 |
+
*
|
411 |
+
* @since 2.0.0
|
412 |
+
* @param array $args array with key field.
|
413 |
+
* @return void
|
414 |
+
*/
|
415 |
+
public function field_view($args) {
|
416 |
+
$field = $args['field'];
|
417 |
+
$value = isset( $this->settings['visibility'][ $field ] ) ? $this->settings['visibility'][ $field ] : '';
|
418 |
+
|
419 |
+
echo '<label><input type="radio" name="whatsappme[view][' . $field . ']" value="yes"' . checked( 'yes', $value, false ) . '> ' .
|
420 |
+
'<span class="dashicons dashicons-visibility" title="' . __( 'Show', 'creame-whatsapp-me' ) . '"></span></label>' .
|
421 |
+
'<label><input type="radio" name="whatsappme[view][' . $field . ']" value="no"' . checked( 'no', $value, false ) . '> ' .
|
422 |
+
'<span class="dashicons dashicons-hidden" title="' . __( 'Hide', 'creame-whatsapp-me' ) . '"></span></label>' .
|
423 |
+
'<label><input type="radio" name="whatsappme[view][' . $field . ']" value=""' . checked( '', $value, false ) . '> ' .
|
424 |
+
__( 'Inherit', 'creame-whatsapp-me' ) . ' <span class="dashicons dashicons-visibility view_inheritance_' . $field . '"></span></label>';
|
425 |
+
}
|
426 |
+
|
427 |
/**
|
428 |
* Add menu to the options page in the wordpress admin
|
429 |
*
|
486 |
// Default post types
|
487 |
$builtin_post_types = array( 'post', 'page' );
|
488 |
// Custom post types with public url
|
489 |
+
$custom_post_types = array_keys( get_post_types( array( 'has_archive' => true ), 'names' ) );
|
490 |
|
491 |
// Add/remove posts types for "WhatsApp me" meta box
|
492 |
$post_types = apply_filters( 'whatsappme_post_types_meta_box', array_merge( $builtin_post_types, $custom_post_types ) );
|
495 |
add_meta_box(
|
496 |
'whatsappme',
|
497 |
__( 'WhatsApp me', 'creame-whatsapp-me' ),
|
498 |
+
array( $this, 'meta_box' ),
|
499 |
$post_type,
|
500 |
'side',
|
501 |
'default'
|
506 |
/**
|
507 |
* Generate Meta Box html
|
508 |
*
|
509 |
+
* @since 1.1.0 (previously named "add_meta_box")
|
510 |
+
* @since 2.0.0 Now can set as [show, hide, default]
|
511 |
* @access public
|
512 |
* @return void
|
513 |
*/
|
514 |
+
public function meta_box( $post ) {
|
515 |
|
516 |
$metadata = get_post_meta( $post->ID, '_whatsappme', true ) ?: array();
|
517 |
$metadata = array_merge( array(
|
518 |
'message_text' => '',
|
519 |
'message_send' => '',
|
520 |
+
'hide' => false,
|
521 |
+
'view' => '',
|
522 |
), $metadata );
|
523 |
|
524 |
+
// Move old 'hide' to new 'view' field
|
525 |
+
if ( $metadata['hide'] ) {
|
526 |
+
$metadata['view'] = 'no';
|
527 |
+
}
|
528 |
+
unset( $metadata['hide'] );
|
529 |
|
530 |
wp_nonce_field( 'whatsappme_data', 'whatsappme_nonce' );
|
531 |
?>
|
532 |
+
<div class="whatsappme-metabox">
|
533 |
+
<p>
|
534 |
+
<label for="whatsappme_message"><?php _e( 'Call to action', 'creame-whatsapp-me' ); ?></label><br>
|
535 |
+
<textarea name="whatsappme_message" rows="2" class="large-text"><?php echo $metadata['message_text']; ?></textarea>
|
536 |
+
</p>
|
537 |
+
<p>
|
538 |
+
<label for="whatsappme_message_send"><?php _e( 'Message', 'creame-whatsapp-me' ); ?></label><br>
|
539 |
+
<textarea name="whatsappme_message_send" rows="2" class="large-text"><?php echo $metadata['message_send']; ?></textarea>
|
540 |
+
<small><?php _e( 'You can use vars <code>{SITE} {URL} {TITLE}</code>', 'creame-whatsapp-me' ); ?></small>
|
541 |
+
</p>
|
542 |
+
<p>
|
543 |
+
<label><input type="radio" name="whatsappme_view" value="yes" <?php checked( 'yes', $metadata['view'] ); ?>>
|
544 |
+
<span class="dashicons dashicons-visibility" title="<?php echo __( 'Show', 'creame-whatsapp-me' ); ?>"></span></label>
|
545 |
+
<label><input type="radio" name="whatsappme_view" value="no" <?php checked( 'no', $metadata['view'] ); ?>>
|
546 |
+
<span class="dashicons dashicons-hidden" title="<?php echo __( 'Hide', 'creame-whatsapp-me' ); ?>"></span></label>
|
547 |
+
<label><input type="radio" name="whatsappme_view" value="" <?php checked( '', $metadata['view'] ); ?>>
|
548 |
+
<?php echo __( 'Default visibility', 'creame-whatsapp-me' ); ?></label>
|
549 |
+
</p>
|
550 |
+
</div>
|
551 |
+
<style>
|
552 |
+
.whatsappme-metabox code { font-size:smaller; vertical-align:text-bottom; }
|
553 |
+
.whatsappme-metabox .dashicons { opacity:.5; }
|
554 |
+
.whatsappme-metabox input[type=radio] { margin-right:2px; }
|
555 |
+
.whatsappme-metabox input[type=radio]+span { margin-right:5px; transition:all 200ms; }
|
556 |
+
.whatsappme-metabox input[type=radio]:checked+span { color:#79ba49; opacity:1; }
|
557 |
+
.whatsappme-metabox input[type=radio]:checked+.dashicons-hidden { color:#ca4a1f; }
|
558 |
+
</style>
|
559 |
<?php
|
560 |
}
|
561 |
|
563 |
* Save meta data from "WhatsApp me" Meta Box on post save
|
564 |
*
|
565 |
* @since 1.1.0
|
566 |
+
* @since 2.0.0 Change 'hide' key to 'view' now values can be [yes, no]
|
567 |
* @access public
|
568 |
* @return void
|
569 |
*/
|
574 |
return;
|
575 |
}
|
576 |
|
577 |
+
// Clean and delete empty/false fields
|
578 |
+
$metadata = array_filter( $this->clean_input( array(
|
579 |
+
'message_text' => $_POST['whatsappme_message'],
|
580 |
+
'message_send' => $_POST['whatsappme_message_send'],
|
581 |
+
'view' => $_POST['whatsappme_view'],
|
582 |
+
) ) );
|
583 |
|
584 |
if ( count( $metadata ) ) {
|
585 |
update_post_meta( $post_id, '_whatsappme', $metadata );
|
587 |
delete_post_meta( $post_id, '_whatsappme' );
|
588 |
}
|
589 |
}
|
590 |
+
|
591 |
+
/**
|
592 |
+
* Clean user input fields
|
593 |
+
*
|
594 |
+
* @since 2.0.0
|
595 |
+
* @param mixed $value to clean
|
596 |
+
* @return mixed $value cleaned
|
597 |
+
*/
|
598 |
+
public function clean_input($value) {
|
599 |
+
if ( is_array( $value ) ) {
|
600 |
+
return array_map( array( $this, 'clean_input' ), $value );
|
601 |
+
} else if ( is_string( $value ) ) {
|
602 |
+
// Split lines, clean and re-join lines
|
603 |
+
return implode( "\n", array_map( 'sanitize_text_field', explode( "\n", trim( $value ) ) ) );
|
604 |
+
} else {
|
605 |
+
return $value;
|
606 |
+
}
|
607 |
+
}
|
608 |
}
|
admin/css/whatsappme.css
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.tab {
|
2 |
+
display: none;
|
3 |
+
}
|
4 |
+
|
5 |
+
.tab-active {
|
6 |
+
display: block;
|
7 |
+
}
|
8 |
+
|
9 |
+
#tab-advanced tr:hover {
|
10 |
+
background: rgba(0, 0, 0, .05);
|
11 |
+
}
|
12 |
+
|
13 |
+
#tab-advanced th,
|
14 |
+
#tab-advanced td {
|
15 |
+
padding: 7px 15px;
|
16 |
+
}
|
17 |
+
|
18 |
+
#tab-advanced label {
|
19 |
+
margin-right: 15px;
|
20 |
+
}
|
21 |
+
|
22 |
+
#tab-advanced .dashicons {
|
23 |
+
opacity: .5;
|
24 |
+
}
|
25 |
+
|
26 |
+
#tab-advanced input[type=radio]+span {
|
27 |
+
transition: all 200ms;
|
28 |
+
}
|
29 |
+
|
30 |
+
#tab-advanced input[type=radio]:checked+span {
|
31 |
+
color: #79ba49;
|
32 |
+
opacity: 1;
|
33 |
+
}
|
34 |
+
|
35 |
+
#tab-advanced input[type=radio]:checked+.dashicons-hidden {
|
36 |
+
color: #ca4a1f;
|
37 |
+
}
|
admin/js/whatsappme.js
CHANGED
@@ -31,5 +31,55 @@
|
|
31 |
$phone.css('border-color', $.trim($phone.val()) && !$phone.intlTelInput("isValidNumber") ? '#ff0000' : '');
|
32 |
});
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
});
|
35 |
})(jQuery);
|
31 |
$phone.css('border-color', $.trim($phone.val()) && !$phone.intlTelInput("isValidNumber") ? '#ff0000' : '');
|
32 |
});
|
33 |
|
34 |
+
$('.nav-tab').click(function (e) {
|
35 |
+
var $tab = $(this);
|
36 |
+
e.preventDefault();
|
37 |
+
|
38 |
+
$('.nav-tab').removeClass('nav-tab-active');
|
39 |
+
$tab.addClass('nav-tab-active').blur();
|
40 |
+
$('.tab').removeClass('tab-active');
|
41 |
+
$($tab.attr('href')).addClass('tab-active');
|
42 |
+
});
|
43 |
+
|
44 |
+
var $tab_advanced = $('#tab-advanced');
|
45 |
+
var inheritance = {
|
46 |
+
'all': ['front_page', 'blog_page', '404_page', 'search', 'archive', 'singular', 'woocommerce', 'cpts'],
|
47 |
+
'archive': ['date', 'author'],
|
48 |
+
'singular': ['page', 'post'],
|
49 |
+
'woocommerce': ['product', 'cart', 'checkout', 'account_page']
|
50 |
+
};
|
51 |
+
|
52 |
+
$('input', $tab_advanced).change(function () {
|
53 |
+
propagate_inheritance();
|
54 |
+
});
|
55 |
+
|
56 |
+
function propagate_inheritance(field, show) {
|
57 |
+
field = field || 'all';
|
58 |
+
show = show || $('input[name="whatsappme[view][' + field + ']"]:checked').val();
|
59 |
+
|
60 |
+
$('.view_inheritance_' + field)
|
61 |
+
.toggleClass('dashicons-visibility', show == 'yes')
|
62 |
+
.toggleClass('dashicons-hidden', show == 'no');
|
63 |
+
|
64 |
+
if (field == 'cpts') {
|
65 |
+
$('[class*=view_inheritance_cpt_]')
|
66 |
+
.toggleClass('dashicons-visibility', show == 'yes')
|
67 |
+
.toggleClass('dashicons-hidden', show == 'no');
|
68 |
+
} else if (field in inheritance) {
|
69 |
+
var value = $('input[name="whatsappme[view][' + field + ']"]:checked').val();
|
70 |
+
value = value === '' ? show : value;
|
71 |
+
|
72 |
+
$.each(inheritance[field], function () { propagate_inheritance(this, value); });
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
$('.whatsappme_view_reset').click(function (e) {
|
77 |
+
e.preventDefault();
|
78 |
+
$('input[value=""]', $tab_advanced).prop('checked', true);
|
79 |
+
$('.whatsappme_view_all input', $tab_advanced).first().prop('checked', true);
|
80 |
+
propagate_inheritance();
|
81 |
+
});
|
82 |
+
|
83 |
+
propagate_inheritance();
|
84 |
});
|
85 |
})(jQuery);
|
languages/creame-whatsapp-me.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WhatsApp Me\n"
|
5 |
-
"POT-Creation-Date: 2018-
|
6 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
7 |
"Last-Translator: Your Name <you@example.com>\n"
|
8 |
"Language-Team: Creame <hola@crea.me>\n"
|
@@ -21,112 +21,215 @@ msgstr ""
|
|
21 |
"X-Generator: Loco https://localise.biz/\n"
|
22 |
"X-Poedit-SearchPath-0: ."
|
23 |
|
24 |
-
#: admin/class-whatsappme-admin.php:
|
25 |
msgid "Telephone"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: admin/class-whatsappme-admin.php:
|
29 |
msgid "Mobile only"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: admin/class-whatsappme-admin.php:
|
33 |
msgid "Call to action"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: admin/class-whatsappme-admin.php:
|
37 |
msgid "Delay"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: admin/class-whatsappme-admin.php:
|
41 |
msgid "Message"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: admin/class-whatsappme-admin.php:
|
45 |
msgid "Position on screen"
|
46 |
msgstr ""
|
47 |
|
48 |
#: admin/class-whatsappme-admin.php:168
|
49 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
msgstr ""
|
51 |
|
52 |
#: admin/class-whatsappme-admin.php:180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
msgid ""
|
54 |
"From here you can configure the behavior of the WhatsApp button on your site."
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: admin/class-whatsappme-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
msgid ""
|
59 |
"Contact phone number. <strong>The button will not be shown if it's empty."
|
60 |
"</strong>"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: admin/class-whatsappme-admin.php:
|
64 |
msgid ""
|
65 |
"Hello 👋\n"
|
66 |
"Can we help you?"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: admin/class-whatsappme-admin.php:
|
70 |
msgid ""
|
71 |
"<strong>Optional.</strong> Text to invite the user to use the contact via "
|
72 |
"WhatsApp."
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: admin/class-whatsappme-admin.php:
|
76 |
msgid ""
|
77 |
"You can use formatting styles like in WhatsApp: _<em>italic</em>_ *<strong>"
|
78 |
"bold</strong>* ~<del>strikethrough</del>~"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: admin/class-whatsappme-admin.php:
|
82 |
msgid "milliseconds"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: admin/class-whatsappme-admin.php:
|
86 |
msgid ""
|
87 |
"The <strong>Call to action</strong> will only be displayed once when the "
|
88 |
"user exceeds the estimated delay on a page. It will also be displayed when "
|
89 |
"the user stops the cursor over the WhatsApp button."
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: admin/class-whatsappme-admin.php:
|
93 |
msgid "Hi {SITE}! I need more info about {TITLE}"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: admin/class-whatsappme-admin.php:
|
97 |
msgid "<strong>Optional.</strong> Default message to start the conversation."
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: admin/class-whatsappme-admin.php:
|
101 |
msgid ""
|
102 |
"You can use vars <code>{SITE} {URL} {TITLE}</code> that will be replaced "
|
103 |
"with the values of the current page."
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: admin/class-whatsappme-admin.php:
|
107 |
msgid "Only display the button on mobile devices"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: admin/class-whatsappme-admin.php:
|
111 |
msgid "Right"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: admin/class-whatsappme-admin.php:
|
115 |
msgid "Left"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: admin/class-whatsappme-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
msgid "Settings"
|
120 |
msgstr ""
|
121 |
|
122 |
#. Name of the plugin
|
123 |
-
#: admin/class-whatsappme-admin.php:
|
124 |
msgid "WhatsApp me"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: admin/class-whatsappme-admin.php:
|
128 |
-
|
129 |
-
|
|
|
|
|
|
|
130 |
msgstr ""
|
131 |
|
132 |
#. Description of the theme
|
@@ -134,7 +237,7 @@ msgid "Add support to your clients directly with WhatsApp."
|
|
134 |
msgstr ""
|
135 |
|
136 |
#. URI of the plugin
|
137 |
-
msgid "
|
138 |
msgstr ""
|
139 |
|
140 |
#. Author of the plugin
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WhatsApp Me\n"
|
5 |
+
"POT-Creation-Date: 2018-08-30 09:03+0000\n"
|
6 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
7 |
"Last-Translator: Your Name <you@example.com>\n"
|
8 |
"Language-Team: Creame <hola@crea.me>\n"
|
21 |
"X-Generator: Loco https://localise.biz/\n"
|
22 |
"X-Poedit-SearchPath-0: ."
|
23 |
|
24 |
+
#: admin/class-whatsappme-admin.php:151
|
25 |
msgid "Telephone"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: admin/class-whatsappme-admin.php:152 admin/class-whatsappme-admin.php:370
|
29 |
msgid "Mobile only"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: admin/class-whatsappme-admin.php:153 admin/class-whatsappme-admin.php:534
|
33 |
msgid "Call to action"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: admin/class-whatsappme-admin.php:154
|
37 |
msgid "Delay"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: admin/class-whatsappme-admin.php:155 admin/class-whatsappme-admin.php:538
|
41 |
msgid "Message"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: admin/class-whatsappme-admin.php:156 admin/class-whatsappme-admin.php:382
|
45 |
msgid "Position on screen"
|
46 |
msgstr ""
|
47 |
|
48 |
#: admin/class-whatsappme-admin.php:168
|
49 |
+
msgid "Global"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: admin/class-whatsappme-admin.php:177
|
53 |
+
msgid "Front Page"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: admin/class-whatsappme-admin.php:178
|
57 |
+
msgid "Blog Page"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: admin/class-whatsappme-admin.php:179
|
61 |
+
msgid "404 Page"
|
62 |
msgstr ""
|
63 |
|
64 |
#: admin/class-whatsappme-admin.php:180
|
65 |
+
msgid "Search Results"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: admin/class-whatsappme-admin.php:181
|
69 |
+
msgid "Archives"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: admin/class-whatsappme-admin.php:182
|
73 |
+
msgid "Date Archives"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: admin/class-whatsappme-admin.php:183
|
77 |
+
msgid "Author Archives"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: admin/class-whatsappme-admin.php:184
|
81 |
+
msgid "Singular"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: admin/class-whatsappme-admin.php:185
|
85 |
+
msgid "Page"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: admin/class-whatsappme-admin.php:186
|
89 |
+
msgid "Post"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: admin/class-whatsappme-admin.php:207
|
93 |
+
msgid "Shop"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: admin/class-whatsappme-admin.php:209
|
97 |
+
msgid "Product Page"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: admin/class-whatsappme-admin.php:210
|
101 |
+
msgid "Cart"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: admin/class-whatsappme-admin.php:211
|
105 |
+
msgid "Checkout"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: admin/class-whatsappme-admin.php:212
|
109 |
+
msgid "My Account"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: admin/class-whatsappme-admin.php:235
|
113 |
+
msgid "Custom Post Types"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: admin/class-whatsappme-admin.php:272
|
117 |
+
msgid "Settings saved"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: admin/class-whatsappme-admin.php:289
|
121 |
+
msgid "General"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: admin/class-whatsappme-admin.php:290
|
125 |
+
msgid "Advanced"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: admin/class-whatsappme-admin.php:294
|
129 |
msgid ""
|
130 |
"From here you can configure the behavior of the WhatsApp button on your site."
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: admin/class-whatsappme-admin.php:299
|
134 |
+
msgid ""
|
135 |
+
"From here you can configure on which pages the WhatsApp button will be "
|
136 |
+
"visible."
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: admin/class-whatsappme-admin.php:300
|
140 |
+
msgid "Restore default visibility"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: admin/class-whatsappme-admin.php:325
|
144 |
msgid ""
|
145 |
"Contact phone number. <strong>The button will not be shown if it's empty."
|
146 |
"</strong>"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: admin/class-whatsappme-admin.php:335
|
150 |
msgid ""
|
151 |
"Hello 👋\n"
|
152 |
"Can we help you?"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: admin/class-whatsappme-admin.php:336
|
156 |
msgid ""
|
157 |
"<strong>Optional.</strong> Text to invite the user to use the contact via "
|
158 |
"WhatsApp."
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: admin/class-whatsappme-admin.php:337
|
162 |
msgid ""
|
163 |
"You can use formatting styles like in WhatsApp: _<em>italic</em>_ *<strong>"
|
164 |
"bold</strong>* ~<del>strikethrough</del>~"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: admin/class-whatsappme-admin.php:347
|
168 |
msgid "milliseconds"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: admin/class-whatsappme-admin.php:348
|
172 |
msgid ""
|
173 |
"The <strong>Call to action</strong> will only be displayed once when the "
|
174 |
"user exceeds the estimated delay on a page. It will also be displayed when "
|
175 |
"the user stops the cursor over the WhatsApp button."
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: admin/class-whatsappme-admin.php:358
|
179 |
msgid "Hi {SITE}! I need more info about {TITLE}"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: admin/class-whatsappme-admin.php:359
|
183 |
msgid "<strong>Optional.</strong> Default message to start the conversation."
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: admin/class-whatsappme-admin.php:360
|
187 |
msgid ""
|
188 |
"You can use vars <code>{SITE} {URL} {TITLE}</code> that will be replaced "
|
189 |
"with the values of the current page."
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: admin/class-whatsappme-admin.php:372
|
193 |
msgid "Only display the button on mobile devices"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: admin/class-whatsappme-admin.php:384
|
197 |
msgid "Right"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: admin/class-whatsappme-admin.php:386
|
201 |
msgid "Left"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: admin/class-whatsappme-admin.php:403 admin/class-whatsappme-admin.php:420
|
205 |
+
#: admin/class-whatsappme-admin.php:544
|
206 |
+
msgid "Show"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: admin/class-whatsappme-admin.php:405 admin/class-whatsappme-admin.php:422
|
210 |
+
#: admin/class-whatsappme-admin.php:546
|
211 |
+
msgid "Hide"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: admin/class-whatsappme-admin.php:424
|
215 |
+
msgid "Inherit"
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: admin/class-whatsappme-admin.php:449
|
219 |
msgid "Settings"
|
220 |
msgstr ""
|
221 |
|
222 |
#. Name of the plugin
|
223 |
+
#: admin/class-whatsappme-admin.php:497
|
224 |
msgid "WhatsApp me"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: admin/class-whatsappme-admin.php:540
|
228 |
+
msgid "You can use vars <code>{SITE} {URL} {TITLE}</code>"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: admin/class-whatsappme-admin.php:548
|
232 |
+
msgid "Default visibility"
|
233 |
msgstr ""
|
234 |
|
235 |
#. Description of the theme
|
237 |
msgstr ""
|
238 |
|
239 |
#. URI of the plugin
|
240 |
+
msgid "http://wame.chat"
|
241 |
msgstr ""
|
242 |
|
243 |
#. Author of the plugin
|
public/class-whatsappme-public.php
CHANGED
@@ -43,8 +43,9 @@ class WhatsAppMe_Public {
|
|
43 |
* Initialize the class and set its properties.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
-
* @
|
47 |
-
* @param
|
|
|
48 |
*/
|
49 |
public function __construct( $plugin_name, $version ) {
|
50 |
|
@@ -58,6 +59,7 @@ class WhatsAppMe_Public {
|
|
58 |
'message_send' => '',
|
59 |
'mobile_only' => false,
|
60 |
'position' => 'right',
|
|
|
61 |
);
|
62 |
|
63 |
}
|
@@ -66,6 +68,8 @@ class WhatsAppMe_Public {
|
|
66 |
* Get global settings and current post settings and prepare
|
67 |
*
|
68 |
* @since 1.0.0
|
|
|
|
|
69 |
*/
|
70 |
public function get_settings() {
|
71 |
|
@@ -82,9 +86,14 @@ class WhatsAppMe_Public {
|
|
82 |
// Post custom settings
|
83 |
$post_settings = is_object( $post ) ? get_post_meta( $post->ID, '_whatsappme', true ) : '';
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
// Prepare settings
|
86 |
$settings['telephone'] = preg_replace( '/^0+|\D/', '', $settings['telephone'] );
|
87 |
-
$settings['show'] = $settings['telephone'] != '' && ! isset( $post_settings['hide'] );
|
88 |
$settings['position'] = $settings['position'] != 'left' ? 'right' : 'left';
|
89 |
$settings['mobile_only'] = $settings['mobile_only'] == 'yes';
|
90 |
if ( isset( $post_settings['message_text'] ) ) {
|
@@ -95,6 +104,13 @@ class WhatsAppMe_Public {
|
|
95 |
}
|
96 |
$settings['message_send'] = $this->formated_message_send( $settings['message_send'] );
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
$this->settings = $settings;
|
99 |
}
|
100 |
|
@@ -140,9 +156,12 @@ class WhatsAppMe_Public {
|
|
140 |
*/
|
141 |
public function footer_html() {
|
142 |
|
|
|
|
|
|
|
143 |
if ( $this->settings['show'] ) {
|
144 |
?>
|
145 |
-
<div class="whatsappme whatsappme--<?php echo $this->settings['position']; ?>" data-settings="<?php echo esc_attr(json_encode($
|
146 |
<div class="whatsappme__button">
|
147 |
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z" fill="currentColor"/></svg>
|
148 |
</div>
|
@@ -234,4 +253,109 @@ class WhatsAppMe_Public {
|
|
234 |
return apply_filters( 'whatsappme_get_title', $title );
|
235 |
|
236 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
43 |
* Initialize the class and set its properties.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
+
* @since 2.0.0 Added visibility setting
|
47 |
+
* @param string $plugin_name The name of the plugin.
|
48 |
+
* @param string $version The version of this plugin.
|
49 |
*/
|
50 |
public function __construct( $plugin_name, $version ) {
|
51 |
|
59 |
'message_send' => '',
|
60 |
'mobile_only' => false,
|
61 |
'position' => 'right',
|
62 |
+
'visibility' => array( 'all' => 'yes' ),
|
63 |
);
|
64 |
|
65 |
}
|
68 |
* Get global settings and current post settings and prepare
|
69 |
*
|
70 |
* @since 1.0.0
|
71 |
+
* @since 2.0.0 Check visibility
|
72 |
+
* @return void
|
73 |
*/
|
74 |
public function get_settings() {
|
75 |
|
86 |
// Post custom settings
|
87 |
$post_settings = is_object( $post ) ? get_post_meta( $post->ID, '_whatsappme', true ) : '';
|
88 |
|
89 |
+
// Move old 'hide' to new 'view' field
|
90 |
+
if ( isset( $post_settings['hide'] ) ) {
|
91 |
+
$post_settings['view'] = 'no';
|
92 |
+
unset( $post_settings['hide'] );
|
93 |
+
}
|
94 |
+
|
95 |
// Prepare settings
|
96 |
$settings['telephone'] = preg_replace( '/^0+|\D/', '', $settings['telephone'] );
|
|
|
97 |
$settings['position'] = $settings['position'] != 'left' ? 'right' : 'left';
|
98 |
$settings['mobile_only'] = $settings['mobile_only'] == 'yes';
|
99 |
if ( isset( $post_settings['message_text'] ) ) {
|
104 |
}
|
105 |
$settings['message_send'] = $this->formated_message_send( $settings['message_send'] );
|
106 |
|
107 |
+
$settings['show'] = $settings['telephone'] != '';
|
108 |
+
if ( $settings['show'] ) {
|
109 |
+
$settings['show'] = isset( $post_settings['view'] ) ?
|
110 |
+
$post_settings['view'] == 'yes' :
|
111 |
+
$this->check_visibility( $settings['visibility'] );
|
112 |
+
}
|
113 |
+
|
114 |
$this->settings = $settings;
|
115 |
}
|
116 |
|
156 |
*/
|
157 |
public function footer_html() {
|
158 |
|
159 |
+
// Clean unnecessary settings on front
|
160 |
+
$data = array_diff_key( $this->settings, array_flip( array( 'show', 'visibility', 'position' ) ) );
|
161 |
+
|
162 |
if ( $this->settings['show'] ) {
|
163 |
?>
|
164 |
+
<div class="whatsappme whatsappme--<?php echo $this->settings['position']; ?>" data-settings="<?php echo esc_attr( json_encode( $data ) ); ?>">
|
165 |
<div class="whatsappme__button">
|
166 |
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z" fill="currentColor"/></svg>
|
167 |
</div>
|
253 |
return apply_filters( 'whatsappme_get_title', $title );
|
254 |
|
255 |
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Check visibility on current page
|
259 |
+
*
|
260 |
+
* @since 2.0.0
|
261 |
+
* @param array $options array of visibility settings
|
262 |
+
* @return boolean is visible or not on current page
|
263 |
+
*/
|
264 |
+
public function check_visibility($options) {
|
265 |
+
|
266 |
+
$global = isset( $options['all'] ) ? $options['all'] == 'yes' : true;
|
267 |
+
|
268 |
+
// Check front page
|
269 |
+
if ( is_front_page() ) {
|
270 |
+
return isset( $options['front_page'] ) ? $options['front_page'] == 'yes' : $global;
|
271 |
+
}
|
272 |
+
|
273 |
+
// Check blog page
|
274 |
+
if ( is_home() ) {
|
275 |
+
return isset( $options['blog_page'] ) ? $options['blog_page'] == 'yes' : $global;
|
276 |
+
}
|
277 |
+
|
278 |
+
// Check 404 page
|
279 |
+
if ( is_404() ) {
|
280 |
+
return isset( $options['404_page'] ) ? $options['404_page'] == 'yes' : $global;
|
281 |
+
}
|
282 |
+
|
283 |
+
// Check WooCommerce
|
284 |
+
if ( class_exists( 'WooCommerce' ) ) {
|
285 |
+
$woo = isset( $options['woocommerce'] ) ? $options['woocommerce'] == 'yes' : $global;
|
286 |
+
|
287 |
+
// Product page
|
288 |
+
if ( is_product() ) {
|
289 |
+
return isset( $options['product'] ) ? $options['product'] == 'yes' : $woo;
|
290 |
+
}
|
291 |
+
|
292 |
+
// Cart page
|
293 |
+
if ( is_cart() ) {
|
294 |
+
return isset( $options['cart'] ) ? $options['cart'] == 'yes' : $woo;
|
295 |
+
}
|
296 |
+
|
297 |
+
// Checkout page
|
298 |
+
if ( is_checkout() ) {
|
299 |
+
return isset( $options['checkout'] ) ? $options['checkout'] == 'yes' : $woo;
|
300 |
+
}
|
301 |
+
|
302 |
+
// Customer account pages
|
303 |
+
if ( is_account_page() ) {
|
304 |
+
return isset( $options['account_page'] ) ? $options['account_page'] == 'yes': $woo;
|
305 |
+
}
|
306 |
+
|
307 |
+
if ( is_woocommerce() ) {
|
308 |
+
return $woo;
|
309 |
+
}
|
310 |
+
}
|
311 |
+
|
312 |
+
// Check Custom Post Types
|
313 |
+
$cpts = array_filter( $options, function($k){ return substr( $k, 0, 4 ) == 'cpt_'; }, ARRAY_FILTER_USE_KEY );
|
314 |
+
|
315 |
+
foreach ($cpts as $cpt => $view) {
|
316 |
+
$cpt = substr( $cpt, 4 );
|
317 |
+
if ( is_singular( $cpt ) || is_post_type_archive( $cpt) ) {
|
318 |
+
return $view == 'yes';
|
319 |
+
}
|
320 |
+
}
|
321 |
+
|
322 |
+
// Search results
|
323 |
+
if ( is_search() ) {
|
324 |
+
return isset( $options['search'] ) ? $options['search'] == 'yes' : $global;
|
325 |
+
}
|
326 |
+
|
327 |
+
// Check archives
|
328 |
+
if ( is_archive() ) {
|
329 |
+
|
330 |
+
// Date archive
|
331 |
+
if ( isset( $options['date'] ) && is_date() ) {
|
332 |
+
return $options['date'] == 'yes';
|
333 |
+
}
|
334 |
+
|
335 |
+
// Author archive
|
336 |
+
if ( isset( $options['author'] ) && is_author() ) {
|
337 |
+
return $options['author'] == 'yes';
|
338 |
+
}
|
339 |
+
|
340 |
+
return isset( $options['archive'] ) ? $options['archive'] == 'yes' : $global;
|
341 |
+
}
|
342 |
+
|
343 |
+
// Check singular
|
344 |
+
if ( is_singular() ) {
|
345 |
+
|
346 |
+
// Page
|
347 |
+
if ( isset( $options['page'] ) && is_page() ) {
|
348 |
+
return $options['page'] == 'yes';
|
349 |
+
}
|
350 |
+
|
351 |
+
// Post (or other custom posts)
|
352 |
+
if ( isset( $options['post'] ) && is_single() ) {
|
353 |
+
return $options['post'] == 'yes';
|
354 |
+
}
|
355 |
+
|
356 |
+
return isset( $options['singular'] ) ? $options['singular'] == 'yes' : $global;
|
357 |
+
}
|
358 |
+
|
359 |
+
return $global;
|
360 |
+
}
|
361 |
}
|
public/css/whatsappme.css
CHANGED
@@ -69,8 +69,12 @@
|
|
69 |
}
|
70 |
|
71 |
.whatsappme__header {
|
|
|
|
|
|
|
72 |
height: 70px;
|
73 |
padding: 0 26px;
|
|
|
74 |
background-color: #2e8c7d;
|
75 |
color: rgba(255, 255, 255, .5);
|
76 |
}
|
69 |
}
|
70 |
|
71 |
.whatsappme__header {
|
72 |
+
display: block;
|
73 |
+
position: static;
|
74 |
+
width: 100%;
|
75 |
height: 70px;
|
76 |
padding: 0 26px;
|
77 |
+
margin: 0;
|
78 |
background-color: #2e8c7d;
|
79 |
color: rgba(255, 255, 255, .5);
|
80 |
}
|
whatsappme.php
CHANGED
@@ -7,9 +7,9 @@
|
|
7 |
*
|
8 |
* @wordpress-plugin
|
9 |
* Plugin Name: WhatsApp me
|
10 |
-
* Plugin URI:
|
11 |
* Description: Add support to your clients directly with WhatsApp.
|
12 |
-
* Version:
|
13 |
* Author: Creame
|
14 |
* Author URI: https://crea.me
|
15 |
* License: GPL-2.0+
|
@@ -27,7 +27,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
27 |
* Currently plugin version.
|
28 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
29 |
*/
|
30 |
-
define( 'WHATSAPPME_VERSION', '
|
31 |
|
32 |
/**
|
33 |
* The core plugin class that is used to define internationalization,
|
7 |
*
|
8 |
* @wordpress-plugin
|
9 |
* Plugin Name: WhatsApp me
|
10 |
+
* Plugin URI: http://wame.chat
|
11 |
* Description: Add support to your clients directly with WhatsApp.
|
12 |
+
* Version: 2.0.0
|
13 |
* Author: Creame
|
14 |
* Author URI: https://crea.me
|
15 |
* License: GPL-2.0+
|
27 |
* Currently plugin version.
|
28 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
29 |
*/
|
30 |
+
define( 'WHATSAPPME_VERSION', '2.0.0' );
|
31 |
|
32 |
/**
|
33 |
* The core plugin class that is used to define internationalization,
|