WPC Smart Wishlist for WooCommerce - Version 4.3.0

Version Description

  • Added: Filter hook 'woosw_fragments'
Download this release

Release Info

Developer wpclever
Plugin Icon 128x128 WPC Smart Wishlist for WooCommerce
Version 4.3.0
Comparing to
See all releases

Code changes from version 4.2.3 to 4.3.0

assets/css/dashboard.css CHANGED
@@ -126,6 +126,14 @@
126
  margin: 0;
127
  }
128
 
 
 
 
 
 
 
 
 
129
  .wpclever_settings_page .wpclever_settings_page_content table tr.heading th, .wpclever_settings_page .wpclever_settings_page_content table tr.heading td, .wpclever_settings_page .wpclever_settings_page_content table tr.submit th, .wpclever_settings_page .wpclever_settings_page_content table tr.submit td {
130
  background-color: #fafafa;
131
  padding: 15px 20px;
@@ -142,10 +150,6 @@
142
  border-left: 4px solid #23282d;
143
  }
144
 
145
- .wpclever_settings_page .wpclever_settings_page_content table {
146
- margin: 0;
147
- }
148
-
149
  .wpclever_settings_page .wpclever_settings_page_content .wpclever_settings_page_content_text {
150
  padding: 20px;
151
  }
126
  margin: 0;
127
  }
128
 
129
+ .wpclever_settings_page .wpclever_settings_page_content > form {
130
+ margin: 0;
131
+ }
132
+
133
+ .wpclever_settings_page .wpclever_settings_page_content table {
134
+ margin: 0;
135
+ }
136
+
137
  .wpclever_settings_page .wpclever_settings_page_content table tr.heading th, .wpclever_settings_page .wpclever_settings_page_content table tr.heading td, .wpclever_settings_page .wpclever_settings_page_content table tr.submit th, .wpclever_settings_page .wpclever_settings_page_content table tr.submit td {
138
  background-color: #fafafa;
139
  padding: 15px 20px;
150
  border-left: 4px solid #23282d;
151
  }
152
 
 
 
 
 
153
  .wpclever_settings_page .wpclever_settings_page_content .wpclever_settings_page_content_text {
154
  padding: 20px;
155
  }
assets/js/frontend.js CHANGED
@@ -1,657 +1,712 @@
1
  'use strict';
2
 
3
- (function($) {
4
- $(function() {
5
- if (woosw_get_cookie('woosw_key') == '') {
6
- woosw_set_cookie('woosw_key', woosw_get_key(), 7);
 
 
 
 
 
 
7
  }
8
 
9
- if ($('.woosw-custom-menu-item').length) {
10
- // load the count when having a custom menu item
11
- woosw_load_count();
12
- }
13
-
14
- if (woosw_vars.button_action === 'message') {
15
- $.notiny.addTheme('woosw', {
16
- notification_class: 'notiny-theme-woosw',
17
- });
18
- }
19
- });
20
-
21
- $(document).on('woosw_refresh_count',function (){
22
- woosw_load_count();
23
- });
24
-
25
- // woovr
26
- $(document).on('woovr_selected', function(e, selected, variations) {
27
- var id = selected.attr('data-id');
28
- var pid = selected.attr('data-pid');
29
-
30
- if (id > 0) {
31
- $('.woosw-btn-' + pid).attr('data-id', id).
32
- removeClass('woosw-btn-added woosw-added');
33
- } else {
34
- $('.woosw-btn-' + pid).attr('data-id', pid).
35
- removeClass('woosw-btn-added woosw-added');
36
- }
37
- });
38
 
39
- // found variation
40
- $(document).on('found_variation', function(e, t) {
41
- var product_id = $(e['target']).attr('data-product_id');
42
 
43
- $('.woosw-btn-' + product_id).attr('data-id', t.variation_id).
44
- removeClass('woosw-btn-added woosw-added');
45
- });
 
46
 
47
- // reset data
48
- $(document).on('reset_data', function(e) {
49
- var product_id = $(e['target']).attr('data-product_id');
 
 
 
50
 
51
- $('.woosw-btn-' + product_id).attr('data-id', product_id).
52
- removeClass('woosw-btn-added woosw-added');
53
- });
54
 
55
- // quick view
56
- $(document).
57
- on('click touch',
58
- '#woosw_wishlist .woosq-link, #woosw_wishlist .woosq-btn',
59
- function(e) {
60
- woosw_wishlist_hide();
61
- e.preventDefault();
62
- });
63
-
64
- // add to wishlist
65
- $(document).on('click touch', '.woosw-btn', function(e) {
66
- e.preventDefault();
67
- var $this = $(this);
68
- var id = $this.attr('data-id');
69
- var pid = $this.attr('data-pid');
70
- var product_id = $this.attr('data-product_id');
71
- var product_name = $this.attr('data-product_name');
72
- var product_image = $this.attr('data-product_image');
73
-
74
- if (typeof pid !== typeof undefined && pid !== false) {
75
- id = pid;
76
- }
77
 
78
- if (typeof product_id !== typeof undefined && product_id !== false) {
79
- id = product_id;
80
- }
 
81
 
82
- var data = {
83
- action: 'wishlist_add', product_id: id,
84
- };
85
-
86
- if ($this.hasClass('woosw-added')) {
87
- if (woosw_vars.button_action_added === 'page') {
88
- // open wishlist page
89
- window.location.href = woosw_vars.wishlist_url;
90
- } else {
91
- // open wishlist popup
92
- if ($('#woosw_wishlist').hasClass('woosw-loaded')) {
93
- woosw_wishlist_show();
94
  } else {
95
- woosw_wishlist_load();
96
- }
97
- }
98
- } else {
99
- $this.addClass('woosw-adding');
100
-
101
- $.post(woosw_vars.ajax_url, data, function(response) {
102
- $this.removeClass('woosw-adding');
103
-
104
- if (woosw_vars.button_action === 'list') {
105
- if (response.content != null) {
106
- $('#woosw_wishlist').
107
- html(response.content).
108
- addClass('woosw-loaded');
109
- }
110
-
111
- if (response.notice != null) {
112
- woosw_notice(response.notice.replace('{name}',
113
- '<strong>' + product_name + '</strong>'));
114
- }
115
-
116
- woosw_perfect_scrollbar();
117
- woosw_wishlist_show();
118
  }
 
119
 
120
- if (woosw_vars.button_action === 'message') {
121
- $('#woosw_wishlist').removeClass('woosw-loaded');
122
-
123
- $.notiny({
124
- theme: 'woosw',
125
- position: woosw_vars.message_position,
126
- image: product_image,
127
- text: response.notice.replace('{name}',
128
- '<strong>' + product_name + '</strong>'),
129
- });
130
- }
131
 
132
- if (woosw_vars.button_action === 'no') {
133
- // add to wishlist solely
134
- $('#woosw_wishlist').removeClass('woosw-loaded');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  }
136
 
137
- if (response.count != null) {
138
- woosw_change_count(response.count);
139
  }
140
 
141
- if (response.status === 1) {
142
- $this.addClass('woosw-added').html(woosw_vars.button_text_added);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  }
144
 
145
- $(document.body).trigger('woosw_add', [id]);
146
- });
147
- }
148
- });
149
 
150
- // remove from wishlist
151
- $(document).
152
- on('click touch', '.woosw-item--remove span', function(e) {
153
  var $this = $(this);
154
  var key = $this.closest('.woosw-popup-inner').data('key');
155
  var $this_item = $this.closest('.woosw-item');
156
  var product_id = $this_item.attr('data-id');
157
  var data = {
158
- action: 'wishlist_remove', product_id: product_id, key: key,
159
  };
160
 
161
  $this.addClass('woosw-removing');
162
 
163
- $.post(woosw_vars.ajax_url, data, function(response) {
164
- $this.removeClass('woosw-removing');
165
- $this_item.remove();
 
 
 
 
 
 
 
 
166
 
167
- if (response.status === 1) {
168
- $('.woosw-btn-' + product_id).
169
- removeClass('woosw-added').
170
- html(woosw_vars.button_text);
171
- }
172
 
173
- if (response.content != null) {
174
- $('#woosw_wishlist').
175
- html(response.content).
176
- addClass('woosw-loaded');
177
- }
178
 
179
- if (response.notice != null) {
180
- woosw_notice(response.notice);
181
- }
182
 
183
- if (response.count != null) {
184
- woosw_change_count(response.count);
185
- }
186
 
187
- $(document.body).trigger('woosw_remove', [product_id]);
188
  });
189
 
190
  e.preventDefault();
191
- });
192
 
193
- // empty wishlist
194
- $(document).on('click touch', '.woosw-empty', function(e) {
195
- var $this = $(this);
196
 
197
- if (confirm(woosw_vars.empty_confirm)) {
198
- woosw_popup_loading();
199
 
200
- var key = $this.closest('.woosw-popup-inner').data('key');
201
- var data = {
202
- action: 'wishlist_empty', key: key,
203
- };
204
 
205
- $.post(woosw_vars.ajax_url, data, function(response) {
206
- if (response.status === 1) {
207
- $('.woosw-btn').
208
- removeClass('woosw-added').
209
- html(woosw_vars.button_text);
210
- }
211
 
212
- if (response.content != null) {
213
- $('#woosw_wishlist').
214
- html(response.content).
215
- addClass('woosw-loaded');
216
- }
217
 
218
- if (response.notice != null) {
219
- woosw_notice(response.notice);
220
- }
221
 
222
- if (response.count != null) {
223
- woosw_change_count(response.count);
224
- }
225
 
226
- woosw_popup_loaded();
227
- });
228
- }
229
 
230
- $(document.body).trigger('woosw_empty', [key]);
 
 
231
 
232
- e.preventDefault();
233
- });
234
 
235
- // click on area
236
- $(document).on('click touch', '.woosw-popup', function(e) {
237
- var woosw_content = $('.woosw-popup-content');
238
 
239
- if ($(e.target).closest(woosw_content).length == 0) {
240
- woosw_wishlist_hide();
241
- woosw_manage_hide();
242
- }
243
- });
244
 
245
- // continue
246
- $(document).on('click touch', '.woosw-continue', function(e) {
247
- var url = $(this).attr('data-url');
248
- woosw_wishlist_hide();
249
 
250
- if (url !== '') {
251
- window.location.href = url;
252
- }
 
 
 
 
 
 
 
 
 
 
 
253
 
254
- e.preventDefault();
255
- });
256
 
257
- // close
258
- $(document).
259
- on('click touch', '#woosw_wishlist .woosw-popup-close', function(e) {
260
  woosw_wishlist_hide();
261
  e.preventDefault();
262
- });
263
 
264
- // manage close
265
- $(document).
266
- on('click touch', '#woosw_manage .woosw-popup-close', function(e) {
267
  woosw_manage_hide();
268
  e.preventDefault();
269
- });
270
-
271
- // manage wishlists
272
- $(document).on('click touch', '.woosw-manage', function(e) {
273
- e.preventDefault();
274
- woosw_popup_loading();
275
-
276
- var data = {
277
- action: 'manage_wishlists',
278
- };
279
-
280
- $.post(woosw_vars.ajax_url, data, function(response) {
281
- woosw_wishlist_hide();
282
- $('#woosw_manage').html(response);
283
- woosw_manage_show();
284
- woosw_popup_loaded();
285
  });
286
- });
287
-
288
- // add wishlist
289
- $(document).on('click touch', '#woosw_add_wishlist', function(e) {
290
- e.preventDefault();
291
- woosw_popup_loading();
292
-
293
- var name = $('#woosw_wishlist_name').val();
294
- var data = {
295
- action: 'add_wishlist', name: name,
296
- };
297
-
298
- $.post(woosw_vars.ajax_url, data, function(response) {
299
- $('#woosw_manage').html(response);
300
- $('#woosw_wishlist').removeClass('woosw-loaded');
301
- woosw_popup_loaded();
302
  });
303
- });
304
-
305
- // set default
306
- $(document).on('click touch', '.woosw-set-default', function(e) {
307
- e.preventDefault();
308
- woosw_popup_loading();
309
-
310
- var key = $(this).data('key');
311
- var data = {
312
- action: 'set_default', key: key,
313
- };
314
-
315
- $.post(woosw_vars.ajax_url, data, function(response) {
316
- if (response.count != null) {
317
- woosw_change_count(response.count);
318
- }
319
-
320
- $('.woosw-btn').removeClass('woosw-added').html(woosw_vars.button_text);
321
-
322
- if ((response.products != null) && response.products.length) {
323
- response.products.forEach((product_id) => {
324
- $('.woosw-btn-' + product_id).
325
- addClass('woosw-added').
326
- html(woosw_vars.button_text_added);
327
  });
328
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
 
330
- $('#woosw_manage').html(response.content);
331
- $('#woosw_wishlist').removeClass('woosw-loaded');
332
- woosw_popup_loaded();
333
  });
334
- });
335
 
336
- // delete wishlist
337
- $(document).on('click touch', '.woosw-delete-wishlist', function(e) {
338
- e.preventDefault();
339
 
340
- if (confirm(woosw_vars.delete_confirm)) {
341
- woosw_popup_loading();
342
 
343
- var key = $(this).data('key');
344
- var data = {
345
- action: 'delete_wishlist', key: key,
346
- };
347
 
348
- $.post(woosw_vars.ajax_url, data, function(response) {
349
- $('#woosw_manage').html(response);
350
- $('#woosw_wishlist').removeClass('woosw-loaded');
351
- woosw_popup_loaded();
352
- });
353
- }
354
- });
355
-
356
- // view wishlist
357
- $(document).on('click touch', '.woosw-view-wishlist', function(e) {
358
- e.preventDefault();
359
- woosw_popup_loading();
360
-
361
- var key = $(this).data('key');
362
- var data = {
363
- action: 'view_wishlist', key: key,
364
- };
365
-
366
- $.post(woosw_vars.ajax_url, data, function(response) {
367
- woosw_manage_hide();
368
- $('#woosw_wishlist').removeClass('woosw-loaded').html(response);
369
- woosw_wishlist_show();
370
- woosw_popup_loaded();
371
  });
372
- });
373
 
374
- // menu item
375
- $(document).
376
- on('click touch', '.woosw-menu-item a, .woosw-menu a', function(e) {
377
- if (woosw_vars.menu_action === 'open_popup') {
378
- e.preventDefault();
379
 
380
- if ($('#woosw_wishlist').hasClass('woosw-loaded')) {
 
 
 
 
 
 
 
381
  woosw_wishlist_show();
382
- } else {
383
- woosw_wishlist_load();
384
- }
 
 
 
 
 
 
 
 
 
 
 
385
  }
386
- });
387
 
388
- // copy link
389
- $(document).
390
- on('click touch', '#woosw_copy_url, #woosw_copy_btn', function(e) {
391
  e.preventDefault();
392
 
393
  woosw_copy_to_clipboard('#woosw_copy_url');
394
- });
395
-
396
- // add note
397
- $(document).on('click touch', '.woosw-item--note', function() {
398
- if ($(this).
399
- closest('.woosw-item').
400
- find('.woosw-item--note-add').length) {
401
- $(this).
402
- closest('.woosw-item').
403
- find('.woosw-item--note-add').
404
- show();
405
- $(this).hide();
406
- }
407
- });
408
-
409
- $(document).on('click touch', '.woosw_add_note', function(e) {
410
- e.preventDefault();
411
- woosw_popup_loading();
412
-
413
- var $this = $(this);
414
- var key = $this.closest('.woosw-popup-inner').data('key');
415
- var product_id = $this.closest('.woosw-item').attr('data-id');
416
- var note = $this.closest('.woosw-item').
417
- find('input[type="text"]').
418
- val();
419
- var data = {
420
- action: 'add_note',
421
- woosw_key: key,
422
- product_id: product_id,
423
- note: woosw_html_entities(note),
424
- };
425
-
426
- $.post(woosw_vars.ajax_url, data, function(response) {
427
- $this.closest('.woosw-item').
428
- find('.woosw-item--note').
429
- html(response).show();
430
- $this.closest('.woosw-item').
431
- find('.woosw-item--note-add').hide();
432
- woosw_popup_loaded();
433
  });
434
- });
435
 
436
- // resize
437
- $(window).on('resize', function() {
438
- woosw_fix_height();
439
- });
440
-
441
- function woosw_wishlist_load() {
442
- var data = {
443
- action: 'wishlist_load',
444
- };
445
-
446
- $.post(woosw_vars.ajax_url, data, function(response) {
447
- if (response.content != null) {
448
- $('#woosw_wishlist').html(response.content);
449
- }
450
 
451
- if (response.count != null) {
452
- woosw_change_count(response.count);
453
- }
454
 
455
- if (response.notice != null) {
456
- woosw_notice(response.notice);
457
- }
 
 
 
 
 
 
 
458
 
459
- $('#woosw_wishlist').addClass('woosw-loaded');
 
 
 
 
 
460
 
461
- woosw_perfect_scrollbar();
462
- woosw_wishlist_show();
 
463
  });
464
- }
465
 
466
- function woosw_load_count() {
467
- var data = {
468
- action: 'wishlist_load_count',
469
- };
470
 
471
- $.post(woosw_vars.ajax_url, data, function(response) {
472
- if (response.count != null) {
473
- var count = response.count;
 
474
 
475
- woosw_change_count(count);
476
- $(document.body).trigger('woosw_load_count', [count]);
477
- }
478
- });
479
- }
480
 
481
- function woosw_wishlist_show() {
482
- $('#woosw_wishlist').addClass('woosw-show');
483
- woosw_fix_height();
484
 
485
- $(document.body).trigger('woosw_wishlist_show');
486
- }
487
 
488
- function woosw_wishlist_hide() {
489
- $('#woosw_wishlist').removeClass('woosw-show');
490
- $(document.body).trigger('woosw_wishlist_hide');
491
- }
492
 
493
- function woosw_manage_show() {
494
- $('#woosw_manage').addClass('woosw-show');
495
- $(document.body).trigger('woosw_manage_show');
496
- }
497
 
498
- function woosw_manage_hide() {
499
- $('#woosw_manage').removeClass('woosw-show');
500
- $(document.body).trigger('woosw_manage_hide');
501
- }
 
 
 
 
 
502
 
503
- function woosw_popup_loading() {
504
- $('.woosw-popup').addClass('woosw-loading');
505
- }
506
 
507
- function woosw_popup_loaded() {
508
- $('.woosw-popup').removeClass('woosw-loading');
509
- }
510
 
511
- function woosw_change_count(count) {
512
- $('#woosw_wishlist .woosw-count').html(count);
 
 
513
 
514
- if (parseInt(count) > 0) {
515
- $('.woosw-empty').show();
516
- } else {
517
- $('.woosw-empty').hide();
518
  }
519
 
520
- if ($('.woosw-menu-item .woosw-menu-item-inner').length) {
521
- $('.woosw-menu-item .woosw-menu-item-inner').attr('data-count', count);
522
- } else {
523
- $('.woosw-menu-item a').
524
- html('<span class="woosw-menu-item-inner" data-count="' + count +
525
- '"><i class="woosw-icon"></i><span>' + woosw_vars.menu_text +
526
- '</span></span>');
527
  }
528
 
529
- $(document.body).trigger('woosw_change_count', [count]);
530
- }
531
-
532
- function woosw_notice(notice) {
533
- $('.woosw-notice').html(notice);
534
- woosw_notice_show();
535
- setTimeout(function() {
536
- woosw_notice_hide();
537
- }, 3000);
538
- }
539
-
540
- function woosw_notice_show() {
541
- $('#woosw_wishlist .woosw-notice').addClass('woosw-notice-show');
542
- }
543
-
544
- function woosw_notice_hide() {
545
- $('#woosw_wishlist .woosw-notice').removeClass('woosw-notice-show');
546
- }
547
-
548
- function woosw_perfect_scrollbar() {
549
- if (woosw_vars.perfect_scrollbar === 'yes') {
550
- jQuery('#woosw_wishlist .woosw-popup-content-mid').
551
- perfectScrollbar({theme: 'wpc'});
552
  }
553
- }
554
-
555
- function woosw_copy_url() {
556
- var wooswURL = document.getElementById('woosw_copy_url');
557
- wooswURL.select();
558
- document.execCommand('copy');
559
- alert(woosw_vars.copied_text + ' ' + wooswURL.value);
560
- }
561
-
562
- function woosw_copy_to_clipboard(el) {
563
- // resolve the element
564
- el = (typeof el === 'string') ? document.querySelector(el) : el;
565
-
566
- // handle iOS as a special case
567
- if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
568
- // save current contentEditable/readOnly status
569
- var editable = el.contentEditable;
570
- var readOnly = el.readOnly;
571
-
572
- // convert to editable with readonly to stop iOS keyboard opening
573
- el.contentEditable = true;
574
- el.readOnly = true;
575
-
576
- // create a selectable range
577
- var range = document.createRange();
578
- range.selectNodeContents(el);
579
-
580
- // select the range
581
- var selection = window.getSelection();
582
- selection.removeAllRanges();
583
- selection.addRange(range);
584
- el.setSelectionRange(0, 999999);
585
-
586
- // restore contentEditable/readOnly to original state
587
- el.contentEditable = editable;
588
- el.readOnly = readOnly;
589
- } else {
590
- el.select();
591
  }
592
 
593
- // execute copy command
594
- document.execCommand('copy');
595
-
596
- // alert
597
- alert(woosw_vars.copied_text + ' ' + el.value);
598
- }
599
-
600
- function woosw_html_entities(str) {
601
- return String(str).
602
- replace(/&/g, '&amp;').
603
- replace(/</g, '&lt;').
604
- replace(/>/g, '&gt;').
605
- replace(/"/g, '&quot;');
606
- }
607
-
608
- function woosw_get_key() {
609
- var result = [];
610
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
611
- var charactersLength = characters.length;
612
-
613
- for (var i = 0; i < 6; i++) {
614
- result.push(
615
- characters.charAt(Math.floor(Math.random() * charactersLength)));
616
  }
617
 
618
- return result.join('');
619
- }
 
 
 
 
 
620
 
621
- function woosw_set_cookie(cname, cvalue, exdays) {
622
- var d = new Date();
 
623
 
624
- d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
 
 
625
 
626
- var expires = 'expires=' + d.toUTCString();
 
 
 
 
627
 
628
- document.cookie = cname + '=' + cvalue + '; ' + expires + '; path=/';
629
- }
 
 
 
 
630
 
631
- function woosw_get_cookie(cname) {
632
- var name = cname + '=';
633
- var ca = document.cookie.split(';');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
634
 
635
- for (var i = 0; i < ca.length; i++) {
636
- var c = ca[i];
637
 
638
- while (c.charAt(0) == ' ') {
639
- c = c.substring(1);
640
- }
641
 
642
- if (c.indexOf(name) == 0) {
643
- return decodeURIComponent(c.substring(name.length, c.length));
644
- }
645
  }
646
 
647
- return '';
648
- }
 
 
 
 
 
 
 
649
 
650
- function woosw_fix_height() {
651
- // fix for center only
652
- jQuery('.woosw-popup-center .woosw-popup-content').
653
- height(2 * Math.floor(
 
 
654
  jQuery('.woosw-popup-center .woosw-popup-content').height() / 2) +
655
  2);
656
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  })(jQuery);
1
  'use strict';
2
 
3
+ (function ($) {
4
+ var $storage = true;
5
+ var key = Cookies.get('woosw_key');
6
+
7
+ try {
8
+ $storage = ('sessionStorage' in window && window.sessionStorage !== null);
9
+ window.sessionStorage.setItem('woosw', 'test');
10
+ window.sessionStorage.removeItem('woosw');
11
+ } catch (err) {
12
+ $storage = false;
13
  }
14
 
15
+ $(function () {
16
+ if (key === null || key === undefined || key === '') {
17
+ key = woosw_get_key();
18
+ Cookies.set('woosw_key', key, {expires: 7});
19
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
+ // Load data for the first time
22
+ woosw_load_data();
 
23
 
24
+ if ($('.woosw-custom-menu-item').length) {
25
+ // load the count when having a custom menu item
26
+ woosw_load_count();
27
+ }
28
 
29
+ if (woosw_vars.button_action === 'message') {
30
+ $.notiny.addTheme('woosw', {
31
+ notification_class: 'notiny-theme-woosw',
32
+ });
33
+ }
34
+ });
35
 
36
+ $(document).on('woosw_refresh_count', function () {
37
+ woosw_load_count();
38
+ });
39
 
40
+ $(document).on('woosw_refresh_data', function () {
41
+ woosw_refresh_data();
42
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
+ // woovr
45
+ $(document).on('woovr_selected', function (e, selected, variations) {
46
+ var id = selected.attr('data-id');
47
+ var pid = selected.attr('data-pid');
48
 
49
+ if (id > 0) {
50
+ $('.woosw-btn-' + pid).attr('data-id', id).removeClass('woosw-btn-added woosw-added');
 
 
 
 
 
 
 
 
 
 
51
  } else {
52
+ $('.woosw-btn-' + pid).attr('data-id', pid).removeClass('woosw-btn-added woosw-added');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  }
54
+ });
55
 
56
+ // found variation
57
+ $(document).on('found_variation', function (e, t) {
58
+ var product_id = $(e['target']).attr('data-product_id');
59
+
60
+ $('.woosw-btn-' + product_id).attr('data-id', t.variation_id).removeClass('woosw-btn-added woosw-added');
61
+ });
62
+
63
+ // reset data
64
+ $(document).on('reset_data', function (e) {
65
+ var product_id = $(e['target']).attr('data-product_id');
 
66
 
67
+ $('.woosw-btn-' + product_id).attr('data-id', product_id).removeClass('woosw-btn-added woosw-added');
68
+ });
69
+
70
+ // quick view
71
+ $(document).on('click touch',
72
+ '#woosw_wishlist .woosq-link, #woosw_wishlist .woosq-btn',
73
+ function (e) {
74
+ woosw_wishlist_hide();
75
+ e.preventDefault();
76
+ });
77
+
78
+ // add to wishlist
79
+ $(document).on('click touch', '.woosw-btn', function (e) {
80
+ var $this = $(this);
81
+ var id = $this.attr('data-id');
82
+ var pid = $this.attr('data-pid');
83
+ var product_id = $this.attr('data-product_id');
84
+ var product_name = $this.attr('data-product_name');
85
+ var product_image = $this.attr('data-product_image');
86
+
87
+ if (typeof pid !== typeof undefined && pid !== false) {
88
+ id = pid;
89
  }
90
 
91
+ if (typeof product_id !== typeof undefined && product_id !== false) {
92
+ id = product_id;
93
  }
94
 
95
+ var data = {
96
+ action: 'wishlist_add', product_id: id,
97
+ };
98
+
99
+ if ($this.hasClass('woosw-added')) {
100
+ if (woosw_vars.button_action_added === 'page') {
101
+ // open wishlist page
102
+ window.location.href = woosw_vars.wishlist_url;
103
+ } else {
104
+ // open wishlist popup
105
+ if ($('#woosw_wishlist').hasClass('woosw-loaded')) {
106
+ woosw_wishlist_show();
107
+ } else {
108
+ woosw_wishlist_load();
109
+ }
110
+ }
111
+ } else {
112
+ $this.addClass('woosw-adding');
113
+
114
+ $.post(woosw_vars.ajax_url, data, function (response) {
115
+ $this.removeClass('woosw-adding');
116
+
117
+ if (woosw_vars.button_action === 'list') {
118
+ if (response.content != null) {
119
+ $('#woosw_wishlist').html(response.content).addClass('woosw-loaded');
120
+ }
121
+
122
+ if (response.notice != null) {
123
+ woosw_notice(response.notice.replace('{name}',
124
+ '<strong>' + product_name + '</strong>'));
125
+ }
126
+
127
+ woosw_perfect_scrollbar();
128
+ woosw_wishlist_show();
129
+ }
130
+
131
+ if (woosw_vars.button_action === 'message') {
132
+ $('#woosw_wishlist').removeClass('woosw-loaded');
133
+
134
+ $.notiny({
135
+ theme: 'woosw',
136
+ position: woosw_vars.message_position,
137
+ image: product_image,
138
+ text: response.notice.replace('{name}',
139
+ '<strong>' + product_name + '</strong>'),
140
+ });
141
+ }
142
+
143
+ if (woosw_vars.button_action === 'no') {
144
+ // add to wishlist solely
145
+ $('#woosw_wishlist').removeClass('woosw-loaded');
146
+ }
147
+
148
+ if (response.count != null) {
149
+ woosw_change_count(response.count);
150
+ }
151
+
152
+ if (response.status === 1) {
153
+ $this.addClass('woosw-added').html(woosw_vars.button_text_added);
154
+ }
155
+
156
+ if ($storage && response.data) {
157
+ sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data));
158
+ }
159
+
160
+ if (response.data.fragments) {
161
+ woosw_refresh_fragments(response.data.fragments);
162
+ }
163
+
164
+ $(document.body).trigger('woosw_add', [id]);
165
+ });
166
  }
167
 
168
+ e.preventDefault();
169
+ });
 
 
170
 
171
+ // remove from wishlist
172
+ $(document).on('click touch', '.woosw-item--remove span', function (e) {
 
173
  var $this = $(this);
174
  var key = $this.closest('.woosw-popup-inner').data('key');
175
  var $this_item = $this.closest('.woosw-item');
176
  var product_id = $this_item.attr('data-id');
177
  var data = {
178
+ action: 'wishlist_remove', product_id: product_id, key: key,
179
  };
180
 
181
  $this.addClass('woosw-removing');
182
 
183
+ $.post(woosw_vars.ajax_url, data, function (response) {
184
+ $this.removeClass('woosw-removing');
185
+ $this_item.remove();
186
+
187
+ if (response.status === 1) {
188
+ $('.woosw-btn-' + product_id).removeClass('woosw-added').html(woosw_vars.button_text);
189
+ }
190
+
191
+ if (response.content != null) {
192
+ $('#woosw_wishlist').html(response.content).addClass('woosw-loaded');
193
+ }
194
 
195
+ if (response.notice != null) {
196
+ woosw_notice(response.notice);
197
+ }
 
 
198
 
199
+ if (response.count != null) {
200
+ woosw_change_count(response.count);
201
+ }
 
 
202
 
203
+ if ($storage && response.data) {
204
+ sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data));
205
+ }
206
 
207
+ if (response.data.fragments) {
208
+ woosw_refresh_fragments(response.data.fragments);
209
+ }
210
 
211
+ $(document.body).trigger('woosw_remove', [product_id]);
212
  });
213
 
214
  e.preventDefault();
215
+ });
216
 
217
+ // empty wishlist
218
+ $(document).on('click touch', '.woosw-empty', function (e) {
219
+ var $this = $(this);
220
 
221
+ if (confirm(woosw_vars.empty_confirm)) {
222
+ woosw_popup_loading();
223
 
224
+ var key = $this.closest('.woosw-popup-inner').data('key');
225
+ var data = {
226
+ action: 'wishlist_empty', key: key,
227
+ };
228
 
229
+ $.post(woosw_vars.ajax_url, data, function (response) {
230
+ if (response.status === 1) {
231
+ $('.woosw-btn').removeClass('woosw-added').html(woosw_vars.button_text);
232
+ }
 
 
233
 
234
+ if (response.content != null) {
235
+ $('#woosw_wishlist').html(response.content).addClass('woosw-loaded');
236
+ }
 
 
237
 
238
+ if (response.notice != null) {
239
+ woosw_notice(response.notice);
240
+ }
241
 
242
+ if (response.count != null) {
243
+ woosw_change_count(response.count);
244
+ }
245
 
246
+ if ($storage && response.data) {
247
+ sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data));
248
+ }
249
 
250
+ if (response.data.fragments) {
251
+ woosw_refresh_fragments(response.data.fragments);
252
+ }
253
 
254
+ woosw_popup_loaded();
 
255
 
256
+ $(document.body).trigger('woosw_empty', [key]);
257
+ });
258
+ }
259
 
260
+ e.preventDefault();
261
+ });
 
 
 
262
 
263
+ // click on area
264
+ $(document).on('click touch', '.woosw-popup', function (e) {
265
+ var woosw_content = $('.woosw-popup-content');
 
266
 
267
+ if ($(e.target).closest(woosw_content).length == 0) {
268
+ woosw_wishlist_hide();
269
+ woosw_manage_hide();
270
+ }
271
+ });
272
+
273
+ // continue
274
+ $(document).on('click touch', '.woosw-continue', function (e) {
275
+ var url = $(this).attr('data-url');
276
+ woosw_wishlist_hide();
277
+
278
+ if (url !== '') {
279
+ window.location.href = url;
280
+ }
281
 
282
+ e.preventDefault();
283
+ });
284
 
285
+ // close
286
+ $(document).on('click touch', '#woosw_wishlist .woosw-popup-close', function (e) {
 
287
  woosw_wishlist_hide();
288
  e.preventDefault();
289
+ });
290
 
291
+ // manage close
292
+ $(document).on('click touch', '#woosw_manage .woosw-popup-close', function (e) {
 
293
  woosw_manage_hide();
294
  e.preventDefault();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  });
296
+
297
+ // manage wishlists
298
+ $(document).on('click touch', '.woosw-manage', function (e) {
299
+ e.preventDefault();
300
+ woosw_popup_loading();
301
+
302
+ var data = {
303
+ action: 'manage_wishlists',
304
+ };
305
+
306
+ $.post(woosw_vars.ajax_url, data, function (response) {
307
+ woosw_wishlist_hide();
308
+ $('#woosw_manage').html(response);
309
+ woosw_manage_show();
310
+ woosw_popup_loaded();
311
+ });
312
  });
313
+
314
+ // add wishlist
315
+ $(document).on('click touch', '#woosw_add_wishlist', function (e) {
316
+ e.preventDefault();
317
+ woosw_popup_loading();
318
+
319
+ var name = $('#woosw_wishlist_name').val();
320
+ var data = {
321
+ action: 'add_wishlist', name: name,
322
+ };
323
+
324
+ $.post(woosw_vars.ajax_url, data, function (response) {
325
+ $('#woosw_manage').html(response);
326
+ $('#woosw_wishlist').removeClass('woosw-loaded');
327
+ woosw_popup_loaded();
 
 
 
 
 
 
 
 
 
328
  });
329
+ });
330
+
331
+ // set default
332
+ $(document).on('click touch', '.woosw-set-default', function (e) {
333
+ e.preventDefault();
334
+ woosw_popup_loading();
335
+
336
+ var key = $(this).data('key');
337
+ var data = {
338
+ action: 'set_default', key: key,
339
+ };
340
+
341
+ $.post(woosw_vars.ajax_url, data, function (response) {
342
+ if (response.count != null) {
343
+ woosw_change_count(response.count);
344
+ }
345
+
346
+ $('.woosw-btn').removeClass('woosw-added').html(woosw_vars.button_text);
347
+
348
+ if ((response.products != null) && response.products.length) {
349
+ response.products.forEach((product_id) => {
350
+ $('.woosw-btn-' + product_id).addClass('woosw-added').html(woosw_vars.button_text_added);
351
+ });
352
+ }
353
+
354
+ $('#woosw_manage').html(response.content);
355
+
356
+ if ($storage && response.data) {
357
+ sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data));
358
+ }
359
+
360
+ if (response.data.fragments) {
361
+ woosw_refresh_fragments(response.data.fragments);
362
+ }
363
 
364
+ $('#woosw_wishlist').removeClass('woosw-loaded');
365
+ woosw_popup_loaded();
366
+ });
367
  });
 
368
 
369
+ // delete wishlist
370
+ $(document).on('click touch', '.woosw-delete-wishlist', function (e) {
371
+ e.preventDefault();
372
 
373
+ if (confirm(woosw_vars.delete_confirm)) {
374
+ woosw_popup_loading();
375
 
376
+ var key = $(this).data('key');
377
+ var data = {
378
+ action: 'delete_wishlist', key: key,
379
+ };
380
 
381
+ $.post(woosw_vars.ajax_url, data, function (response) {
382
+ $('#woosw_manage').html(response);
383
+ $('#woosw_wishlist').removeClass('woosw-loaded');
384
+ woosw_popup_loaded();
385
+ });
386
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
387
  });
 
388
 
389
+ // view wishlist
390
+ $(document).on('click touch', '.woosw-view-wishlist', function (e) {
391
+ e.preventDefault();
392
+ woosw_popup_loading();
 
393
 
394
+ var key = $(this).data('key');
395
+ var data = {
396
+ action: 'view_wishlist', key: key,
397
+ };
398
+
399
+ $.post(woosw_vars.ajax_url, data, function (response) {
400
+ woosw_manage_hide();
401
+ $('#woosw_wishlist').removeClass('woosw-loaded').html(response);
402
  woosw_wishlist_show();
403
+ woosw_popup_loaded();
404
+ });
405
+ });
406
+
407
+ // menu item
408
+ $(document).on('click touch', '.woosw-menu-item a, .woosw-menu a', function (e) {
409
+ if (woosw_vars.menu_action === 'open_popup') {
410
+ e.preventDefault();
411
+
412
+ if ($('#woosw_wishlist').hasClass('woosw-loaded')) {
413
+ woosw_wishlist_show();
414
+ } else {
415
+ woosw_wishlist_load();
416
+ }
417
  }
418
+ });
419
 
420
+ // copy link
421
+ $(document).on('click touch', '#woosw_copy_url, #woosw_copy_btn', function (e) {
 
422
  e.preventDefault();
423
 
424
  woosw_copy_to_clipboard('#woosw_copy_url');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  });
 
426
 
427
+ // add note
428
+ $(document).on('click touch', '.woosw-item--note', function () {
429
+ if ($(this).closest('.woosw-item').find('.woosw-item--note-add').length) {
430
+ $(this).closest('.woosw-item').find('.woosw-item--note-add').show();
431
+ $(this).hide();
432
+ }
433
+ });
 
 
 
 
 
 
 
434
 
435
+ $(document).on('click touch', '.woosw_add_note', function (e) {
436
+ e.preventDefault();
437
+ woosw_popup_loading();
438
 
439
+ var $this = $(this);
440
+ var key = $this.closest('.woosw-popup-inner').data('key');
441
+ var product_id = $this.closest('.woosw-item').attr('data-id');
442
+ var note = $this.closest('.woosw-item').find('input[type="text"]').val();
443
+ var data = {
444
+ action: 'add_note',
445
+ woosw_key: key,
446
+ product_id: product_id,
447
+ note: woosw_html_entities(note),
448
+ };
449
 
450
+ $.post(woosw_vars.ajax_url, data, function (response) {
451
+ $this.closest('.woosw-item').find('.woosw-item--note').html(response).show();
452
+ $this.closest('.woosw-item').find('.woosw-item--note-add').hide();
453
+ woosw_popup_loaded();
454
+ });
455
+ });
456
 
457
+ // resize
458
+ $(window).on('resize', function () {
459
+ woosw_fix_height();
460
  });
 
461
 
462
+ function woosw_wishlist_load() {
463
+ var data = {
464
+ action: 'wishlist_load',
465
+ };
466
 
467
+ $.post(woosw_vars.ajax_url, data, function (response) {
468
+ if (response.content != null) {
469
+ $('#woosw_wishlist').html(response.content);
470
+ }
471
 
472
+ if (response.count != null) {
473
+ woosw_change_count(response.count);
474
+ }
 
 
475
 
476
+ if (response.notice != null) {
477
+ woosw_notice(response.notice);
478
+ }
479
 
480
+ $('#woosw_wishlist').addClass('woosw-loaded');
 
481
 
482
+ woosw_perfect_scrollbar();
483
+ woosw_wishlist_show();
484
+ });
485
+ }
486
 
487
+ function woosw_load_count() {
488
+ var data = {
489
+ action: 'wishlist_load_count',
490
+ };
491
 
492
+ $.post(woosw_vars.ajax_url, data, function (response) {
493
+ if (response.count != null) {
494
+ var count = response.count;
495
+
496
+ woosw_change_count(count);
497
+ $(document.body).trigger('woosw_load_count', [count]);
498
+ }
499
+ });
500
+ }
501
 
502
+ function woosw_wishlist_show() {
503
+ $('#woosw_wishlist').addClass('woosw-show');
504
+ woosw_fix_height();
505
 
506
+ $(document.body).trigger('woosw_wishlist_show');
507
+ }
 
508
 
509
+ function woosw_wishlist_hide() {
510
+ $('#woosw_wishlist').removeClass('woosw-show');
511
+ $(document.body).trigger('woosw_wishlist_hide');
512
+ }
513
 
514
+ function woosw_manage_show() {
515
+ $('#woosw_manage').addClass('woosw-show');
516
+ $(document.body).trigger('woosw_manage_show');
 
517
  }
518
 
519
+ function woosw_manage_hide() {
520
+ $('#woosw_manage').removeClass('woosw-show');
521
+ $(document.body).trigger('woosw_manage_hide');
 
 
 
 
522
  }
523
 
524
+ function woosw_popup_loading() {
525
+ $('.woosw-popup').addClass('woosw-loading');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
526
  }
527
+
528
+ function woosw_popup_loaded() {
529
+ $('.woosw-popup').removeClass('woosw-loading');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
530
  }
531
 
532
+ function woosw_change_count(count) {
533
+ $('#woosw_wishlist .woosw-count').html(count);
534
+
535
+ if (parseInt(count) > 0) {
536
+ $('.woosw-empty').show();
537
+ } else {
538
+ $('.woosw-empty').hide();
539
+ }
540
+
541
+ if ($('.woosw-menu-item .woosw-menu-item-inner').length) {
542
+ $('.woosw-menu-item .woosw-menu-item-inner').attr('data-count', count);
543
+ } else {
544
+ $('.woosw-menu-item a').html('<span class="woosw-menu-item-inner" data-count="' + count +
545
+ '"><i class="woosw-icon"></i><span>' + woosw_vars.menu_text +
546
+ '</span></span>');
547
+ }
548
+
549
+ $(document.body).trigger('woosw_change_count', [count]);
 
 
 
 
 
550
  }
551
 
552
+ function woosw_notice(notice) {
553
+ $('.woosw-notice').html(notice);
554
+ woosw_notice_show();
555
+ setTimeout(function () {
556
+ woosw_notice_hide();
557
+ }, 3000);
558
+ }
559
 
560
+ function woosw_notice_show() {
561
+ $('#woosw_wishlist .woosw-notice').addClass('woosw-notice-show');
562
+ }
563
 
564
+ function woosw_notice_hide() {
565
+ $('#woosw_wishlist .woosw-notice').removeClass('woosw-notice-show');
566
+ }
567
 
568
+ function woosw_perfect_scrollbar() {
569
+ if (woosw_vars.perfect_scrollbar === 'yes') {
570
+ jQuery('#woosw_wishlist .woosw-popup-content-mid').perfectScrollbar({theme: 'wpc'});
571
+ }
572
+ }
573
 
574
+ function woosw_copy_url() {
575
+ var wooswURL = document.getElementById('woosw_copy_url');
576
+ wooswURL.select();
577
+ document.execCommand('copy');
578
+ alert(woosw_vars.copied_text + ' ' + wooswURL.value);
579
+ }
580
 
581
+ function woosw_copy_to_clipboard(el) {
582
+ // resolve the element
583
+ el = (typeof el === 'string') ? document.querySelector(el) : el;
584
+
585
+ // handle iOS as a special case
586
+ if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
587
+ // save current contentEditable/readOnly status
588
+ var editable = el.contentEditable;
589
+ var readOnly = el.readOnly;
590
+
591
+ // convert to editable with readonly to stop iOS keyboard opening
592
+ el.contentEditable = true;
593
+ el.readOnly = true;
594
+
595
+ // create a selectable range
596
+ var range = document.createRange();
597
+ range.selectNodeContents(el);
598
+
599
+ // select the range
600
+ var selection = window.getSelection();
601
+ selection.removeAllRanges();
602
+ selection.addRange(range);
603
+ el.setSelectionRange(0, 999999);
604
+
605
+ // restore contentEditable/readOnly to original state
606
+ el.contentEditable = editable;
607
+ el.readOnly = readOnly;
608
+ } else {
609
+ el.select();
610
+ }
611
 
612
+ // execute copy command
613
+ document.execCommand('copy');
614
 
615
+ // alert
616
+ alert(woosw_vars.copied_text + ' ' + el.value);
617
+ }
618
 
619
+ function woosw_html_entities(str) {
620
+ return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
 
621
  }
622
 
623
+ function woosw_get_key() {
624
+ var result = [];
625
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
626
+ var charactersLength = characters.length;
627
+
628
+ for (var i = 0; i < 6; i++) {
629
+ result.push(
630
+ characters.charAt(Math.floor(Math.random() * charactersLength)));
631
+ }
632
 
633
+ return result.join('');
634
+ }
635
+
636
+ function woosw_fix_height() {
637
+ // fix for center only
638
+ jQuery('.woosw-popup-center .woosw-popup-content').height(2 * Math.floor(
639
  jQuery('.woosw-popup-center .woosw-popup-content').height() / 2) +
640
  2);
641
+ }
642
+
643
+ function woosw_load_data() {
644
+ if ($storage) {
645
+ try {
646
+ var data = JSON.parse(sessionStorage.getItem('woosw_data_' + key));
647
+
648
+ if (data.fragments) {
649
+ woosw_refresh_fragments(data.fragments);
650
+ }
651
+
652
+ if (data.ids) {
653
+ woosw_refresh_buttons(data.ids);
654
+ }
655
+
656
+ if (data.key && (key === null || key === undefined || key === '')) {
657
+ Cookies.set('woosw_key', data.key, {expires: 7});
658
+ }
659
+ } catch (err) {
660
+ woosw_get_data();
661
+ }
662
+ } else {
663
+ woosw_get_data();
664
+ }
665
+ }
666
+
667
+ function woosw_get_data() {
668
+ var data = {
669
+ action: 'woosw_get_data',
670
+ };
671
+
672
+ $.post(woosw_vars.ajax_url, data, function (response) {
673
+ if (response) {
674
+ if ($storage) {
675
+ sessionStorage.setItem('woosw_data_' + response.key, JSON.stringify(response));
676
+ }
677
+
678
+ if (response.fragments) {
679
+ woosw_refresh_fragments(response.fragments);
680
+ }
681
+
682
+ if (response.ids) {
683
+ woosw_refresh_buttons(response.ids);
684
+ }
685
+
686
+ if (response.key && (key === null || key === undefined || key === '' || key !== response.key)) {
687
+ Cookies.set('woosw_key', response.key, {expires: 7});
688
+ }
689
+
690
+ $(document.body).trigger('woosw_data_refreshed', [response]);
691
+ }
692
+ });
693
+ }
694
+
695
+ function woosw_refresh_fragments(fragments) {
696
+ $.each(fragments, function (key, value) {
697
+ $(key).replaceWith(value);
698
+ });
699
+
700
+ $(document.body).trigger('woosw_fragments_refreshed', [fragments]);
701
+ }
702
+
703
+ function woosw_refresh_buttons(ids) {
704
+ $('.woosw-btn').removeClass('woosw-btn-added woosw-added').html(woosw_vars.button_text);
705
+
706
+ $.each(ids, function (key) {
707
+ $('.woosw-btn-' + key).addClass('woosw-btn-added woosw-added').html(woosw_vars.button_text_added);
708
+ });
709
+
710
+ $(document.body).trigger('woosw_buttons_refreshed', [ids]);
711
+ }
712
  })(jQuery);
languages/woo-smart-wishlist.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the WPC Smart Wishlist for WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WPC Smart Wishlist for WooCommerce 4.2.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-smart-wishlist\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-07-17T11:11:54+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: woo-smart-wishlist\n"
@@ -34,706 +34,706 @@ msgstr ""
34
  msgid "https://wpclever.net"
35
  msgstr ""
36
 
37
- #: wpc-smart-wishlist.php:285
38
- #: wpc-smart-wishlist.php:338
39
- #: wpc-smart-wishlist.php:381
40
- #: wpc-smart-wishlist.php:1511
41
  msgid "Please log in to use the Wishlist!"
42
  msgstr ""
43
 
44
- #: wpc-smart-wishlist.php:286
45
- #: wpc-smart-wishlist.php:355
46
- #: wpc-smart-wishlist.php:399
47
- #: wpc-smart-wishlist.php:414
48
- #: wpc-smart-wishlist.php:1484
49
- #: wpc-smart-wishlist.php:1751
50
  msgid "There are no products on the Wishlist!"
51
  msgstr ""
52
 
53
- #: wpc-smart-wishlist.php:304
54
- #: wpc-smart-wishlist.php:1439
55
  msgid "{name} has been added to Wishlist."
56
  msgstr ""
57
 
58
- #: wpc-smart-wishlist.php:306
59
- #: wpc-smart-wishlist.php:1448
60
  msgid "{name} is already in the Wishlist."
61
  msgstr ""
62
 
63
- #: wpc-smart-wishlist.php:319
64
- #: wpc-smart-wishlist.php:363
65
- #: wpc-smart-wishlist.php:1529
66
  msgid "Have an error, please try again!"
67
  msgstr ""
68
 
69
- #: wpc-smart-wishlist.php:352
70
- #: wpc-smart-wishlist.php:1457
71
  msgid "Product has been removed from the Wishlist."
72
  msgstr ""
73
 
74
- #: wpc-smart-wishlist.php:358
75
- #: wpc-smart-wishlist.php:1502
76
  msgid "The product does not exist on the Wishlist!"
77
  msgstr ""
78
 
79
- #: wpc-smart-wishlist.php:398
80
- #: wpc-smart-wishlist.php:1475
81
  msgid "All products have been removed from the Wishlist!"
82
  msgstr ""
83
 
84
- #: wpc-smart-wishlist.php:413
85
- #: wpc-smart-wishlist.php:438
86
  msgid "Please log in to use Wishlist!"
87
  msgstr ""
88
 
89
- #: wpc-smart-wishlist.php:478
90
- #: wpc-smart-wishlist.php:1318
91
- #: wpc-smart-wishlist.php:1323
92
  msgid "Add note"
93
  msgstr ""
94
 
95
- #: wpc-smart-wishlist.php:626
96
- #: wpc-smart-wishlist.php:1296
97
- #: wpc-smart-wishlist.php:1600
98
  msgid "Browse wishlist"
99
  msgstr ""
100
 
101
- #: wpc-smart-wishlist.php:628
102
- #: wpc-smart-wishlist.php:1287
103
- #: wpc-smart-wishlist.php:1599
104
  msgid "Add to wishlist"
105
  msgstr ""
106
 
107
- #: wpc-smart-wishlist.php:661
108
- #: wpc-smart-wishlist.php:1196
109
  msgid "Facebook"
110
  msgstr ""
111
 
112
- #: wpc-smart-wishlist.php:662
113
- #: wpc-smart-wishlist.php:1199
114
  msgid "Twitter"
115
  msgstr ""
116
 
117
- #: wpc-smart-wishlist.php:663
118
- #: wpc-smart-wishlist.php:1202
119
  msgid "Pinterest"
120
  msgstr ""
121
 
122
- #: wpc-smart-wishlist.php:664
123
- #: wpc-smart-wishlist.php:1205
124
  msgid "Mail"
125
  msgstr ""
126
 
127
- #: wpc-smart-wishlist.php:674
128
  msgid "Share on:"
129
  msgstr ""
130
 
131
- #: wpc-smart-wishlist.php:685
132
  msgid "Wishlist link:"
133
  msgstr ""
134
 
135
- #: wpc-smart-wishlist.php:687
136
  msgid "Copy"
137
  msgstr ""
138
 
139
- #: wpc-smart-wishlist.php:747
140
  msgid "Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating."
141
  msgstr ""
142
 
143
- #: wpc-smart-wishlist.php:750
144
  msgid "Reviews"
145
  msgstr ""
146
 
147
- #: wpc-smart-wishlist.php:752
148
  msgid "Changelog"
149
  msgstr ""
150
 
151
- #: wpc-smart-wishlist.php:754
152
  msgid "Discussion"
153
  msgstr ""
154
 
155
- #: wpc-smart-wishlist.php:759
156
  msgid "Settings updated."
157
  msgstr ""
158
 
159
- #: wpc-smart-wishlist.php:766
160
- #: wpc-smart-wishlist.php:1623
161
  msgid "Settings"
162
  msgstr ""
163
 
164
- #: wpc-smart-wishlist.php:770
165
- #: wpc-smart-wishlist.php:1276
166
  msgid "Localization"
167
  msgstr ""
168
 
169
- #: wpc-smart-wishlist.php:775
170
- #: wpc-smart-wishlist.php:1624
171
  msgid "Premium Version"
172
  msgstr ""
173
 
174
- #: wpc-smart-wishlist.php:778
175
  msgid "Essential Kit"
176
  msgstr ""
177
 
178
- #: wpc-smart-wishlist.php:792
179
  msgid "General"
180
  msgstr ""
181
 
182
- #: wpc-smart-wishlist.php:796
183
  msgid "Disable the wishlist for unauthenticated users"
184
  msgstr ""
185
 
186
- #: wpc-smart-wishlist.php:800
187
- #: wpc-smart-wishlist.php:813
188
- #: wpc-smart-wishlist.php:837
189
- #: wpc-smart-wishlist.php:1055
190
- #: wpc-smart-wishlist.php:1101
191
- #: wpc-smart-wishlist.php:1119
192
- #: wpc-smart-wishlist.php:1162
193
- #: wpc-smart-wishlist.php:1176
194
- #: wpc-smart-wishlist.php:1215
195
  msgid "Yes"
196
  msgstr ""
197
 
198
- #: wpc-smart-wishlist.php:803
199
- #: wpc-smart-wishlist.php:816
200
- #: wpc-smart-wishlist.php:840
201
- #: wpc-smart-wishlist.php:1058
202
- #: wpc-smart-wishlist.php:1088
203
- #: wpc-smart-wishlist.php:1104
204
- #: wpc-smart-wishlist.php:1122
205
- #: wpc-smart-wishlist.php:1165
206
- #: wpc-smart-wishlist.php:1179
207
- #: wpc-smart-wishlist.php:1218
208
  msgid "No"
209
  msgstr ""
210
 
211
- #: wpc-smart-wishlist.php:809
212
  msgid "Auto remove"
213
  msgstr ""
214
 
215
- #: wpc-smart-wishlist.php:819
216
  msgid "Auto remove product from the wishlist after adding to the cart."
217
  msgstr ""
218
 
219
- #: wpc-smart-wishlist.php:824
220
- #: wpc-smart-wishlist.php:1363
221
  msgid "Multiple Wishlist"
222
  msgstr ""
223
 
224
- #: wpc-smart-wishlist.php:833
225
  msgid "Enable"
226
  msgstr ""
227
 
228
- #: wpc-smart-wishlist.php:843
229
  msgid "Enable/disable multiple wishlist."
230
  msgstr ""
231
 
232
- #: wpc-smart-wishlist.php:847
233
  msgid "Maximum wishlists per user"
234
  msgstr ""
235
 
236
- #: wpc-smart-wishlist.php:855
237
- #: wpc-smart-wishlist.php:866
238
  msgid "Button"
239
  msgstr ""
240
 
241
- #: wpc-smart-wishlist.php:858
242
  msgid "Settings for \"Add to wishlist\" button."
243
  msgstr ""
244
 
245
- #: wpc-smart-wishlist.php:862
246
  msgid "Type"
247
  msgstr ""
248
 
249
- #: wpc-smart-wishlist.php:869
250
  msgid "Link"
251
  msgstr ""
252
 
253
- #: wpc-smart-wishlist.php:875
254
- #: wpc-smart-wishlist.php:1251
255
  msgid "Action"
256
  msgstr ""
257
 
258
- #: wpc-smart-wishlist.php:879
259
  msgid "Show message"
260
  msgstr ""
261
 
262
- #: wpc-smart-wishlist.php:882
263
- #: wpc-smart-wishlist.php:921
264
- #: wpc-smart-wishlist.php:1258
265
  msgid "Open wishlist popup"
266
  msgstr ""
267
 
268
- #: wpc-smart-wishlist.php:885
269
  msgid "Add to wishlist solely"
270
  msgstr ""
271
 
272
- #: wpc-smart-wishlist.php:888
273
  msgid "Action triggered by clicking on the wishlist button."
274
  msgstr ""
275
 
276
- #: wpc-smart-wishlist.php:892
277
  msgid "Message position"
278
  msgstr ""
279
 
280
- #: wpc-smart-wishlist.php:896
281
  msgid "right-top"
282
  msgstr ""
283
 
284
- #: wpc-smart-wishlist.php:899
285
  msgid "right-bottom"
286
  msgstr ""
287
 
288
- #: wpc-smart-wishlist.php:902
289
  msgid "center-top"
290
  msgstr ""
291
 
292
- #: wpc-smart-wishlist.php:905
293
  msgid "center-bottom"
294
  msgstr ""
295
 
296
- #: wpc-smart-wishlist.php:908
297
  msgid "left-top"
298
  msgstr ""
299
 
300
- #: wpc-smart-wishlist.php:911
301
  msgid "left-bottom"
302
  msgstr ""
303
 
304
- #: wpc-smart-wishlist.php:917
305
  msgid "Action (added)"
306
  msgstr ""
307
 
308
- #: wpc-smart-wishlist.php:924
309
- #: wpc-smart-wishlist.php:1255
310
- #: wpc-smart-wishlist.php:1336
311
- #: wpc-smart-wishlist.php:1341
312
- #: wpc-smart-wishlist.php:1847
313
  msgid "Open wishlist page"
314
  msgstr ""
315
 
316
- #: wpc-smart-wishlist.php:927
317
  msgid "Action triggered by clicking on the wishlist button after adding an item to the wishlist."
318
  msgstr ""
319
 
320
- #: wpc-smart-wishlist.php:931
321
  msgid "Extra class (optional)"
322
  msgstr ""
323
 
324
- #: wpc-smart-wishlist.php:935
325
  msgid "Add extra class for action button/link, split by one space."
326
  msgstr ""
327
 
328
- #: wpc-smart-wishlist.php:939
329
  msgid "Position on archive page"
330
  msgstr ""
331
 
332
- #: wpc-smart-wishlist.php:944
333
- #: wpc-smart-wishlist.php:971
334
  msgid "Under title"
335
  msgstr ""
336
 
337
- #: wpc-smart-wishlist.php:945
338
- #: wpc-smart-wishlist.php:972
339
  msgid "Under rating"
340
  msgstr ""
341
 
342
- #: wpc-smart-wishlist.php:946
343
  msgid "Under price"
344
  msgstr ""
345
 
346
- #: wpc-smart-wishlist.php:947
347
- #: wpc-smart-wishlist.php:974
348
  msgid "Above add to cart button"
349
  msgstr ""
350
 
351
- #: wpc-smart-wishlist.php:948
352
- #: wpc-smart-wishlist.php:975
353
  msgid "Under add to cart button"
354
  msgstr ""
355
 
356
- #: wpc-smart-wishlist.php:949
357
- #: wpc-smart-wishlist.php:978
358
  msgid "None (hide it)"
359
  msgstr ""
360
 
361
- #: wpc-smart-wishlist.php:966
362
  msgid "Position on single page"
363
  msgstr ""
364
 
365
- #: wpc-smart-wishlist.php:973
366
  msgid "Under excerpt"
367
  msgstr ""
368
 
369
- #: wpc-smart-wishlist.php:976
370
  msgid "Under meta"
371
  msgstr ""
372
 
373
- #: wpc-smart-wishlist.php:977
374
  msgid "Under sharing"
375
  msgstr ""
376
 
377
- #: wpc-smart-wishlist.php:995
378
  msgid "Shortcode"
379
  msgstr ""
380
 
381
- #: wpc-smart-wishlist.php:998
382
  msgid "You can add a button manually by using the shortcode %s, eg. %s for the product whose ID is 99."
383
  msgstr ""
384
 
385
- #: wpc-smart-wishlist.php:1003
386
  msgid "Categories"
387
  msgstr ""
388
 
389
- #: wpc-smart-wishlist.php:1018
390
  msgid "All categories"
391
  msgstr ""
392
 
393
- #: wpc-smart-wishlist.php:1023
394
  msgid "Only show the wishlist button for products in selected categories."
395
  msgstr ""
396
 
397
- #: wpc-smart-wishlist.php:1028
398
  msgid "Popup"
399
  msgstr ""
400
 
401
- #: wpc-smart-wishlist.php:1031
402
  msgid "Settings for the wishlist popup."
403
  msgstr ""
404
 
405
- #: wpc-smart-wishlist.php:1035
406
  msgid "Position"
407
  msgstr ""
408
 
409
- #: wpc-smart-wishlist.php:1039
410
  msgid "Center"
411
  msgstr ""
412
 
413
- #: wpc-smart-wishlist.php:1042
414
  msgid "Right"
415
  msgstr ""
416
 
417
- #: wpc-smart-wishlist.php:1045
418
  msgid "Left"
419
  msgstr ""
420
 
421
- #: wpc-smart-wishlist.php:1051
422
  msgid "Use perfect-scrollbar"
423
  msgstr ""
424
 
425
- #: wpc-smart-wishlist.php:1061
426
  msgid "Read more about %s"
427
  msgstr ""
428
 
429
- #: wpc-smart-wishlist.php:1065
430
  msgid "Color"
431
  msgstr ""
432
 
433
- #: wpc-smart-wishlist.php:1071
434
  msgid "Choose the color, default %s"
435
  msgstr ""
436
 
437
- #: wpc-smart-wishlist.php:1075
438
  msgid "Link to individual product"
439
  msgstr ""
440
 
441
- #: wpc-smart-wishlist.php:1079
442
  msgid "Yes, open in the same tab"
443
  msgstr ""
444
 
445
- #: wpc-smart-wishlist.php:1082
446
  msgid "Yes, open in the new tab"
447
  msgstr ""
448
 
449
- #: wpc-smart-wishlist.php:1085
450
  msgid "Yes, open quick view popup"
451
  msgstr ""
452
 
453
- #: wpc-smart-wishlist.php:1097
454
  msgid "Show note"
455
  msgstr ""
456
 
457
- #: wpc-smart-wishlist.php:1107
458
  msgid "Show note on each product for all visitors. Only wishlist owner can add/edit these notes."
459
  msgstr ""
460
 
461
- #: wpc-smart-wishlist.php:1115
462
- #: wpc-smart-wishlist.php:1309
463
  msgid "Empty wishlist button"
464
  msgstr ""
465
 
466
- #: wpc-smart-wishlist.php:1125
467
  msgid "Show empty wishlist button on the popup?"
468
  msgstr ""
469
 
470
- #: wpc-smart-wishlist.php:1129
471
  msgid "Continue shopping link"
472
  msgstr ""
473
 
474
- #: wpc-smart-wishlist.php:1134
475
  msgid "By default, the wishlist popup will only be closed when customers click on the \"Continue Shopping\" button."
476
  msgstr ""
477
 
478
- #: wpc-smart-wishlist.php:1139
479
  msgid "Page"
480
  msgstr ""
481
 
482
- #: wpc-smart-wishlist.php:1142
483
  msgid "Settings for wishlist page."
484
  msgstr ""
485
 
486
- #: wpc-smart-wishlist.php:1146
487
  msgid "Wishlist page"
488
  msgstr ""
489
 
490
- #: wpc-smart-wishlist.php:1151
491
  msgid "Choose a page"
492
  msgstr ""
493
 
494
- #: wpc-smart-wishlist.php:1154
495
  msgid "Add shortcode %s to display the wishlist on a page."
496
  msgstr ""
497
 
498
- #: wpc-smart-wishlist.php:1158
499
  msgid "Share buttons"
500
  msgstr ""
501
 
502
- #: wpc-smart-wishlist.php:1168
503
  msgid "Enable share buttons on the wishlist page?"
504
  msgstr ""
505
 
506
- #: wpc-smart-wishlist.php:1172
507
  msgid "Use font icon"
508
  msgstr ""
509
 
510
- #: wpc-smart-wishlist.php:1185
511
  msgid "Social links"
512
  msgstr ""
513
 
514
- #: wpc-smart-wishlist.php:1211
515
  msgid "Copy link"
516
  msgstr ""
517
 
518
- #: wpc-smart-wishlist.php:1221
519
  msgid "Enable copy wishlist link to share?"
520
  msgstr ""
521
 
522
- #: wpc-smart-wishlist.php:1226
523
  msgid "Menu"
524
  msgstr ""
525
 
526
- #: wpc-smart-wishlist.php:1229
527
  msgid "Settings for the wishlist menu item."
528
  msgstr ""
529
 
530
- #: wpc-smart-wishlist.php:1233
531
  msgid "Menu(s)"
532
  msgstr ""
533
 
534
- #: wpc-smart-wishlist.php:1247
535
  msgid "Choose the menu(s) you want to add the \"wishlist menu\" at the end."
536
  msgstr ""
537
 
538
- #: wpc-smart-wishlist.php:1261
539
  msgid "Action when clicking on the \"wishlist menu\"."
540
  msgstr ""
541
 
542
- #: wpc-smart-wishlist.php:1278
543
  msgid "Leave blank to use the default text and its equivalent translation in multiple languages."
544
  msgstr ""
545
 
546
- #: wpc-smart-wishlist.php:1282
547
  msgid "Button text"
548
  msgstr ""
549
 
550
- #: wpc-smart-wishlist.php:1291
551
  msgid "Button text (added)"
552
  msgstr ""
553
 
554
- #: wpc-smart-wishlist.php:1300
555
  msgid "Wishlist popup heading"
556
  msgstr ""
557
 
558
- #: wpc-smart-wishlist.php:1305
559
- #: wpc-smart-wishlist.php:1359
560
- #: wpc-smart-wishlist.php:1372
561
- #: wpc-smart-wishlist.php:1598
562
- #: wpc-smart-wishlist.php:1791
563
- #: wpc-smart-wishlist.php:1817
564
- #: wpc-smart-wishlist.php:1891
565
- #: wpc-smart-wishlist.php:2092
566
- #: wpc-smart-wishlist.php:2173
567
- #: wpc-smart-wishlist.php:2180
568
- #: wpc-smart-wishlist.php:2371
569
  msgid "Wishlist"
570
  msgstr ""
571
 
572
- #: wpc-smart-wishlist.php:1314
573
- #: wpc-smart-wishlist.php:1830
574
  msgid "remove all"
575
  msgstr ""
576
 
577
- #: wpc-smart-wishlist.php:1327
578
  msgid "Save note"
579
  msgstr ""
580
 
581
- #: wpc-smart-wishlist.php:1332
582
  msgid "Save"
583
  msgstr ""
584
 
585
- #: wpc-smart-wishlist.php:1345
586
- #: wpc-smart-wishlist.php:1350
587
- #: wpc-smart-wishlist.php:1852
588
  msgid "Continue shopping"
589
  msgstr ""
590
 
591
- #: wpc-smart-wishlist.php:1354
592
  msgid "Menu item label"
593
  msgstr ""
594
 
595
- #: wpc-smart-wishlist.php:1367
596
  msgid "Primary wishlist name"
597
  msgstr ""
598
 
599
- #: wpc-smart-wishlist.php:1376
600
- #: wpc-smart-wishlist.php:1381
601
- #: wpc-smart-wishlist.php:1868
602
  msgid "Manage wishlists"
603
  msgstr ""
604
 
605
- #: wpc-smart-wishlist.php:1385
606
  msgid "Set default"
607
  msgstr ""
608
 
609
- #: wpc-smart-wishlist.php:1390
610
- #: wpc-smart-wishlist.php:1905
611
  msgid "set default"
612
  msgstr ""
613
 
614
- #: wpc-smart-wishlist.php:1394
615
  msgid "Default"
616
  msgstr ""
617
 
618
- #: wpc-smart-wishlist.php:1399
619
- #: wpc-smart-wishlist.php:1903
620
  msgid "default"
621
  msgstr ""
622
 
623
- #: wpc-smart-wishlist.php:1403
624
  msgid "Delete"
625
  msgstr ""
626
 
627
- #: wpc-smart-wishlist.php:1408
628
- #: wpc-smart-wishlist.php:1911
629
  msgid "delete"
630
  msgstr ""
631
 
632
- #: wpc-smart-wishlist.php:1412
633
  msgid "Wishlist name placeholder"
634
  msgstr ""
635
 
636
- #: wpc-smart-wishlist.php:1417
637
- #: wpc-smart-wishlist.php:1922
638
  msgid "New Wishlist"
639
  msgstr ""
640
 
641
- #: wpc-smart-wishlist.php:1421
642
  msgid "Add new wishlist"
643
  msgstr ""
644
 
645
- #: wpc-smart-wishlist.php:1426
646
- #: wpc-smart-wishlist.php:1924
647
  msgid "Add New Wishlist"
648
  msgstr ""
649
 
650
- #: wpc-smart-wishlist.php:1430
651
  msgid "Message"
652
  msgstr ""
653
 
654
- #: wpc-smart-wishlist.php:1434
655
  msgid "Added to the wishlist"
656
  msgstr ""
657
 
658
- #: wpc-smart-wishlist.php:1443
659
  msgid "Already in the wishlist"
660
  msgstr ""
661
 
662
- #: wpc-smart-wishlist.php:1452
663
  msgid "Removed from wishlist"
664
  msgstr ""
665
 
666
- #: wpc-smart-wishlist.php:1461
667
  msgid "Empty wishlist confirm"
668
  msgstr ""
669
 
670
- #: wpc-smart-wishlist.php:1466
671
- #: wpc-smart-wishlist.php:1493
672
- #: wpc-smart-wishlist.php:1595
673
- #: wpc-smart-wishlist.php:1596
674
  msgid "This action cannot be undone. Are you sure?"
675
  msgstr ""
676
 
677
- #: wpc-smart-wishlist.php:1470
678
  msgid "Empty wishlist notice"
679
  msgstr ""
680
 
681
- #: wpc-smart-wishlist.php:1479
682
  msgid "Empty wishlist"
683
  msgstr ""
684
 
685
- #: wpc-smart-wishlist.php:1488
686
  msgid "Delete wishlist confirm"
687
  msgstr ""
688
 
689
- #: wpc-smart-wishlist.php:1497
690
  msgid "Product does not exist"
691
  msgstr ""
692
 
693
- #: wpc-smart-wishlist.php:1506
694
  msgid "Need to login"
695
  msgstr ""
696
 
697
- #: wpc-smart-wishlist.php:1515
698
  msgid "Copied wishlist link"
699
  msgstr ""
700
 
701
- #: wpc-smart-wishlist.php:1520
702
- #: wpc-smart-wishlist.php:1597
703
  msgid "Copied the wishlist link:"
704
  msgstr ""
705
 
706
- #: wpc-smart-wishlist.php:1524
707
  msgid "Have an error"
708
  msgstr ""
709
 
710
- #: wpc-smart-wishlist.php:1640
711
  msgid "Community support"
712
  msgstr ""
713
 
714
- #: wpc-smart-wishlist.php:2226
715
- #: wpc-smart-wishlist.php:2229
716
- #: wpc-smart-wishlist.php:2293
717
- #: wpc-smart-wishlist.php:2296
718
  msgid "%s product"
719
  msgid_plural "%s products"
720
  msgstr[0] ""
721
  msgstr[1] ""
722
 
723
- #: wpc-smart-wishlist.php:2228
724
- #: wpc-smart-wishlist.php:2295
725
  msgid "Guest"
726
  msgstr ""
727
 
728
- #: wpc-smart-wishlist.php:2243
729
- #: wpc-smart-wishlist.php:2272
730
  msgid "Edit"
731
  msgstr ""
732
 
733
- #: wpc-smart-wishlist.php:2243
734
  msgid "See in wishlist"
735
  msgstr ""
736
 
737
- #: wpc-smart-wishlist.php:2251
738
  msgid "Empty Wishlist"
739
  msgstr ""
2
  # This file is distributed under the same license as the WPC Smart Wishlist for WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WPC Smart Wishlist for WooCommerce 4.3.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-smart-wishlist\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-08-02T00:22:18+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: woo-smart-wishlist\n"
34
  msgid "https://wpclever.net"
35
  msgstr ""
36
 
37
+ #: wpc-smart-wishlist.php:289
38
+ #: wpc-smart-wishlist.php:346
39
+ #: wpc-smart-wishlist.php:393
40
+ #: wpc-smart-wishlist.php:1535
41
  msgid "Please log in to use the Wishlist!"
42
  msgstr ""
43
 
44
+ #: wpc-smart-wishlist.php:290
45
+ #: wpc-smart-wishlist.php:368
46
+ #: wpc-smart-wishlist.php:411
47
+ #: wpc-smart-wishlist.php:430
48
+ #: wpc-smart-wishlist.php:1508
49
+ #: wpc-smart-wishlist.php:1778
50
  msgid "There are no products on the Wishlist!"
51
  msgstr ""
52
 
53
+ #: wpc-smart-wishlist.php:308
54
+ #: wpc-smart-wishlist.php:1463
55
  msgid "{name} has been added to Wishlist."
56
  msgstr ""
57
 
58
+ #: wpc-smart-wishlist.php:310
59
+ #: wpc-smart-wishlist.php:1472
60
  msgid "{name} is already in the Wishlist."
61
  msgstr ""
62
 
63
+ #: wpc-smart-wishlist.php:328
64
+ #: wpc-smart-wishlist.php:376
65
+ #: wpc-smart-wishlist.php:1553
66
  msgid "Have an error, please try again!"
67
  msgstr ""
68
 
69
+ #: wpc-smart-wishlist.php:360
70
+ #: wpc-smart-wishlist.php:1481
71
  msgid "Product has been removed from the Wishlist."
72
  msgstr ""
73
 
74
+ #: wpc-smart-wishlist.php:371
75
+ #: wpc-smart-wishlist.php:1526
76
  msgid "The product does not exist on the Wishlist!"
77
  msgstr ""
78
 
79
+ #: wpc-smart-wishlist.php:410
80
+ #: wpc-smart-wishlist.php:1499
81
  msgid "All products have been removed from the Wishlist!"
82
  msgstr ""
83
 
84
+ #: wpc-smart-wishlist.php:429
85
+ #: wpc-smart-wishlist.php:458
86
  msgid "Please log in to use Wishlist!"
87
  msgstr ""
88
 
89
+ #: wpc-smart-wishlist.php:497
90
+ #: wpc-smart-wishlist.php:1342
91
+ #: wpc-smart-wishlist.php:1347
92
  msgid "Add note"
93
  msgstr ""
94
 
95
+ #: wpc-smart-wishlist.php:649
96
+ #: wpc-smart-wishlist.php:1320
97
+ #: wpc-smart-wishlist.php:1627
98
  msgid "Browse wishlist"
99
  msgstr ""
100
 
101
+ #: wpc-smart-wishlist.php:651
102
+ #: wpc-smart-wishlist.php:1311
103
+ #: wpc-smart-wishlist.php:1626
104
  msgid "Add to wishlist"
105
  msgstr ""
106
 
107
+ #: wpc-smart-wishlist.php:684
108
+ #: wpc-smart-wishlist.php:1220
109
  msgid "Facebook"
110
  msgstr ""
111
 
112
+ #: wpc-smart-wishlist.php:685
113
+ #: wpc-smart-wishlist.php:1223
114
  msgid "Twitter"
115
  msgstr ""
116
 
117
+ #: wpc-smart-wishlist.php:686
118
+ #: wpc-smart-wishlist.php:1226
119
  msgid "Pinterest"
120
  msgstr ""
121
 
122
+ #: wpc-smart-wishlist.php:687
123
+ #: wpc-smart-wishlist.php:1229
124
  msgid "Mail"
125
  msgstr ""
126
 
127
+ #: wpc-smart-wishlist.php:697
128
  msgid "Share on:"
129
  msgstr ""
130
 
131
+ #: wpc-smart-wishlist.php:708
132
  msgid "Wishlist link:"
133
  msgstr ""
134
 
135
+ #: wpc-smart-wishlist.php:710
136
  msgid "Copy"
137
  msgstr ""
138
 
139
+ #: wpc-smart-wishlist.php:770
140
  msgid "Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating."
141
  msgstr ""
142
 
143
+ #: wpc-smart-wishlist.php:773
144
  msgid "Reviews"
145
  msgstr ""
146
 
147
+ #: wpc-smart-wishlist.php:775
148
  msgid "Changelog"
149
  msgstr ""
150
 
151
+ #: wpc-smart-wishlist.php:777
152
  msgid "Discussion"
153
  msgstr ""
154
 
155
+ #: wpc-smart-wishlist.php:782
156
  msgid "Settings updated."
157
  msgstr ""
158
 
159
+ #: wpc-smart-wishlist.php:789
160
+ #: wpc-smart-wishlist.php:1650
161
  msgid "Settings"
162
  msgstr ""
163
 
164
+ #: wpc-smart-wishlist.php:793
165
+ #: wpc-smart-wishlist.php:1300
166
  msgid "Localization"
167
  msgstr ""
168
 
169
+ #: wpc-smart-wishlist.php:798
170
+ #: wpc-smart-wishlist.php:1651
171
  msgid "Premium Version"
172
  msgstr ""
173
 
174
+ #: wpc-smart-wishlist.php:801
175
  msgid "Essential Kit"
176
  msgstr ""
177
 
178
+ #: wpc-smart-wishlist.php:815
179
  msgid "General"
180
  msgstr ""
181
 
182
+ #: wpc-smart-wishlist.php:819
183
  msgid "Disable the wishlist for unauthenticated users"
184
  msgstr ""
185
 
186
+ #: wpc-smart-wishlist.php:823
187
+ #: wpc-smart-wishlist.php:836
188
+ #: wpc-smart-wishlist.php:860
189
+ #: wpc-smart-wishlist.php:1078
190
+ #: wpc-smart-wishlist.php:1124
191
+ #: wpc-smart-wishlist.php:1143
192
+ #: wpc-smart-wishlist.php:1186
193
+ #: wpc-smart-wishlist.php:1200
194
+ #: wpc-smart-wishlist.php:1239
195
  msgid "Yes"
196
  msgstr ""
197
 
198
+ #: wpc-smart-wishlist.php:826
199
+ #: wpc-smart-wishlist.php:839
200
+ #: wpc-smart-wishlist.php:863
201
+ #: wpc-smart-wishlist.php:1081
202
+ #: wpc-smart-wishlist.php:1111
203
+ #: wpc-smart-wishlist.php:1127
204
+ #: wpc-smart-wishlist.php:1146
205
+ #: wpc-smart-wishlist.php:1189
206
+ #: wpc-smart-wishlist.php:1203
207
+ #: wpc-smart-wishlist.php:1242
208
  msgid "No"
209
  msgstr ""
210
 
211
+ #: wpc-smart-wishlist.php:832
212
  msgid "Auto remove"
213
  msgstr ""
214
 
215
+ #: wpc-smart-wishlist.php:842
216
  msgid "Auto remove product from the wishlist after adding to the cart."
217
  msgstr ""
218
 
219
+ #: wpc-smart-wishlist.php:847
220
+ #: wpc-smart-wishlist.php:1387
221
  msgid "Multiple Wishlist"
222
  msgstr ""
223
 
224
+ #: wpc-smart-wishlist.php:856
225
  msgid "Enable"
226
  msgstr ""
227
 
228
+ #: wpc-smart-wishlist.php:866
229
  msgid "Enable/disable multiple wishlist."
230
  msgstr ""
231
 
232
+ #: wpc-smart-wishlist.php:870
233
  msgid "Maximum wishlists per user"
234
  msgstr ""
235
 
236
+ #: wpc-smart-wishlist.php:878
237
+ #: wpc-smart-wishlist.php:889
238
  msgid "Button"
239
  msgstr ""
240
 
241
+ #: wpc-smart-wishlist.php:881
242
  msgid "Settings for \"Add to wishlist\" button."
243
  msgstr ""
244
 
245
+ #: wpc-smart-wishlist.php:885
246
  msgid "Type"
247
  msgstr ""
248
 
249
+ #: wpc-smart-wishlist.php:892
250
  msgid "Link"
251
  msgstr ""
252
 
253
+ #: wpc-smart-wishlist.php:898
254
+ #: wpc-smart-wishlist.php:1275
255
  msgid "Action"
256
  msgstr ""
257
 
258
+ #: wpc-smart-wishlist.php:902
259
  msgid "Show message"
260
  msgstr ""
261
 
262
+ #: wpc-smart-wishlist.php:905
263
+ #: wpc-smart-wishlist.php:944
264
+ #: wpc-smart-wishlist.php:1282
265
  msgid "Open wishlist popup"
266
  msgstr ""
267
 
268
+ #: wpc-smart-wishlist.php:908
269
  msgid "Add to wishlist solely"
270
  msgstr ""
271
 
272
+ #: wpc-smart-wishlist.php:911
273
  msgid "Action triggered by clicking on the wishlist button."
274
  msgstr ""
275
 
276
+ #: wpc-smart-wishlist.php:915
277
  msgid "Message position"
278
  msgstr ""
279
 
280
+ #: wpc-smart-wishlist.php:919
281
  msgid "right-top"
282
  msgstr ""
283
 
284
+ #: wpc-smart-wishlist.php:922
285
  msgid "right-bottom"
286
  msgstr ""
287
 
288
+ #: wpc-smart-wishlist.php:925
289
  msgid "center-top"
290
  msgstr ""
291
 
292
+ #: wpc-smart-wishlist.php:928
293
  msgid "center-bottom"
294
  msgstr ""
295
 
296
+ #: wpc-smart-wishlist.php:931
297
  msgid "left-top"
298
  msgstr ""
299
 
300
+ #: wpc-smart-wishlist.php:934
301
  msgid "left-bottom"
302
  msgstr ""
303
 
304
+ #: wpc-smart-wishlist.php:940
305
  msgid "Action (added)"
306
  msgstr ""
307
 
308
+ #: wpc-smart-wishlist.php:947
309
+ #: wpc-smart-wishlist.php:1279
310
+ #: wpc-smart-wishlist.php:1360
311
+ #: wpc-smart-wishlist.php:1365
312
+ #: wpc-smart-wishlist.php:1885
313
  msgid "Open wishlist page"
314
  msgstr ""
315
 
316
+ #: wpc-smart-wishlist.php:950
317
  msgid "Action triggered by clicking on the wishlist button after adding an item to the wishlist."
318
  msgstr ""
319
 
320
+ #: wpc-smart-wishlist.php:954
321
  msgid "Extra class (optional)"
322
  msgstr ""
323
 
324
+ #: wpc-smart-wishlist.php:958
325
  msgid "Add extra class for action button/link, split by one space."
326
  msgstr ""
327
 
328
+ #: wpc-smart-wishlist.php:962
329
  msgid "Position on archive page"
330
  msgstr ""
331
 
332
+ #: wpc-smart-wishlist.php:967
333
+ #: wpc-smart-wishlist.php:994
334
  msgid "Under title"
335
  msgstr ""
336
 
337
+ #: wpc-smart-wishlist.php:968
338
+ #: wpc-smart-wishlist.php:995
339
  msgid "Under rating"
340
  msgstr ""
341
 
342
+ #: wpc-smart-wishlist.php:969
343
  msgid "Under price"
344
  msgstr ""
345
 
346
+ #: wpc-smart-wishlist.php:970
347
+ #: wpc-smart-wishlist.php:997
348
  msgid "Above add to cart button"
349
  msgstr ""
350
 
351
+ #: wpc-smart-wishlist.php:971
352
+ #: wpc-smart-wishlist.php:998
353
  msgid "Under add to cart button"
354
  msgstr ""
355
 
356
+ #: wpc-smart-wishlist.php:972
357
+ #: wpc-smart-wishlist.php:1001
358
  msgid "None (hide it)"
359
  msgstr ""
360
 
361
+ #: wpc-smart-wishlist.php:989
362
  msgid "Position on single page"
363
  msgstr ""
364
 
365
+ #: wpc-smart-wishlist.php:996
366
  msgid "Under excerpt"
367
  msgstr ""
368
 
369
+ #: wpc-smart-wishlist.php:999
370
  msgid "Under meta"
371
  msgstr ""
372
 
373
+ #: wpc-smart-wishlist.php:1000
374
  msgid "Under sharing"
375
  msgstr ""
376
 
377
+ #: wpc-smart-wishlist.php:1018
378
  msgid "Shortcode"
379
  msgstr ""
380
 
381
+ #: wpc-smart-wishlist.php:1021
382
  msgid "You can add a button manually by using the shortcode %s, eg. %s for the product whose ID is 99."
383
  msgstr ""
384
 
385
+ #: wpc-smart-wishlist.php:1026
386
  msgid "Categories"
387
  msgstr ""
388
 
389
+ #: wpc-smart-wishlist.php:1041
390
  msgid "All categories"
391
  msgstr ""
392
 
393
+ #: wpc-smart-wishlist.php:1046
394
  msgid "Only show the wishlist button for products in selected categories."
395
  msgstr ""
396
 
397
+ #: wpc-smart-wishlist.php:1051
398
  msgid "Popup"
399
  msgstr ""
400
 
401
+ #: wpc-smart-wishlist.php:1054
402
  msgid "Settings for the wishlist popup."
403
  msgstr ""
404
 
405
+ #: wpc-smart-wishlist.php:1058
406
  msgid "Position"
407
  msgstr ""
408
 
409
+ #: wpc-smart-wishlist.php:1062
410
  msgid "Center"
411
  msgstr ""
412
 
413
+ #: wpc-smart-wishlist.php:1065
414
  msgid "Right"
415
  msgstr ""
416
 
417
+ #: wpc-smart-wishlist.php:1068
418
  msgid "Left"
419
  msgstr ""
420
 
421
+ #: wpc-smart-wishlist.php:1074
422
  msgid "Use perfect-scrollbar"
423
  msgstr ""
424
 
425
+ #: wpc-smart-wishlist.php:1084
426
  msgid "Read more about %s"
427
  msgstr ""
428
 
429
+ #: wpc-smart-wishlist.php:1088
430
  msgid "Color"
431
  msgstr ""
432
 
433
+ #: wpc-smart-wishlist.php:1094
434
  msgid "Choose the color, default %s"
435
  msgstr ""
436
 
437
+ #: wpc-smart-wishlist.php:1098
438
  msgid "Link to individual product"
439
  msgstr ""
440
 
441
+ #: wpc-smart-wishlist.php:1102
442
  msgid "Yes, open in the same tab"
443
  msgstr ""
444
 
445
+ #: wpc-smart-wishlist.php:1105
446
  msgid "Yes, open in the new tab"
447
  msgstr ""
448
 
449
+ #: wpc-smart-wishlist.php:1108
450
  msgid "Yes, open quick view popup"
451
  msgstr ""
452
 
453
+ #: wpc-smart-wishlist.php:1120
454
  msgid "Show note"
455
  msgstr ""
456
 
457
+ #: wpc-smart-wishlist.php:1130
458
  msgid "Show note on each product for all visitors. Only wishlist owner can add/edit these notes."
459
  msgstr ""
460
 
461
+ #: wpc-smart-wishlist.php:1139
462
+ #: wpc-smart-wishlist.php:1333
463
  msgid "Empty wishlist button"
464
  msgstr ""
465
 
466
+ #: wpc-smart-wishlist.php:1149
467
  msgid "Show empty wishlist button on the popup?"
468
  msgstr ""
469
 
470
+ #: wpc-smart-wishlist.php:1153
471
  msgid "Continue shopping link"
472
  msgstr ""
473
 
474
+ #: wpc-smart-wishlist.php:1158
475
  msgid "By default, the wishlist popup will only be closed when customers click on the \"Continue Shopping\" button."
476
  msgstr ""
477
 
478
+ #: wpc-smart-wishlist.php:1163
479
  msgid "Page"
480
  msgstr ""
481
 
482
+ #: wpc-smart-wishlist.php:1166
483
  msgid "Settings for wishlist page."
484
  msgstr ""
485
 
486
+ #: wpc-smart-wishlist.php:1170
487
  msgid "Wishlist page"
488
  msgstr ""
489
 
490
+ #: wpc-smart-wishlist.php:1175
491
  msgid "Choose a page"
492
  msgstr ""
493
 
494
+ #: wpc-smart-wishlist.php:1178
495
  msgid "Add shortcode %s to display the wishlist on a page."
496
  msgstr ""
497
 
498
+ #: wpc-smart-wishlist.php:1182
499
  msgid "Share buttons"
500
  msgstr ""
501
 
502
+ #: wpc-smart-wishlist.php:1192
503
  msgid "Enable share buttons on the wishlist page?"
504
  msgstr ""
505
 
506
+ #: wpc-smart-wishlist.php:1196
507
  msgid "Use font icon"
508
  msgstr ""
509
 
510
+ #: wpc-smart-wishlist.php:1209
511
  msgid "Social links"
512
  msgstr ""
513
 
514
+ #: wpc-smart-wishlist.php:1235
515
  msgid "Copy link"
516
  msgstr ""
517
 
518
+ #: wpc-smart-wishlist.php:1245
519
  msgid "Enable copy wishlist link to share?"
520
  msgstr ""
521
 
522
+ #: wpc-smart-wishlist.php:1250
523
  msgid "Menu"
524
  msgstr ""
525
 
526
+ #: wpc-smart-wishlist.php:1253
527
  msgid "Settings for the wishlist menu item."
528
  msgstr ""
529
 
530
+ #: wpc-smart-wishlist.php:1257
531
  msgid "Menu(s)"
532
  msgstr ""
533
 
534
+ #: wpc-smart-wishlist.php:1271
535
  msgid "Choose the menu(s) you want to add the \"wishlist menu\" at the end."
536
  msgstr ""
537
 
538
+ #: wpc-smart-wishlist.php:1285
539
  msgid "Action when clicking on the \"wishlist menu\"."
540
  msgstr ""
541
 
542
+ #: wpc-smart-wishlist.php:1302
543
  msgid "Leave blank to use the default text and its equivalent translation in multiple languages."
544
  msgstr ""
545
 
546
+ #: wpc-smart-wishlist.php:1306
547
  msgid "Button text"
548
  msgstr ""
549
 
550
+ #: wpc-smart-wishlist.php:1315
551
  msgid "Button text (added)"
552
  msgstr ""
553
 
554
+ #: wpc-smart-wishlist.php:1324
555
  msgid "Wishlist popup heading"
556
  msgstr ""
557
 
558
+ #: wpc-smart-wishlist.php:1329
559
+ #: wpc-smart-wishlist.php:1383
560
+ #: wpc-smart-wishlist.php:1396
561
+ #: wpc-smart-wishlist.php:1625
562
+ #: wpc-smart-wishlist.php:1833
563
+ #: wpc-smart-wishlist.php:1855
564
+ #: wpc-smart-wishlist.php:1929
565
+ #: wpc-smart-wishlist.php:2130
566
+ #: wpc-smart-wishlist.php:2211
567
+ #: wpc-smart-wishlist.php:2218
568
+ #: wpc-smart-wishlist.php:2428
569
  msgid "Wishlist"
570
  msgstr ""
571
 
572
+ #: wpc-smart-wishlist.php:1338
573
+ #: wpc-smart-wishlist.php:1868
574
  msgid "remove all"
575
  msgstr ""
576
 
577
+ #: wpc-smart-wishlist.php:1351
578
  msgid "Save note"
579
  msgstr ""
580
 
581
+ #: wpc-smart-wishlist.php:1356
582
  msgid "Save"
583
  msgstr ""
584
 
585
+ #: wpc-smart-wishlist.php:1369
586
+ #: wpc-smart-wishlist.php:1374
587
+ #: wpc-smart-wishlist.php:1890
588
  msgid "Continue shopping"
589
  msgstr ""
590
 
591
+ #: wpc-smart-wishlist.php:1378
592
  msgid "Menu item label"
593
  msgstr ""
594
 
595
+ #: wpc-smart-wishlist.php:1391
596
  msgid "Primary wishlist name"
597
  msgstr ""
598
 
599
+ #: wpc-smart-wishlist.php:1400
600
+ #: wpc-smart-wishlist.php:1405
601
+ #: wpc-smart-wishlist.php:1906
602
  msgid "Manage wishlists"
603
  msgstr ""
604
 
605
+ #: wpc-smart-wishlist.php:1409
606
  msgid "Set default"
607
  msgstr ""
608
 
609
+ #: wpc-smart-wishlist.php:1414
610
+ #: wpc-smart-wishlist.php:1943
611
  msgid "set default"
612
  msgstr ""
613
 
614
+ #: wpc-smart-wishlist.php:1418
615
  msgid "Default"
616
  msgstr ""
617
 
618
+ #: wpc-smart-wishlist.php:1423
619
+ #: wpc-smart-wishlist.php:1941
620
  msgid "default"
621
  msgstr ""
622
 
623
+ #: wpc-smart-wishlist.php:1427
624
  msgid "Delete"
625
  msgstr ""
626
 
627
+ #: wpc-smart-wishlist.php:1432
628
+ #: wpc-smart-wishlist.php:1949
629
  msgid "delete"
630
  msgstr ""
631
 
632
+ #: wpc-smart-wishlist.php:1436
633
  msgid "Wishlist name placeholder"
634
  msgstr ""
635
 
636
+ #: wpc-smart-wishlist.php:1441
637
+ #: wpc-smart-wishlist.php:1960
638
  msgid "New Wishlist"
639
  msgstr ""
640
 
641
+ #: wpc-smart-wishlist.php:1445
642
  msgid "Add new wishlist"
643
  msgstr ""
644
 
645
+ #: wpc-smart-wishlist.php:1450
646
+ #: wpc-smart-wishlist.php:1962
647
  msgid "Add New Wishlist"
648
  msgstr ""
649
 
650
+ #: wpc-smart-wishlist.php:1454
651
  msgid "Message"
652
  msgstr ""
653
 
654
+ #: wpc-smart-wishlist.php:1458
655
  msgid "Added to the wishlist"
656
  msgstr ""
657
 
658
+ #: wpc-smart-wishlist.php:1467
659
  msgid "Already in the wishlist"
660
  msgstr ""
661
 
662
+ #: wpc-smart-wishlist.php:1476
663
  msgid "Removed from wishlist"
664
  msgstr ""
665
 
666
+ #: wpc-smart-wishlist.php:1485
667
  msgid "Empty wishlist confirm"
668
  msgstr ""
669
 
670
+ #: wpc-smart-wishlist.php:1490
671
+ #: wpc-smart-wishlist.php:1517
672
+ #: wpc-smart-wishlist.php:1622
673
+ #: wpc-smart-wishlist.php:1623
674
  msgid "This action cannot be undone. Are you sure?"
675
  msgstr ""
676
 
677
+ #: wpc-smart-wishlist.php:1494
678
  msgid "Empty wishlist notice"
679
  msgstr ""
680
 
681
+ #: wpc-smart-wishlist.php:1503
682
  msgid "Empty wishlist"
683
  msgstr ""
684
 
685
+ #: wpc-smart-wishlist.php:1512
686
  msgid "Delete wishlist confirm"
687
  msgstr ""
688
 
689
+ #: wpc-smart-wishlist.php:1521
690
  msgid "Product does not exist"
691
  msgstr ""
692
 
693
+ #: wpc-smart-wishlist.php:1530
694
  msgid "Need to login"
695
  msgstr ""
696
 
697
+ #: wpc-smart-wishlist.php:1539
698
  msgid "Copied wishlist link"
699
  msgstr ""
700
 
701
+ #: wpc-smart-wishlist.php:1544
702
+ #: wpc-smart-wishlist.php:1624
703
  msgid "Copied the wishlist link:"
704
  msgstr ""
705
 
706
+ #: wpc-smart-wishlist.php:1548
707
  msgid "Have an error"
708
  msgstr ""
709
 
710
+ #: wpc-smart-wishlist.php:1667
711
  msgid "Community support"
712
  msgstr ""
713
 
714
+ #: wpc-smart-wishlist.php:2264
715
+ #: wpc-smart-wishlist.php:2267
716
+ #: wpc-smart-wishlist.php:2331
717
+ #: wpc-smart-wishlist.php:2334
718
  msgid "%s product"
719
  msgid_plural "%s products"
720
  msgstr[0] ""
721
  msgstr[1] ""
722
 
723
+ #: wpc-smart-wishlist.php:2266
724
+ #: wpc-smart-wishlist.php:2333
725
  msgid "Guest"
726
  msgstr ""
727
 
728
+ #: wpc-smart-wishlist.php:2281
729
+ #: wpc-smart-wishlist.php:2310
730
  msgid "Edit"
731
  msgstr ""
732
 
733
+ #: wpc-smart-wishlist.php:2281
734
  msgid "See in wishlist"
735
  msgstr ""
736
 
737
+ #: wpc-smart-wishlist.php:2289
738
  msgid "Empty Wishlist"
739
  msgstr ""
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://wpclever.net
4
  Tags: woocommerce, woo, wpc, smart, wishlist, wish list
5
  Requires at least: 4.0
6
  Tested up to: 6.0
7
- Stable tag: 4.2.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -106,6 +106,9 @@ Example:
106
 
107
  == Changelog ==
108
 
 
 
 
109
  = 4.2.3 =
110
  * Fixed: Notice on settings page
111
 
4
  Tags: woocommerce, woo, wpc, smart, wishlist, wish list
5
  Requires at least: 4.0
6
  Tested up to: 6.0
7
+ Stable tag: 4.3.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
106
 
107
  == Changelog ==
108
 
109
+ = 4.3.0 =
110
+ * Added: Filter hook 'woosw_fragments'
111
+
112
  = 4.2.3 =
113
  * Fixed: Notice on settings page
114
 
wpc-smart-wishlist.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WPC Smart Wishlist for WooCommerce
4
  Plugin URI: https://wpclever.net/
5
  Description: WPC Smart Wishlist is a simple but powerful tool that can help your customer save products for buy later.
6
- Version: 4.2.3
7
  Author: WPClever
8
  Author URI: https://wpclever.net
9
  Text Domain: woo-smart-wishlist
@@ -16,7 +16,7 @@ WC tested up to: 6.7
16
 
17
  defined( 'ABSPATH' ) || exit;
18
 
19
- ! defined( 'WOOSW_VERSION' ) && define( 'WOOSW_VERSION', '4.2.3' );
20
  ! defined( 'WOOSW_FILE' ) && define( 'WOOSW_FILE', __FILE__ );
21
  ! defined( 'WOOSW_URI' ) && define( 'WOOSW_URI', plugin_dir_url( __FILE__ ) );
22
  ! defined( 'WOOSW_DIR' ) && define( 'WOOSW_DIR', plugin_dir_path( __FILE__ ) );
@@ -98,6 +98,10 @@ if ( ! function_exists( 'woosw_init' ) ) {
98
  add_action( 'wp_ajax_wishlist_load_count', array( $this, 'wishlist_load_count' ) );
99
  add_action( 'wp_ajax_nopriv_wishlist_load_count', array( $this, 'wishlist_load_count' ) );
100
 
 
 
 
 
101
  // link
102
  add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
103
  add_filter( 'plugin_row_meta', array( $this, 'row_meta' ), 10, 2 );
@@ -308,6 +312,11 @@ if ( ! function_exists( 'woosw_init' ) ) {
308
 
309
  $return['status'] = 1;
310
  $return['count'] = count( $products );
 
 
 
 
 
311
 
312
  if ( get_option( 'woosw_button_action', 'list' ) === 'list' ) {
313
  $return['content'] = self::wishlist_content( $key );
@@ -322,7 +331,6 @@ if ( ! function_exists( 'woosw_init' ) ) {
322
  do_action( 'woosw_add', $product_id, $key );
323
 
324
  wp_send_json( $return );
325
- wp_die();
326
  }
327
 
328
  function wishlist_remove() {
@@ -350,6 +358,11 @@ if ( ! function_exists( 'woosw_init' ) ) {
350
  $return['count'] = count( $products );
351
  $return['status'] = 1;
352
  $return['notice'] = self::localization( 'removed_message', esc_html__( 'Product has been removed from the Wishlist.', 'woo-smart-wishlist' ) );
 
 
 
 
 
353
 
354
  if ( empty( $products ) ) {
355
  $return['content'] = self::wishlist_content( $key, self::localization( 'empty_message', esc_html__( 'There are no products on the Wishlist!', 'woo-smart-wishlist' ) ) ) . '</div>';
@@ -366,7 +379,6 @@ if ( ! function_exists( 'woosw_init' ) ) {
366
  do_action( 'woosw_remove', $product_id, $key );
367
 
368
  wp_send_json( $return );
369
- wp_die();
370
  }
371
 
372
  function wishlist_empty() {
@@ -397,12 +409,16 @@ if ( ! function_exists( 'woosw_init' ) ) {
397
  $return['count'] = 0;
398
  $return['notice'] = self::localization( 'empty_notice', esc_html__( 'All products have been removed from the Wishlist!', 'woo-smart-wishlist' ) );
399
  $return['content'] = self::wishlist_content( $key, self::localization( 'empty_message', esc_html__( 'There are no products on the Wishlist!', 'woo-smart-wishlist' ) ) );
 
 
 
 
 
400
  }
401
 
402
  do_action( 'woosw_empty', $key );
403
 
404
  wp_send_json( $return );
405
- wp_die();
406
  }
407
 
408
  function wishlist_load() {
@@ -422,12 +438,16 @@ if ( ! function_exists( 'woosw_init' ) ) {
422
  $return['status'] = 1;
423
  $return['count'] = count( $products );
424
  $return['content'] = self::wishlist_content( $key );
 
 
 
 
 
425
  }
426
 
427
  do_action( 'woosw_load', $key );
428
 
429
  wp_send_json( $return );
430
- wp_die();
431
  }
432
 
433
  function wishlist_load_count() {
@@ -450,7 +470,6 @@ if ( ! function_exists( 'woosw_init' ) ) {
450
  do_action( 'wishlist_load_count', $key );
451
 
452
  wp_send_json( $return );
453
- wp_die();
454
  }
455
 
456
  function add_note() {
@@ -565,7 +584,7 @@ if ( ! function_exists( 'woosw_init' ) ) {
565
 
566
  // set cookie
567
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
568
- $httponly = apply_filters( 'woosw_cookie_httponly', true );
569
 
570
  wc_setcookie( 'woosw_key', $key, time() + 604800, $secure, $httponly );
571
 
@@ -574,10 +593,14 @@ if ( ! function_exists( 'woosw_init' ) ) {
574
  $return['content'] = ob_get_clean();
575
  $return['count'] = $count;
576
  $return['products'] = array_keys( $products );
 
 
 
 
 
577
  }
578
 
579
  wp_send_json( $return );
580
- wp_die();
581
  }
582
 
583
  function add_button() {
@@ -1109,6 +1132,7 @@ if ( ! function_exists( 'woosw_init' ) ) {
1109
  This feature is only available on the Premium Version. Click <a
1110
  href="https://wpclever.net/downloads/smart-wishlist?utm_source=pro&utm_medium=woosw&utm_campaign=wporg"
1111
  target="_blank">here</a> to buy, just $29.
 
1112
  </td>
1113
  </tr>
1114
  <tr>
@@ -1581,7 +1605,10 @@ if ( ! function_exists( 'woosw_init' ) ) {
1581
  wp_add_inline_style( 'woosw-frontend', $custom_css );
1582
 
1583
  // main js
1584
- wp_enqueue_script( 'woosw-frontend', WOOSW_URI . 'assets/js/frontend.js', array( 'jquery' ), WOOSW_VERSION, true );
 
 
 
1585
 
1586
  // localize
1587
  wp_localize_script( 'woosw-frontend', 'woosw_vars', array(
@@ -1756,6 +1783,14 @@ if ( ! function_exists( 'woosw_init' ) ) {
1756
  return apply_filters( 'woosw_wishlist_items', ob_get_clean(), $key, $products );
1757
  }
1758
 
 
 
 
 
 
 
 
 
1759
  function nav_menu_items( $items, $args ) {
1760
  $selected = false;
1761
  $saved_menus = get_option( 'woosw_menus', array() );
@@ -1788,13 +1823,16 @@ if ( ! function_exists( 'woosw_init' ) ) {
1788
  }
1789
 
1790
  if ( $selected ) {
1791
- $menu_item = '<li class="' . esc_attr( apply_filters( 'woosw_menu_item_class', 'menu-item woosw-menu-item menu-item-type-woosw' ) ) . '"><a href="' . esc_url( self::get_url() ) . '"><span class="woosw-menu-item-inner" data-count="' . esc_attr( self::get_count() ) . '">' . esc_html( apply_filters( 'woosw_menu_item_label', self::localization( 'menu_label', esc_html__( 'Wishlist', 'woo-smart-wishlist' ) ) ) ) . '</span></a></li>';
1792
- $items .= apply_filters( 'woosw_menu_item', $menu_item );
1793
  }
1794
 
1795
  return $items;
1796
  }
1797
 
 
 
 
 
1798
  function wp_footer() {
1799
  if ( is_admin() ) {
1800
  return;
@@ -2146,7 +2184,7 @@ if ( ! function_exists( 'woosw_init' ) ) {
2146
  }
2147
 
2148
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
2149
- $httponly = apply_filters( 'woosw_cookie_httponly', true );
2150
 
2151
  if ( isset( $_COOKIE['woosw_key'] ) && ! empty( $_COOKIE['woosw_key'] ) ) {
2152
  wc_setcookie( 'woosw_key_ori', trim( sanitize_text_field( $_COOKIE['woosw_key'] ) ), time() + 604800, $secure, $httponly );
@@ -2159,7 +2197,7 @@ if ( ! function_exists( 'woosw_init' ) ) {
2159
  function wp_logout( $user_id ) {
2160
  if ( isset( $_COOKIE['woosw_key_ori'] ) && ! empty( $_COOKIE['woosw_key_ori'] ) ) {
2161
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
2162
- $httponly = apply_filters( 'woosw_cookie_httponly', true );
2163
 
2164
  wc_setcookie( 'woosw_key', trim( sanitize_text_field( $_COOKIE['woosw_key_ori'] ) ), time() + 604800, $secure, $httponly );
2165
  } else {
@@ -2350,6 +2388,25 @@ if ( ! function_exists( 'woosw_init' ) ) {
2350
 
2351
  return $allowed;
2352
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2353
  }
2354
 
2355
  new WPCleverWoosw();
3
  Plugin Name: WPC Smart Wishlist for WooCommerce
4
  Plugin URI: https://wpclever.net/
5
  Description: WPC Smart Wishlist is a simple but powerful tool that can help your customer save products for buy later.
6
+ Version: 4.3.0
7
  Author: WPClever
8
  Author URI: https://wpclever.net
9
  Text Domain: woo-smart-wishlist
16
 
17
  defined( 'ABSPATH' ) || exit;
18
 
19
+ ! defined( 'WOOSW_VERSION' ) && define( 'WOOSW_VERSION', '4.3.0' );
20
  ! defined( 'WOOSW_FILE' ) && define( 'WOOSW_FILE', __FILE__ );
21
  ! defined( 'WOOSW_URI' ) && define( 'WOOSW_URI', plugin_dir_url( __FILE__ ) );
22
  ! defined( 'WOOSW_DIR' ) && define( 'WOOSW_DIR', plugin_dir_path( __FILE__ ) );
98
  add_action( 'wp_ajax_wishlist_load_count', array( $this, 'wishlist_load_count' ) );
99
  add_action( 'wp_ajax_nopriv_wishlist_load_count', array( $this, 'wishlist_load_count' ) );
100
 
101
+ // fragments
102
+ add_action( 'wp_ajax_woosw_get_data', array( $this, 'get_data' ) );
103
+ add_action( 'wp_ajax_nopriv_woosw_get_data', array( $this, 'get_data' ) );
104
+
105
  // link
106
  add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
107
  add_filter( 'plugin_row_meta', array( $this, 'row_meta' ), 10, 2 );
312
 
313
  $return['status'] = 1;
314
  $return['count'] = count( $products );
315
+ $return['data'] = array(
316
+ 'key' => self::get_key(),
317
+ 'ids' => self::get_ids(),
318
+ 'fragments' => self::get_fragments(),
319
+ );
320
 
321
  if ( get_option( 'woosw_button_action', 'list' ) === 'list' ) {
322
  $return['content'] = self::wishlist_content( $key );
331
  do_action( 'woosw_add', $product_id, $key );
332
 
333
  wp_send_json( $return );
 
334
  }
335
 
336
  function wishlist_remove() {
358
  $return['count'] = count( $products );
359
  $return['status'] = 1;
360
  $return['notice'] = self::localization( 'removed_message', esc_html__( 'Product has been removed from the Wishlist.', 'woo-smart-wishlist' ) );
361
+ $return['data'] = array(
362
+ 'key' => self::get_key(),
363
+ 'ids' => self::get_ids(),
364
+ 'fragments' => self::get_fragments(),
365
+ );
366
 
367
  if ( empty( $products ) ) {
368
  $return['content'] = self::wishlist_content( $key, self::localization( 'empty_message', esc_html__( 'There are no products on the Wishlist!', 'woo-smart-wishlist' ) ) ) . '</div>';
379
  do_action( 'woosw_remove', $product_id, $key );
380
 
381
  wp_send_json( $return );
 
382
  }
383
 
384
  function wishlist_empty() {
409
  $return['count'] = 0;
410
  $return['notice'] = self::localization( 'empty_notice', esc_html__( 'All products have been removed from the Wishlist!', 'woo-smart-wishlist' ) );
411
  $return['content'] = self::wishlist_content( $key, self::localization( 'empty_message', esc_html__( 'There are no products on the Wishlist!', 'woo-smart-wishlist' ) ) );
412
+ $return['data'] = array(
413
+ 'key' => self::get_key(),
414
+ 'ids' => self::get_ids(),
415
+ 'fragments' => self::get_fragments(),
416
+ );
417
  }
418
 
419
  do_action( 'woosw_empty', $key );
420
 
421
  wp_send_json( $return );
 
422
  }
423
 
424
  function wishlist_load() {
438
  $return['status'] = 1;
439
  $return['count'] = count( $products );
440
  $return['content'] = self::wishlist_content( $key );
441
+ $return['data'] = array(
442
+ 'key' => self::get_key(),
443
+ 'ids' => self::get_ids(),
444
+ 'fragments' => self::get_fragments(),
445
+ );
446
  }
447
 
448
  do_action( 'woosw_load', $key );
449
 
450
  wp_send_json( $return );
 
451
  }
452
 
453
  function wishlist_load_count() {
470
  do_action( 'wishlist_load_count', $key );
471
 
472
  wp_send_json( $return );
 
473
  }
474
 
475
  function add_note() {
584
 
585
  // set cookie
586
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
587
+ $httponly = apply_filters( 'woosw_cookie_httponly', false );
588
 
589
  wc_setcookie( 'woosw_key', $key, time() + 604800, $secure, $httponly );
590
 
593
  $return['content'] = ob_get_clean();
594
  $return['count'] = $count;
595
  $return['products'] = array_keys( $products );
596
+ $return['data'] = array(
597
+ 'key' => self::get_key(),
598
+ 'ids' => self::get_ids(),
599
+ 'fragments' => self::get_fragments(),
600
+ );
601
  }
602
 
603
  wp_send_json( $return );
 
604
  }
605
 
606
  function add_button() {
1132
  This feature is only available on the Premium Version. Click <a
1133
  href="https://wpclever.net/downloads/smart-wishlist?utm_source=pro&utm_medium=woosw&utm_campaign=wporg"
1134
  target="_blank">here</a> to buy, just $29.
1135
+ </p>
1136
  </td>
1137
  </tr>
1138
  <tr>
1605
  wp_add_inline_style( 'woosw-frontend', $custom_css );
1606
 
1607
  // main js
1608
+ wp_enqueue_script( 'woosw-frontend', WOOSW_URI . 'assets/js/frontend.js', array(
1609
+ 'jquery',
1610
+ 'js-cookie'
1611
+ ), WOOSW_VERSION, true );
1612
 
1613
  // localize
1614
  wp_localize_script( 'woosw-frontend', 'woosw_vars', array(
1783
  return apply_filters( 'woosw_wishlist_items', ob_get_clean(), $key, $products );
1784
  }
1785
 
1786
+ function get_ids( $key = null ) {
1787
+ if ( ! $key ) {
1788
+ $key = self::get_key();
1789
+ }
1790
+
1791
+ return get_option( 'woosw_list_' . $key );
1792
+ }
1793
+
1794
  function nav_menu_items( $items, $args ) {
1795
  $selected = false;
1796
  $saved_menus = get_option( 'woosw_menus', array() );
1823
  }
1824
 
1825
  if ( $selected ) {
1826
+ $items .= self::get_menu_item();
 
1827
  }
1828
 
1829
  return $items;
1830
  }
1831
 
1832
+ function get_menu_item() {
1833
+ return apply_filters( 'woosw_menu_item', '<li class="' . esc_attr( apply_filters( 'woosw_menu_item_class', 'menu-item woosw-menu-item menu-item-type-woosw' ) ) . '"><a href="' . esc_url( self::get_url() ) . '"><span class="woosw-menu-item-inner" data-count="' . esc_attr( self::get_count() ) . '">' . esc_html( apply_filters( 'woosw_menu_item_label', self::localization( 'menu_label', esc_html__( 'Wishlist', 'woo-smart-wishlist' ) ) ) ) . '</span></a></li>' );
1834
+ }
1835
+
1836
  function wp_footer() {
1837
  if ( is_admin() ) {
1838
  return;
2184
  }
2185
 
2186
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
2187
+ $httponly = apply_filters( 'woosw_cookie_httponly', false );
2188
 
2189
  if ( isset( $_COOKIE['woosw_key'] ) && ! empty( $_COOKIE['woosw_key'] ) ) {
2190
  wc_setcookie( 'woosw_key_ori', trim( sanitize_text_field( $_COOKIE['woosw_key'] ) ), time() + 604800, $secure, $httponly );
2197
  function wp_logout( $user_id ) {
2198
  if ( isset( $_COOKIE['woosw_key_ori'] ) && ! empty( $_COOKIE['woosw_key_ori'] ) ) {
2199
  $secure = apply_filters( 'woosw_cookie_secure', wc_site_is_https() && is_ssl() );
2200
+ $httponly = apply_filters( 'woosw_cookie_httponly', false );
2201
 
2202
  wc_setcookie( 'woosw_key', trim( sanitize_text_field( $_COOKIE['woosw_key_ori'] ) ), time() + 604800, $secure, $httponly );
2203
  } else {
2388
 
2389
  return $allowed;
2390
  }
2391
+
2392
+ function get_fragments() {
2393
+ return apply_filters(
2394
+ 'woosw_fragments',
2395
+ array(
2396
+ '.woosw-menu-item' => self::get_menu_item()
2397
+ )
2398
+ );
2399
+ }
2400
+
2401
+ function get_data() {
2402
+ $data = array(
2403
+ 'key' => self::get_key(),
2404
+ 'ids' => self::get_ids(),
2405
+ 'fragments' => self::get_fragments(),
2406
+ );
2407
+
2408
+ wp_send_json( $data );
2409
+ }
2410
  }
2411
 
2412
  new WPCleverWoosw();