Version Description
- NEW: Button bagde option for a less intrusive mode.
- CHANGED now each different Call to Action is marked as read separately.
- CHANGED now first show Call to Action (if defined) before launch WhatsApp link.
Download this release
Release Info
Developer | creapuntome |
Plugin | WhatsApp me |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.1 to 2.1.0
- README.txt +11 -5
- admin/class-whatsappme-admin.php +18 -1
- languages/creame-whatsapp-me.pot +63 -54
- public/class-whatsappme-public.php +5 -1
- public/css/whatsappme.css +70 -4
- public/js/whatsappme.js +85 -51
- whatsappme.php +2 -2
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: 2.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -28,10 +28,11 @@ Options:
|
|
28 |
2. Mobile only: Select if you want the button to be visible only on mobile devices. WhatsApp Web/App will open on the desktop (if available).
|
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.
|
32 |
-
6.
|
33 |
-
7.
|
34 |
-
8.
|
|
|
35 |
|
36 |
== Installation ==
|
37 |
|
@@ -60,6 +61,11 @@ WhatsApp me don't save any personal data and don't use cookies.
|
|
60 |
|
61 |
== Changelog ==
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
= 2.0.1 =
|
64 |
* FIX removed array_filter function that requires PHP 5.6 min version.
|
65 |
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 4.9.4
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 2.1.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
28 |
2. Mobile only: Select if you want the button to be visible only on mobile devices. WhatsApp Web/App will open on the desktop (if available).
|
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. Badge: Show a button badge for a less intrusive mode.
|
32 |
+
6. Message: You can define the first message to send.
|
33 |
+
7. Advanced: configure on which pages you want to show or hide your WhatsApp button.
|
34 |
+
8. If you have Google Analytics, an event is triggered when the user launches WhatsApp.
|
35 |
+
9. Can override call to action, message or visibility on every post, page or custom post.
|
36 |
|
37 |
== Installation ==
|
38 |
|
61 |
|
62 |
== Changelog ==
|
63 |
|
64 |
+
= 2.1.0 =
|
65 |
+
* **NEW:** Button bagde option for a less intrusive mode.
|
66 |
+
* CHANGED now each different Call to Action is marked as read separately.
|
67 |
+
* CHANGED now first show Call to Action (if defined) before launch WhatsApp link.
|
68 |
+
|
69 |
= 2.0.1 =
|
70 |
* FIX removed array_filter function that requires PHP 5.6 min version.
|
71 |
|
admin/class-whatsappme-admin.php
CHANGED
@@ -71,6 +71,7 @@ class WhatsAppMe_Admin {
|
|
71 |
*
|
72 |
* @since 1.0.0
|
73 |
* @since 2.0.0 Added visibility setting
|
|
|
74 |
*/
|
75 |
private function get_settings() {
|
76 |
|
@@ -79,6 +80,7 @@ class WhatsAppMe_Admin {
|
|
79 |
'mobile_only' => 'no',
|
80 |
'message_text' => '',
|
81 |
'message_delay' => 10000,
|
|
|
82 |
'message_send' => '',
|
83 |
'position' => 'right',
|
84 |
'visibility' => array( 'all' => 'yes' ),
|
@@ -152,6 +154,7 @@ class WhatsAppMe_Admin {
|
|
152 |
'mobile_only' => __( 'Mobile only', 'creame-whatsapp-me' ),
|
153 |
'message_text' => __( 'Call to action', 'creame-whatsapp-me' ),
|
154 |
'message_delay' => __( 'Delay', 'creame-whatsapp-me' ),
|
|
|
155 |
'message_send' => __( 'Message', 'creame-whatsapp-me' ),
|
156 |
'position' => __( 'Position on screen', 'creame-whatsapp-me' ),
|
157 |
);
|
@@ -255,6 +258,7 @@ class WhatsAppMe_Admin {
|
|
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 |
*/
|
@@ -264,6 +268,7 @@ class WhatsAppMe_Admin {
|
|
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'; } );
|
@@ -345,7 +350,19 @@ class WhatsAppMe_Admin {
|
|
345 |
*/
|
346 |
public function field_message_delay() {
|
347 |
echo '<input name="whatsappme[message_delay]" value="' . $this->settings['message_delay'] . '" class="small-text" type="number" min="0"> ' . __( 'milliseconds', 'creame-whatsapp-me' ) .
|
348 |
-
'<p class="description"> ' . __( 'The <strong>Call to action</strong> will
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
}
|
350 |
|
351 |
/**
|
71 |
*
|
72 |
* @since 1.0.0
|
73 |
* @since 2.0.0 Added visibility setting
|
74 |
+
* @since 2.1.0 Added message_badge
|
75 |
*/
|
76 |
private function get_settings() {
|
77 |
|
80 |
'mobile_only' => 'no',
|
81 |
'message_text' => '',
|
82 |
'message_delay' => 10000,
|
83 |
+
'message_badge' => 'no',
|
84 |
'message_send' => '',
|
85 |
'position' => 'right',
|
86 |
'visibility' => array( 'all' => 'yes' ),
|
154 |
'mobile_only' => __( 'Mobile only', 'creame-whatsapp-me' ),
|
155 |
'message_text' => __( 'Call to action', 'creame-whatsapp-me' ),
|
156 |
'message_delay' => __( 'Delay', 'creame-whatsapp-me' ),
|
157 |
+
'message_badge' => __( 'Button Badge', 'creame-whatsapp-me' ),
|
158 |
'message_send' => __( 'Message', 'creame-whatsapp-me' ),
|
159 |
'position' => __( 'Position on screen', 'creame-whatsapp-me' ),
|
160 |
);
|
258 |
*
|
259 |
* @since 1.0.0
|
260 |
* @since 2.0.0 Added visibility setting
|
261 |
+
* @since 2.1.0 Added message_badge
|
262 |
* @param array $input contain keys 'id', 'title' and 'callback'.
|
263 |
* @return array
|
264 |
*/
|
268 |
$input['telephone'] = $this->clean_input( $input['telephone'] );
|
269 |
$input['message_text'] = $this->clean_input( $input['message_text'] );
|
270 |
$input['message_delay'] = intval( $input['message_delay'] );
|
271 |
+
$input['message_badge'] = isset( $input['message_badge'] ) ? 'yes' : 'no';
|
272 |
$input['message_send'] = $this->clean_input( $input['message_send'] );
|
273 |
$input['position'] = $input['position'] != 'left' ? 'right' : 'left';
|
274 |
$input['visibility'] = array_filter( $input['view'], function($v) { return $v == 'yes' || $v == 'no'; } );
|
350 |
*/
|
351 |
public function field_message_delay() {
|
352 |
echo '<input name="whatsappme[message_delay]" value="' . $this->settings['message_delay'] . '" class="small-text" type="number" min="0"> ' . __( 'milliseconds', 'creame-whatsapp-me' ) .
|
353 |
+
'<p class="description"> ' . __( 'The <strong>Call to action</strong> will be automatically displayed once when the user exceeds the estimated delay on a page.', 'creame-whatsapp-me' ) . '</p>';
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Field 'message_badge' output
|
358 |
+
*
|
359 |
+
* @since 2.1.0
|
360 |
+
* @return void
|
361 |
+
*/
|
362 |
+
public function field_message_badge() {
|
363 |
+
echo '<fieldset><legend class="screen-reader-text"><span>' . __( 'Button Badge', 'creame-whatsapp-me' ) . '</span></legend>' .
|
364 |
+
'<label><input name="whatsappme[message_badge]" value="yes" type="checkbox"' . checked( 'yes', $this->settings['message_badge'], false ) . '> ' .
|
365 |
+
__('Display a button badge instead of opening the <strong>Call to action</strong> for a "less intrusive" mode', 'creame-whatsapp-me' ) . '</label></fieldset>';
|
366 |
}
|
367 |
|
368 |
/**
|
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,214 +21,223 @@ 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:
|
49 |
msgid "Global"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: admin/class-whatsappme-admin.php:
|
53 |
msgid "Front Page"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: admin/class-whatsappme-admin.php:
|
57 |
msgid "Blog Page"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: admin/class-whatsappme-admin.php:
|
61 |
msgid "404 Page"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: admin/class-whatsappme-admin.php:
|
65 |
msgid "Search Results"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: admin/class-whatsappme-admin.php:
|
69 |
msgid "Archives"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: admin/class-whatsappme-admin.php:
|
73 |
msgid "Date Archives"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: admin/class-whatsappme-admin.php:
|
77 |
msgid "Author Archives"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: admin/class-whatsappme-admin.php:
|
81 |
msgid "Singular"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: admin/class-whatsappme-admin.php:
|
85 |
msgid "Page"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: admin/class-whatsappme-admin.php:
|
89 |
msgid "Post"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: admin/class-whatsappme-admin.php:
|
93 |
msgid "Shop"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: admin/class-whatsappme-admin.php:
|
97 |
msgid "Product Page"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: admin/class-whatsappme-admin.php:
|
101 |
msgid "Cart"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: admin/class-whatsappme-admin.php:
|
105 |
msgid "Checkout"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: admin/class-whatsappme-admin.php:
|
109 |
msgid "My Account"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: admin/class-whatsappme-admin.php:
|
113 |
msgid "Custom Post Types"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: admin/class-whatsappme-admin.php:
|
117 |
msgid "Settings saved"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: admin/class-whatsappme-admin.php:
|
121 |
msgid "General"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: admin/class-whatsappme-admin.php:
|
125 |
msgid "Advanced"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: admin/class-whatsappme-admin.php:
|
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:
|
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:
|
140 |
msgid "Restore default visibility"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: admin/class-whatsappme-admin.php:
|
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:
|
150 |
msgid ""
|
151 |
"Hello 👋\n"
|
152 |
"Can we help you?"
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: admin/class-whatsappme-admin.php:
|
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:
|
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:
|
168 |
msgid "milliseconds"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: admin/class-whatsappme-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
msgid ""
|
173 |
-
"
|
174 |
-
"
|
175 |
-
"the user stops the cursor over the WhatsApp button."
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: admin/class-whatsappme-admin.php:
|
179 |
msgid "Hi {SITE}! I need more info about {TITLE}"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: admin/class-whatsappme-admin.php:
|
183 |
msgid "<strong>Optional.</strong> Default message to start the conversation."
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: admin/class-whatsappme-admin.php:
|
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:
|
193 |
msgid "Only display the button on mobile devices"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: admin/class-whatsappme-admin.php:
|
197 |
msgid "Right"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: admin/class-whatsappme-admin.php:
|
201 |
msgid "Left"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: admin/class-whatsappme-admin.php:
|
205 |
-
#: admin/class-whatsappme-admin.php:
|
206 |
msgid "Show"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: admin/class-whatsappme-admin.php:
|
210 |
-
#: admin/class-whatsappme-admin.php:
|
211 |
msgid "Hide"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: admin/class-whatsappme-admin.php:
|
215 |
msgid "Inherit"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: admin/class-whatsappme-admin.php:
|
219 |
msgid "Settings"
|
220 |
msgstr ""
|
221 |
|
222 |
#. Name of the plugin
|
223 |
-
#: admin/class-whatsappme-admin.php:
|
224 |
msgid "WhatsApp me"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: admin/class-whatsappme-admin.php:
|
228 |
msgid "You can use vars <code>{SITE} {URL} {TITLE}</code>"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: admin/class-whatsappme-admin.php:
|
232 |
msgid "Default visibility"
|
233 |
msgstr ""
|
234 |
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WhatsApp Me\n"
|
5 |
+
"POT-Creation-Date: 2018-09-13 08:06+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:153
|
25 |
msgid "Telephone"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: admin/class-whatsappme-admin.php:154 admin/class-whatsappme-admin.php:387
|
29 |
msgid "Mobile only"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: admin/class-whatsappme-admin.php:155 admin/class-whatsappme-admin.php:551
|
33 |
msgid "Call to action"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: admin/class-whatsappme-admin.php:156
|
37 |
msgid "Delay"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: admin/class-whatsappme-admin.php:157 admin/class-whatsappme-admin.php:363
|
41 |
+
msgid "Button Badge"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: admin/class-whatsappme-admin.php:158 admin/class-whatsappme-admin.php:555
|
45 |
msgid "Message"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: admin/class-whatsappme-admin.php:159 admin/class-whatsappme-admin.php:399
|
49 |
msgid "Position on screen"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: admin/class-whatsappme-admin.php:171
|
53 |
msgid "Global"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: admin/class-whatsappme-admin.php:180
|
57 |
msgid "Front Page"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: admin/class-whatsappme-admin.php:181
|
61 |
msgid "Blog Page"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: admin/class-whatsappme-admin.php:182
|
65 |
msgid "404 Page"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: admin/class-whatsappme-admin.php:183
|
69 |
msgid "Search Results"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: admin/class-whatsappme-admin.php:184
|
73 |
msgid "Archives"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: admin/class-whatsappme-admin.php:185
|
77 |
msgid "Date Archives"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: admin/class-whatsappme-admin.php:186
|
81 |
msgid "Author Archives"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: admin/class-whatsappme-admin.php:187
|
85 |
msgid "Singular"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: admin/class-whatsappme-admin.php:188
|
89 |
msgid "Page"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: admin/class-whatsappme-admin.php:189
|
93 |
msgid "Post"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: admin/class-whatsappme-admin.php:210
|
97 |
msgid "Shop"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: admin/class-whatsappme-admin.php:212
|
101 |
msgid "Product Page"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: admin/class-whatsappme-admin.php:213
|
105 |
msgid "Cart"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: admin/class-whatsappme-admin.php:214
|
109 |
msgid "Checkout"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: admin/class-whatsappme-admin.php:215
|
113 |
msgid "My Account"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: admin/class-whatsappme-admin.php:238
|
117 |
msgid "Custom Post Types"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: admin/class-whatsappme-admin.php:277
|
121 |
msgid "Settings saved"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: admin/class-whatsappme-admin.php:294
|
125 |
msgid "General"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: admin/class-whatsappme-admin.php:295
|
129 |
msgid "Advanced"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: admin/class-whatsappme-admin.php:299
|
133 |
msgid ""
|
134 |
"From here you can configure the behavior of the WhatsApp button on your site."
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: admin/class-whatsappme-admin.php:304
|
138 |
msgid ""
|
139 |
"From here you can configure on which pages the WhatsApp button will be "
|
140 |
"visible."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: admin/class-whatsappme-admin.php:305
|
144 |
msgid "Restore default visibility"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: admin/class-whatsappme-admin.php:330
|
148 |
msgid ""
|
149 |
"Contact phone number. <strong>The button will not be shown if it's empty."
|
150 |
"</strong>"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: admin/class-whatsappme-admin.php:340
|
154 |
msgid ""
|
155 |
"Hello 👋\n"
|
156 |
"Can we help you?"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: admin/class-whatsappme-admin.php:341
|
160 |
msgid ""
|
161 |
"<strong>Optional.</strong> Text to invite the user to use the contact via "
|
162 |
"WhatsApp."
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: admin/class-whatsappme-admin.php:342
|
166 |
msgid ""
|
167 |
"You can use formatting styles like in WhatsApp: _<em>italic</em>_ *<strong>"
|
168 |
"bold</strong>* ~<del>strikethrough</del>~"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: admin/class-whatsappme-admin.php:352
|
172 |
msgid "milliseconds"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: admin/class-whatsappme-admin.php:353
|
176 |
+
msgid ""
|
177 |
+
"The <strong>Call to action</strong> will be automatically displayed once "
|
178 |
+
"when the user exceeds the estimated delay on a page."
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: admin/class-whatsappme-admin.php:365
|
182 |
msgid ""
|
183 |
+
"Display a button badge instead of opening the <strong>Call to action</strong>"
|
184 |
+
" for a \"less intrusive\" mode"
|
|
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: admin/class-whatsappme-admin.php:375
|
188 |
msgid "Hi {SITE}! I need more info about {TITLE}"
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: admin/class-whatsappme-admin.php:376
|
192 |
msgid "<strong>Optional.</strong> Default message to start the conversation."
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: admin/class-whatsappme-admin.php:377
|
196 |
msgid ""
|
197 |
"You can use vars <code>{SITE} {URL} {TITLE}</code> that will be replaced "
|
198 |
"with the values of the current page."
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: admin/class-whatsappme-admin.php:389
|
202 |
msgid "Only display the button on mobile devices"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: admin/class-whatsappme-admin.php:401
|
206 |
msgid "Right"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: admin/class-whatsappme-admin.php:403
|
210 |
msgid "Left"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: admin/class-whatsappme-admin.php:420 admin/class-whatsappme-admin.php:437
|
214 |
+
#: admin/class-whatsappme-admin.php:561
|
215 |
msgid "Show"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: admin/class-whatsappme-admin.php:422 admin/class-whatsappme-admin.php:439
|
219 |
+
#: admin/class-whatsappme-admin.php:563
|
220 |
msgid "Hide"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: admin/class-whatsappme-admin.php:441
|
224 |
msgid "Inherit"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: admin/class-whatsappme-admin.php:466
|
228 |
msgid "Settings"
|
229 |
msgstr ""
|
230 |
|
231 |
#. Name of the plugin
|
232 |
+
#: admin/class-whatsappme-admin.php:514
|
233 |
msgid "WhatsApp me"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: admin/class-whatsappme-admin.php:557
|
237 |
msgid "You can use vars <code>{SITE} {URL} {TITLE}</code>"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: admin/class-whatsappme-admin.php:565
|
241 |
msgid "Default visibility"
|
242 |
msgstr ""
|
243 |
|
public/class-whatsappme-public.php
CHANGED
@@ -44,6 +44,7 @@ class WhatsAppMe_Public {
|
|
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 |
*/
|
@@ -56,6 +57,7 @@ class WhatsAppMe_Public {
|
|
56 |
'telephone' => '',
|
57 |
'message_text' => '',
|
58 |
'message_delay' => 10000,
|
|
|
59 |
'message_send' => '',
|
60 |
'mobile_only' => false,
|
61 |
'position' => 'right',
|
@@ -102,7 +104,8 @@ class WhatsAppMe_Public {
|
|
102 |
if ( isset( $post_settings['message_send'] ) ) {
|
103 |
$settings['message_send'] = $post_settings['message_send'];
|
104 |
}
|
105 |
-
$settings['
|
|
|
106 |
|
107 |
$settings['show'] = $settings['telephone'] != '';
|
108 |
if ( $settings['show'] ) {
|
@@ -164,6 +167,7 @@ class WhatsAppMe_Public {
|
|
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>
|
168 |
<?php if ($this->settings['message_text']): ?>
|
169 |
<div class="whatsappme__box">
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @since 2.0.0 Added visibility setting
|
47 |
+
* @since 2.1.0 Added message_badge
|
48 |
* @param string $plugin_name The name of the plugin.
|
49 |
* @param string $version The version of this plugin.
|
50 |
*/
|
57 |
'telephone' => '',
|
58 |
'message_text' => '',
|
59 |
'message_delay' => 10000,
|
60 |
+
'message_badge' => 'no',
|
61 |
'message_send' => '',
|
62 |
'mobile_only' => false,
|
63 |
'position' => 'right',
|
104 |
if ( isset( $post_settings['message_send'] ) ) {
|
105 |
$settings['message_send'] = $post_settings['message_send'];
|
106 |
}
|
107 |
+
$settings['message_badge'] = $settings['message_text'] && $settings['message_badge'] == 'yes';
|
108 |
+
$settings['message_send'] = $this->formated_message_send( $settings['message_send'] );
|
109 |
|
110 |
$settings['show'] = $settings['telephone'] != '';
|
111 |
if ( $settings['show'] ) {
|
167 |
<div class="whatsappme whatsappme--<?php echo $this->settings['position']; ?>" data-settings="<?php echo esc_attr( json_encode( $data ) ); ?>">
|
168 |
<div class="whatsappme__button">
|
169 |
<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>
|
170 |
+
<?php if ($this->settings['message_badge']): ?><div class="whatsappme__badge">1</div><?php endif; ?>
|
171 |
</div>
|
172 |
<?php if ($this->settings['message_text']): ?>
|
173 |
<div class="whatsappme__box">
|
public/css/whatsappme.css
CHANGED
@@ -10,6 +10,9 @@
|
|
10 |
transform: scale3d(0, 0, 0);
|
11 |
transition: transform .3s ease-in-out;
|
12 |
user-select: none;
|
|
|
|
|
|
|
13 |
}
|
14 |
|
15 |
.whatsappme--show {
|
@@ -30,7 +33,21 @@
|
|
30 |
border-radius: 30px;
|
31 |
box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
|
32 |
cursor: pointer;
|
33 |
-
transition: background-color
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
.whatsappme__button svg {
|
@@ -39,8 +56,34 @@
|
|
39 |
margin: 0 12px;
|
40 |
}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
.whatsappme--dialog .whatsappme__button {
|
43 |
-
box-shadow: 0 1px 2px 0 rgba(0,0,0,0.3);
|
44 |
}
|
45 |
|
46 |
.whatsappme__box {
|
@@ -59,13 +102,13 @@
|
|
59 |
overflow: hidden;
|
60 |
transform: scale3d(0, 0, 0);
|
61 |
opacity: 0;
|
62 |
-
transition: opacity
|
63 |
}
|
64 |
|
65 |
.whatsappme--dialog .whatsappme__box {
|
66 |
opacity: 1;
|
67 |
transform: scale3d(1, 1, 1);
|
68 |
-
transition: opacity
|
69 |
}
|
70 |
|
71 |
.whatsappme__header {
|
@@ -99,6 +142,7 @@
|
|
99 |
cursor: pointer;
|
100 |
transition: opacity 300ms ease-out;
|
101 |
}
|
|
|
102 |
.whatsappme__close:hover {
|
103 |
opacity: .6;
|
104 |
}
|
@@ -175,4 +219,26 @@
|
|
175 |
margin: 15px 21px 20px;
|
176 |
line-height: 24px;
|
177 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
10 |
transform: scale3d(0, 0, 0);
|
11 |
transition: transform .3s ease-in-out;
|
12 |
user-select: none;
|
13 |
+
-ms-user-select: none;
|
14 |
+
-moz-user-select: none;
|
15 |
+
-webkit-user-select: none;
|
16 |
}
|
17 |
|
18 |
.whatsappme--show {
|
33 |
border-radius: 30px;
|
34 |
box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
|
35 |
cursor: pointer;
|
36 |
+
transition: background-color 0.2s linear;
|
37 |
+
}
|
38 |
+
|
39 |
+
.whatsappme__button:hover {
|
40 |
+
background-color: #128C7E;
|
41 |
+
transition: background-color 1.5s linear;
|
42 |
+
}
|
43 |
+
|
44 |
+
.whatsappme--dialog .whatsappme__button {
|
45 |
+
transition: background-color 0.2s linear;
|
46 |
+
}
|
47 |
+
|
48 |
+
.whatsappme__button:active {
|
49 |
+
background-color: #075E54;
|
50 |
+
transition: none;
|
51 |
}
|
52 |
|
53 |
.whatsappme__button svg {
|
56 |
margin: 0 12px;
|
57 |
}
|
58 |
|
59 |
+
.whatsappme__badge {
|
60 |
+
position: absolute;
|
61 |
+
top: -4px;
|
62 |
+
right: -4px;
|
63 |
+
width: 20px;
|
64 |
+
height: 20px;
|
65 |
+
border: none;
|
66 |
+
border-radius: 50%;
|
67 |
+
background: #e82c0c;
|
68 |
+
font-size: 12px;
|
69 |
+
font-weight: 600;
|
70 |
+
line-height: 20px;
|
71 |
+
text-align: center;
|
72 |
+
box-shadow: none;
|
73 |
+
opacity: 0;
|
74 |
+
pointer-events: none;
|
75 |
+
}
|
76 |
+
|
77 |
+
.whatsappme__badge.whatsappme__badge--in {
|
78 |
+
animation: badge--in 500ms cubic-bezier(0.27, 0.9, 0.41, 1.28) 1 both;
|
79 |
+
}
|
80 |
+
|
81 |
+
.whatsappme__badge.whatsappme__badge--out {
|
82 |
+
animation: badge--out 400ms cubic-bezier(0.215, 0.61, 0.355, 1) 1 both;
|
83 |
+
}
|
84 |
+
|
85 |
.whatsappme--dialog .whatsappme__button {
|
86 |
+
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
87 |
}
|
88 |
|
89 |
.whatsappme__box {
|
102 |
overflow: hidden;
|
103 |
transform: scale3d(0, 0, 0);
|
104 |
opacity: 0;
|
105 |
+
transition: opacity 400ms ease-out, transform 0ms linear 300ms;
|
106 |
}
|
107 |
|
108 |
.whatsappme--dialog .whatsappme__box {
|
109 |
opacity: 1;
|
110 |
transform: scale3d(1, 1, 1);
|
111 |
+
transition: opacity 200ms ease-out, transform 0ms linear;
|
112 |
}
|
113 |
|
114 |
.whatsappme__header {
|
142 |
cursor: pointer;
|
143 |
transition: opacity 300ms ease-out;
|
144 |
}
|
145 |
+
|
146 |
.whatsappme__close:hover {
|
147 |
opacity: .6;
|
148 |
}
|
219 |
margin: 15px 21px 20px;
|
220 |
line-height: 24px;
|
221 |
}
|
222 |
+
}
|
223 |
+
|
224 |
+
@keyframes badge--in {
|
225 |
+
from {
|
226 |
+
opacity: 0;
|
227 |
+
transform: translateY(50px);
|
228 |
+
}
|
229 |
+
to {
|
230 |
+
opacity: 1;
|
231 |
+
transform: translateY(0);
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
+
@keyframes badge--out {
|
236 |
+
0% {
|
237 |
+
opacity: 1;
|
238 |
+
transform: translateY(0);
|
239 |
+
}
|
240 |
+
100% {
|
241 |
+
opacity: 0;
|
242 |
+
transform: translateY(-20px);
|
243 |
+
}
|
244 |
}
|
public/js/whatsappme.js
CHANGED
@@ -4,6 +4,7 @@
|
|
4 |
$(function () {
|
5 |
var delay_on_start = 3000;
|
6 |
var $whatsappme = $('.whatsappme');
|
|
|
7 |
var wame_settings = $whatsappme.data('settings');
|
8 |
|
9 |
// In some strange cases data settings are empty
|
@@ -22,78 +23,111 @@
|
|
22 |
|
23 |
function whatsappme_magic() {
|
24 |
var is_mobile = !!navigator.userAgent.match(/Android|iPhone|BlackBerry|IEMobile|Opera Mini/i);
|
25 |
-
var
|
|
|
26 |
|
27 |
// stored values
|
28 |
-
var
|
29 |
-
var
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
-
// show button / dialog
|
33 |
if (!wame_settings.mobile_only || is_mobile) {
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
if (
|
38 |
-
|
39 |
-
$
|
40 |
-
}
|
|
|
|
|
41 |
}
|
42 |
}
|
43 |
|
44 |
-
if (
|
45 |
-
$('.whatsappme__button')
|
46 |
-
timeoutID = setTimeout(
|
47 |
-
|
48 |
-
}, 1600);
|
49 |
-
}).mouseleave(function () {
|
50 |
-
clearTimeout(timeoutID);
|
51 |
-
});
|
52 |
}
|
53 |
|
54 |
$('.whatsappme__button').click(function () {
|
55 |
var link = whatsapp_link(wame_settings.telephone, wame_settings.message_send);
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
'transport_type': 'beacon'
|
66 |
-
});
|
67 |
-
} else if (typeof ga == 'function') {
|
68 |
-
// Send event (Universal Analtics - analytics.js)
|
69 |
-
ga('send', 'event', {
|
70 |
-
'eventCategory': 'WhatsAppMe',
|
71 |
-
'eventAction': 'click',
|
72 |
-
'eventLabel': link,
|
73 |
-
'transport': 'beacon'
|
74 |
-
});
|
75 |
}
|
76 |
-
|
77 |
-
// Open WhatsApp link
|
78 |
-
window.open(link, 'whatsappme');
|
79 |
});
|
80 |
|
81 |
$('.whatsappme__close').click(function () {
|
82 |
$whatsappme.removeClass('whatsappme--dialog');
|
83 |
-
|
84 |
});
|
85 |
-
}
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
|
|
|
|
92 |
}
|
93 |
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
-
|
97 |
});
|
98 |
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
$(function () {
|
5 |
var delay_on_start = 3000;
|
6 |
var $whatsappme = $('.whatsappme');
|
7 |
+
var $badge = $whatsappme.find('.whatsappme__badge');
|
8 |
var wame_settings = $whatsappme.data('settings');
|
9 |
|
10 |
// In some strange cases data settings are empty
|
23 |
|
24 |
function whatsappme_magic() {
|
25 |
var is_mobile = !!navigator.userAgent.match(/Android|iPhone|BlackBerry|IEMobile|Opera Mini/i);
|
26 |
+
var has_cta = wame_settings.message_text !== '';
|
27 |
+
var message_hash, is_viewed, timeoutID;
|
28 |
|
29 |
// stored values
|
30 |
+
var messages_viewed = (localStorage.whatsappme_hashes || '').split(',').filter(Boolean);
|
31 |
+
var is_second_visit = localStorage.whatsappme_visited == 'yes';
|
32 |
+
|
33 |
+
if (has_cta) {
|
34 |
+
message_hash = hash(wame_settings.message_text).toString();
|
35 |
+
is_viewed = messages_viewed.indexOf(message_hash) > -1;
|
36 |
+
}
|
37 |
+
|
38 |
+
localStorage.whatsappme_visited = 'yes';
|
39 |
|
|
|
40 |
if (!wame_settings.mobile_only || is_mobile) {
|
41 |
+
// show button
|
42 |
+
setTimeout(function () { $whatsappme.addClass('whatsappme--show'); }, delay_on_start);
|
43 |
+
|
44 |
+
if (has_cta && !is_viewed) {
|
45 |
+
if (wame_settings.message_badge) { // show badge
|
46 |
+
setTimeout(function () { $badge.addClass('whatsappme__badge--in'); }, delay_on_start + wame_settings.message_delay);
|
47 |
+
} else if (is_second_visit) { // show dialog
|
48 |
+
setTimeout(function () { $whatsappme.addClass('whatsappme--dialog'); }, delay_on_start + wame_settings.message_delay);
|
49 |
+
}
|
50 |
}
|
51 |
}
|
52 |
|
53 |
+
if (has_cta && !is_mobile) {
|
54 |
+
$('.whatsappme__button')
|
55 |
+
.mouseenter(function () { timeoutID = setTimeout(show_dialog, 1500); })
|
56 |
+
.mouseleave(function () { clearTimeout(timeoutID); });
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
$('.whatsappme__button').click(function () {
|
60 |
var link = whatsapp_link(wame_settings.telephone, wame_settings.message_send);
|
61 |
|
62 |
+
if (has_cta && !$whatsappme.hasClass('whatsappme--dialog')) {
|
63 |
+
show_dialog();
|
64 |
+
} else {
|
65 |
+
$whatsappme.removeClass('whatsappme--dialog');
|
66 |
+
save_message_viewed();
|
67 |
+
send_event(link);
|
68 |
+
// Open WhatsApp link
|
69 |
+
window.open(link, 'whatsappme');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
}
|
|
|
|
|
|
|
71 |
});
|
72 |
|
73 |
$('.whatsappme__close').click(function () {
|
74 |
$whatsappme.removeClass('whatsappme--dialog');
|
75 |
+
save_message_viewed();
|
76 |
});
|
|
|
77 |
|
78 |
+
function show_dialog() {
|
79 |
+
$whatsappme.addClass('whatsappme--dialog');
|
80 |
+
|
81 |
+
if (wame_settings.message_badge && $badge.hasClass('whatsappme__badge--in')) {
|
82 |
+
$badge.removeClass('whatsappme__badge--in').addClass('whatsappme__badge--out');
|
83 |
+
save_message_viewed();
|
84 |
+
}
|
85 |
}
|
86 |
|
87 |
+
function save_message_viewed() {
|
88 |
+
if (has_cta && !is_viewed) {
|
89 |
+
messages_viewed.push(message_hash)
|
90 |
+
localStorage.whatsappme_hashes = messages_viewed.join(',');
|
91 |
+
is_viewed = true;
|
92 |
+
}
|
93 |
+
}
|
94 |
}
|
|
|
95 |
});
|
96 |
|
97 |
+
// Return a simple hash (source https://gist.github.com/iperelivskiy/4110988#gistcomment-2697447)
|
98 |
+
function hash(s) {
|
99 |
+
for (var i = 0, h = 1; i < s.length; i++) {
|
100 |
+
h = Math.imul(h + s.charCodeAt(i) | 0, 2654435761);
|
101 |
+
}
|
102 |
+
return (h ^ h >>> 17) >>> 0;
|
103 |
+
};
|
104 |
+
|
105 |
+
// Return WhatsApp link with optional message
|
106 |
+
function whatsapp_link(phone, message) {
|
107 |
+
var link = 'https://api.whatsapp.com/send?phone=' + phone;
|
108 |
+
if (typeof (message) == 'string' && message != '') {
|
109 |
+
link += '&text=' + encodeURIComponent(message);
|
110 |
+
}
|
111 |
+
|
112 |
+
return link;
|
113 |
+
}
|
114 |
+
|
115 |
+
// Trigger Google Analytics event
|
116 |
+
function send_event(link) {
|
117 |
+
if (typeof gtag == 'function') { // Send event (Global Site Tag - gtag.js)
|
118 |
+
gtag('event', 'click', {
|
119 |
+
'event_category': 'WhatsAppMe',
|
120 |
+
'event_label': link,
|
121 |
+
'transport_type': 'beacon'
|
122 |
+
});
|
123 |
+
} else if (typeof ga == 'function') { // Send event (Universal Analtics - analytics.js)
|
124 |
+
ga('send', 'event', {
|
125 |
+
'eventCategory': 'WhatsAppMe',
|
126 |
+
'eventAction': 'click',
|
127 |
+
'eventLabel': link,
|
128 |
+
'transport': 'beacon'
|
129 |
+
});
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
}(jQuery));
|
whatsappme.php
CHANGED
@@ -9,7 +9,7 @@
|
|
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
|
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', '2.0
|
31 |
|
32 |
/**
|
33 |
* The core plugin class that is used to define internationalization,
|
9 |
* Plugin Name: WhatsApp me
|
10 |
* Plugin URI: http://wame.chat
|
11 |
* Description: Add support to your clients directly with WhatsApp.
|
12 |
+
* Version: 2.1.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.1.0' );
|
31 |
|
32 |
/**
|
33 |
* The core plugin class that is used to define internationalization,
|