Version Description
Release Date - 21 June 2018
- Fixed WooCommerce templates location issue
- Fixed JavaScript condition for products custom attributes
- Improved compatibility with WooCommerce Composite Products plugin
- Improved compatibility with WooCommerce Product Add-ons plugin
- Improved compatibility with WP Super Cache, W3 Total Cache, WP Rocket plugins
Download this release
Release Info
Developer | templateinvaders |
Plugin | WooCommerce Wishlist Plugin |
Version | 1.7.2 |
Comparing to | |
See all releases |
Code changes from version 1.7.1 to 1.7.2
- asset/js/public.js +4 -4
- asset/js/public.min.js +1 -1
- includes/view.helper.php +1 -1
- languages/ti-woocommerce-wishlist.pot +21 -21
- public/tinvwl.class.php +1 -1
- public/wishlist/view.class.php +1 -1
- readme.txt +12 -7
- ti-woocommerce-wishlist.php +2 -2
- tinv-wishlists-function-integration.php +23 -152
- tinv-wishlists-function.php +3 -4
- views/wizard/finish.php +2 -2
asset/js/public.js
CHANGED
@@ -22,7 +22,7 @@
|
|
22 |
$(this).appendTo('body > .tinv-wishlist');
|
23 |
},
|
24 |
onCreateWishList: function (wishlist) {
|
25 |
-
$(this).append($('<option>').html(wishlist.title).
|
26 |
},
|
27 |
onSelectWishList: function () {
|
28 |
},
|
@@ -84,7 +84,7 @@
|
|
84 |
$.each(WList, function (k, wishlist) {
|
85 |
text.append($('<li>').html($('<a>').html(wishlist.title).attr({
|
86 |
href: wishlist.url
|
87 |
-
})).
|
88 |
});
|
89 |
break;
|
90 |
}
|
@@ -202,7 +202,7 @@
|
|
202 |
product_action: $(this).attr('data-tinv-wl-action') || 'addto'
|
203 |
},
|
204 |
a = this;
|
205 |
-
$(a).closest('form.cart[method=post], .
|
206 |
var name_elm = $(this).attr('name'),
|
207 |
type_elm = $(this).attr('type'),
|
208 |
value_elm = $(this).val(),
|
@@ -229,7 +229,7 @@
|
|
229 |
return o2;
|
230 |
}
|
231 |
};
|
232 |
-
if ('button' === type_elm) {
|
233 |
return;
|
234 |
}
|
235 |
while (/^(.+)\[([^\[\]]*?)\]$/.test(name_elm) && 0 < count) {
|
22 |
$(this).appendTo('body > .tinv-wishlist');
|
23 |
},
|
24 |
onCreateWishList: function (wishlist) {
|
25 |
+
$(this).append($('<option>').html(wishlist.title).val(wishlist.ID).toggleClass('tinv_in_wishlist', wishlist.in));
|
26 |
},
|
27 |
onSelectWishList: function () {
|
28 |
},
|
84 |
$.each(WList, function (k, wishlist) {
|
85 |
text.append($('<li>').html($('<a>').html(wishlist.title).attr({
|
86 |
href: wishlist.url
|
87 |
+
})).val(wishlist.ID));
|
88 |
});
|
89 |
break;
|
90 |
}
|
202 |
product_action: $(this).attr('data-tinv-wl-action') || 'addto'
|
203 |
},
|
204 |
a = this;
|
205 |
+
$(a).closest('form.cart[method=post], .tinvwl-loop-button-wrapper').find('input, select, textarea').each(function () {
|
206 |
var name_elm = $(this).attr('name'),
|
207 |
type_elm = $(this).attr('type'),
|
208 |
value_elm = $(this).val(),
|
229 |
return o2;
|
230 |
}
|
231 |
};
|
232 |
+
if ('button' === type_elm || 'undefined' == typeof name_elm || name_elm.substr(0, 10) == "attribute_") {
|
233 |
return;
|
234 |
}
|
235 |
while (/^(.+)\[([^\[\]]*?)\]$/.test(name_elm) && 0 < count) {
|
asset/js/public.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){t.fn.tinvwl_to_wishlist=function(i){var n={api_url:window.location.href,text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(i){t(this).append(t("<option>").html(i.title).attr("value",i.ID).toggleClass("tinv_in_wishlist",i.in))},onSelectWishList:function(){},onDialogShow:function(){t(this).addClass("tinv-modal-open")},onDialogHide:function(){t(this).removeClass("tinv-modal-open")},onInited:function(){},onClick:function(){if(t(this).is(".disabled-add-wishlist"))return!1;this.tinvwl_dialog?this.tinvwl_dialog.show_list.call(this):e.onActionProduct.call(this)},onPrepareDataAction:function(){},filterProductAlreadyIn:function(i){i=i||[];var n={};return t("form.cart[method=post], .woocommerce-variation-add-to-cart").find("input, select").each(function(){var i=t(this).attr("name"),e=t(this).attr("type"),o=t(this).val();"checkbox"===e||"radio"===e?t(this).is(":checked")&&(n["form"+i]=o):n["form"+i]=o}),n=n.formvariation_id,i.filter(function(t){if("object"==typeof t.in&&"string"==typeof n){var i=parseInt(n);return 0<=t.in.indexOf(i)}return t.in})},onMultiProductAlreadyIn:function(i){i=i||[];i=e.onPrepareList.call(i)||i,i=e.filterProductAlreadyIn.call(this,i)||i,t(this).parent().parent().find(".already-in").remove();var n="";switch(i.length){case 0:break;default:n=t("<ul>");t.each(i,function(i,e){n.append(t("<li>").html(t("<a>").html(e.title).attr({href:e.url})).attr("value",e.ID))})}n.length&&t(this).closest(".tinv-modal-inner").find("img").after(t("<div>").addClass("already-in").html(e.text_already_in+" ").append(n))},onAction:{redirect:function(t){e.redirectTimer&&clearTimeout(e.redirectTimer),e.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(i){t(this).attr("data-tinv-wl-list",i)},msg:function(i){if(!i)return!1;var n=t(i).eq(0);t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t("body > .tinv-wishlist").append(n),n.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),n.remove(),e.redirectTimer&&clearTimeout(e.redirectTimer)})},status:function(i){i&&t(this).addClass("tinvwl-product-in-list")},removed:function(i){i&&t(this).removeClass("tinvwl-product-in-list").removeClass("tinvwl-product-make-remove").attr("data-tinv-wl-action","addto")},make_remove:function(i){t(this).toggleClass("tinvwl-product-make-remove",i).attr("data-tinv-wl-action",i?"remove":"addto")},fragments:function(i){if("undefined"==typeof wc_cart_fragments_params)return t.each(i,function(i,n){t(i).replaceWith(n)}),!1;var n;try{n="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("wc","test"),window.sessionStorage.removeItem("wc"),window.localStorage.setItem("wc","test"),window.localStorage.removeItem("wc")}catch(t){n=!1}if(n)try{var e=t.parseJSON(sessionStorage.getItem(wc_cart_fragments_params.fragment_name)),o=wc_cart_fragments_params.ajax_url.toString()+"-wc_cart_hash",a=sessionStorage.getItem(o),l=Cookies.get("woocommerce_cart_hash"),s=sessionStorage.getItem("wc_cart_created");if(null!==a&&void 0!==a&&""!==a||(a=""),null!==l&&void 0!==l&&""!==l||(l=""),a&&(null===s||void 0===s||""===s))throw"No cart_created";if(t.each(i,function(t,i){e[t]=i}),localStorage.setItem(o,localStorage.getItem(o)+(new Date).getTime()),sessionStorage.setItem(o,sessionStorage.getItem(o)+(new Date).getTime()),sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(e)),!e||!e["div.widget_shopping_cart_content"]||a!==l)throw"No fragment";t.each(e,function(i,n){t(i).replaceWith(n)}),t(document.body).trigger("wc_fragments_loaded")}catch(i){t(document.body).trigger("wc_fragment_refresh")}}},onActionProduct:function(i,n){var o={form:{},tinv_wishlist_id:i||"",tinv_wishlist_name:n||"",product_type:t(this).attr("data-tinv-wl-producttype"),product_id:t(this).attr("data-tinv-wl-product")||0,product_variation:t(this).attr("data-tinv-wl-productvariation")||0,product_action:t(this).attr("data-tinv-wl-action")||"addto"},a=this;t(a).closest("form.cart[method=post], .woocommerce-variation-add-to-cart, .tinvwl-loop-button-wrapper").find("input, select, textarea").each(function(){var i=t(this).attr("name"),n=t(this).attr("type"),e=t(this).val(),a=10,l=function(t,i){if("object"==typeof i){void 0===t&&(t={});for(var n in i)if(""===n){var e=-1;for(e in t)e=e;t[e=parseInt(e)+1]=l(t[n],i[n])}else t[n]=l(t[n],i[n]);return t}return i};if("button"!==n){for(;/^(.+)\[([^\[\]]*?)\]$/.test(i)&&0<a;){var s=i.match(/^(.+)\[([^\[\]]*?)\]$/);if(3===s.length){var r={};r[s[2]]=e,e=r}i=s[1],a--}"checkbox"===n||"radio"===n?t(this).is(":checked")&&(e.length||"object"==typeof e||(e=!0),o.form[i]=l(o.form[i],e)):o.form[i]=l(o.form[i],e)}}),o=e.onPrepareDataAction.call(a,o)||o,t.post(e.api_url,o,function(t){if(e.onDialogHide.call(a.tinvwl_dialog),"object"==typeof t)for(var i in t)"function"==typeof e.onAction[i]&&e.onAction[i].call(a,t[i]);else"function"==typeof e.onAction.msg&&e.onAction.msg.call(a,t)})}},e=t.extend(!0,{},n,i);return t(this).each(function(){if(!t(this).attr("data-tinv-wl-list"))return!1;if(e.dialogbox&&e.dialogbox.length&&(this.tinvwl_dialog=e.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=e.onGetDialogBox.call(this)),!this.tinvwl_dialog){var i=t(this).nextAll(e.class.dialogbox).eq(0);i.length&&(this.tinvwl_dialog=i)}if(this.tinvwl_dialog){e.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(i){var n=t(this).find(e.class.select).eq(0);t(this).find(e.class.newtitle).hide().val(""),n.html(""),t.each(i,function(t,i){e.onCreateWishList.call(n,i)}),e.text_create&&e.onCreateWishList.call(n,{ID:"",title:e.text_create,in:!1}),e.onMultiProductAlreadyIn.call(n,i),e.onSelectWishList.call(n,i),t(this).find(e.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var i=t.parseJSON(t(this).attr("data-tinv-wl-list"))||[];i.length?(i=e.onPrepareList.call(i)||i,this.tinvwl_dialog.update_list(i),e.onDialogShow.call(this.tinvwl_dialog)):e.onActionProduct.call(this)});var n=this;t(this.tinvwl_dialog).find(e.class.dialogbutton).off("click").on("click",function(){var i,o=t(n.tinvwl_dialog).find(e.class.select),a=t(n.tinvwl_dialog).find(e.class.newtitle);o.val()||a.val()?e.onActionProduct.call(n,o.val(),a.val()):((i=a.is(":visible")?a:o).addClass("empty-name-wishlist"),window.setTimeout(function(){i.removeClass("empty-name-wishlist")},1e3))})}t(this).off("click").on("click",e.onClick),e.onInited.call(this,e)})},t(document).ready(function(){t("body").on("click",".tinvwl_add_to_wishlist_button",function(i){if(t(this).is(".disabled-add-wishlist"))return i.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);t(this).is(".inited-add-wishlist")||t(this).tinvwl_to_wishlist({onInited:function(i){t(this).addClass("inited-add-wishlist"),i.onClick.call(this)}})}),t(".tinvwl_move_product_button").tinvwl_to_wishlist({class:{dialogbox:".tinvwl_wishlist_move",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_move"},onPrepareDataAction:function(i){return i.tinv_from_wishlist_id=t(this).attr("data-tinv-wl"),i.tinv_to_wishlist_id=i.tinv_wishlist_id,i.tinv_wishlist_name||(i.tinv_wishlist_name="-"),delete i.tinv_wishlist_id,i},onPrepareList:function(){return this.filter(function(t){return!t.hide})},onAction:{redirect:function(t){return window.location.href=t}}}),t(".global-cb").on("click",function(){t(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",t(this).is(":checked"))})})}(jQuery),function(t){t.fn.tinvwl_break_submit=function(i){var n={selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return t(this).val()},rule:function(){var i=t(this).parents("form").eq(0).find(e.selector),n=e.invert;return 0===i.length?e.ifempty:(i.each(function(){n&&!e.invert||!n&&e.invert||(n=Boolean(e.validate.call(t(this))))}),n)}},e=t.extend(!0,{},n,i);return t(this).each(function(){t(this).on("click",function(i){e.rule.call(t(this))||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),i.preventDefault())})})},t(document).ready(function(){t(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),t(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return t(this).is(":checked")}})})}(jQuery),function(t){t(".variations_form").each(function(){var i=t(this),n=i.find(".tinvwl_add_to_wishlist_button");n.length&&i.on("hide_variation",function(t){t.preventDefault(),n.addClass("disabled-add-wishlist")}).on("show_variation",function(t,i,e){var o=JSON.parse(n.attr("data-tinv-wl-list")),a=!1,l="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var s in o)o[s].hasOwnProperty("in")&&Array.isArray(o[s].in)&&-1<(o[s].in||[]).indexOf(i.variation_id)&&(a=!0);n.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&l).attr("data-tinv-wl-action",a&&l?"remove":"addto"),t.preventDefault(),n.removeClass("disabled-add-wishlist")})})}(jQuery),function(t){t(document).ready(function(){t.fn.tinvwl_modal=function(i){var n={showClass:"tinv-modal-open",modal:".tinv-modal",onPrepare:function(){t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t(this).appendTo("body > .tinv-wishlist")}},e=t.extend(!0,{},n,i);return t(this).each(function(){var i=t(this),n=i.next(e.modal);e.onPrepare.call(n),i.on("click",function(){n.addClass(e.showClass)})})},t(".tinv-modal-btn").tinvwl_modal({}),t("#tinvwl_manage_actions, #tinvwl_product_actions").addClass("form-control").parent().wrapInner('<div class="tinvwl-input-group tinvwl-no-full">').find("button").wrap('<span class="tinvwl-input-group-btn">'),t(".tinv-lists-nav").each(function(){t.trim(t(this).html()).length||t(this).remove()}),t("body").on("click",".social-buttons .social[title!=email]",function(i){var n=window.open(t(this).attr("href"),t(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");n&&(n.focus(),i.preventDefault())}),t(".tinvwl-select-all").on("click",function(i){i.preventDefault(),t(this).parent().parent().find('ul li input[type="checkbox"]').attr("checked",!0)}),t(".tinvwl-select-none").on("click",function(i){i.preventDefault(),t(this).parent().parent().find('ul li input[type="checkbox"]').attr("checked",!1)}),t("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(i){i.preventDefault(),t(this).parents(".tinv-modal:first").removeClass("tinv-modal-open")}),t("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(i){t(this).data("url")&&(i.preventDefault(),window.location=t(this).data("url"))});var i=t(".tinv-wishlist .navigation-button");i.length&&i.each(function(){var i=t(this).find("> li");i.length<5&&i.parent().addClass("tinvwl-btns-count-"+i.length)}),t(".tinv-login .showlogin").unbind("click").on("click",function(i){i.preventDefault(),t(this).closest(".tinv-login").find(".login").toggle()}),t(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){t(this).toggle(!!t(this).children().not(".look_in").length||!!t(this).children(".look_in").children().length)})}),t(document.body).on("wc_fragments_refreshed wc_fragments_loaded",function(){t(".wishlist_products_counter").toggleClass("wishlist-counter-with-products","0"!=t(".wishlist_products_counter_number").html())}),t(window).on("load",function(){t(".tinv-wishlist.woocommerce").length&&t(".woocommerce-message").length&&(t(document.body).on("wc_fragments_refreshed.wishlist",function(){if("undefined"==typeof wc_cart_fragments_params)return!1;cart_hash_key=wc_cart_fragments_params.ajax_url.toString()+"-wc_cart_hash",localStorage.setItem(cart_hash_key,localStorage.getItem(cart_hash_key)+(new Date).getTime()),sessionStorage.setItem(cart_hash_key,sessionStorage.getItem(cart_hash_key)+(new Date).getTime()),t(document.body).off("wc_fragments_refreshed.wishlist")}),t(document.body).trigger("updated_wc_div"))})}(jQuery);
|
1 |
+
!function(t){t.fn.tinvwl_to_wishlist=function(i){var n={api_url:window.location.href,text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(i){t(this).append(t("<option>").html(i.title).val(i.ID).toggleClass("tinv_in_wishlist",i.in))},onSelectWishList:function(){},onDialogShow:function(){t(this).addClass("tinv-modal-open")},onDialogHide:function(){t(this).removeClass("tinv-modal-open")},onInited:function(){},onClick:function(){if(t(this).is(".disabled-add-wishlist"))return!1;this.tinvwl_dialog?this.tinvwl_dialog.show_list.call(this):e.onActionProduct.call(this)},onPrepareDataAction:function(){},filterProductAlreadyIn:function(i){i=i||[];var n={};return t("form.cart[method=post], .woocommerce-variation-add-to-cart").find("input, select").each(function(){var i=t(this).attr("name"),e=t(this).attr("type"),o=t(this).val();"checkbox"===e||"radio"===e?t(this).is(":checked")&&(n["form"+i]=o):n["form"+i]=o}),n=n.formvariation_id,i.filter(function(t){if("object"==typeof t.in&&"string"==typeof n){var i=parseInt(n);return 0<=t.in.indexOf(i)}return t.in})},onMultiProductAlreadyIn:function(i){i=i||[];i=e.onPrepareList.call(i)||i,i=e.filterProductAlreadyIn.call(this,i)||i,t(this).parent().parent().find(".already-in").remove();var n="";switch(i.length){case 0:break;default:n=t("<ul>");t.each(i,function(i,e){n.append(t("<li>").html(t("<a>").html(e.title).attr({href:e.url})).val(e.ID))})}n.length&&t(this).closest(".tinv-modal-inner").find("img").after(t("<div>").addClass("already-in").html(e.text_already_in+" ").append(n))},onAction:{redirect:function(t){e.redirectTimer&&clearTimeout(e.redirectTimer),e.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(i){t(this).attr("data-tinv-wl-list",i)},msg:function(i){if(!i)return!1;var n=t(i).eq(0);t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t("body > .tinv-wishlist").append(n),n.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),n.remove(),e.redirectTimer&&clearTimeout(e.redirectTimer)})},status:function(i){i&&t(this).addClass("tinvwl-product-in-list")},removed:function(i){i&&t(this).removeClass("tinvwl-product-in-list").removeClass("tinvwl-product-make-remove").attr("data-tinv-wl-action","addto")},make_remove:function(i){t(this).toggleClass("tinvwl-product-make-remove",i).attr("data-tinv-wl-action",i?"remove":"addto")},fragments:function(i){if("undefined"==typeof wc_cart_fragments_params)return t.each(i,function(i,n){t(i).replaceWith(n)}),!1;var n;try{n="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("wc","test"),window.sessionStorage.removeItem("wc"),window.localStorage.setItem("wc","test"),window.localStorage.removeItem("wc")}catch(t){n=!1}if(n)try{var e=t.parseJSON(sessionStorage.getItem(wc_cart_fragments_params.fragment_name)),o=wc_cart_fragments_params.ajax_url.toString()+"-wc_cart_hash",a=sessionStorage.getItem(o),l=Cookies.get("woocommerce_cart_hash"),s=sessionStorage.getItem("wc_cart_created");if(null!==a&&void 0!==a&&""!==a||(a=""),null!==l&&void 0!==l&&""!==l||(l=""),a&&(null===s||void 0===s||""===s))throw"No cart_created";if(t.each(i,function(t,i){e[t]=i}),localStorage.setItem(o,localStorage.getItem(o)+(new Date).getTime()),sessionStorage.setItem(o,sessionStorage.getItem(o)+(new Date).getTime()),sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(e)),!e||!e["div.widget_shopping_cart_content"]||a!==l)throw"No fragment";t.each(e,function(i,n){t(i).replaceWith(n)}),t(document.body).trigger("wc_fragments_loaded")}catch(i){t(document.body).trigger("wc_fragment_refresh")}}},onActionProduct:function(i,n){var o={form:{},tinv_wishlist_id:i||"",tinv_wishlist_name:n||"",product_type:t(this).attr("data-tinv-wl-producttype"),product_id:t(this).attr("data-tinv-wl-product")||0,product_variation:t(this).attr("data-tinv-wl-productvariation")||0,product_action:t(this).attr("data-tinv-wl-action")||"addto"},a=this;t(a).closest("form.cart[method=post], .tinvwl-loop-button-wrapper").find("input, select, textarea").each(function(){var i=t(this).attr("name"),n=t(this).attr("type"),e=t(this).val(),a=10,l=function(t,i){if("object"==typeof i){void 0===t&&(t={});for(var n in i)if(""===n){var e=-1;for(e in t)e=e;t[e=parseInt(e)+1]=l(t[n],i[n])}else t[n]=l(t[n],i[n]);return t}return i};if("button"!==n&&void 0!==i&&"attribute_"!=i.substr(0,10)){for(;/^(.+)\[([^\[\]]*?)\]$/.test(i)&&0<a;){var s=i.match(/^(.+)\[([^\[\]]*?)\]$/);if(3===s.length){var r={};r[s[2]]=e,e=r}i=s[1],a--}"checkbox"===n||"radio"===n?t(this).is(":checked")&&(e.length||"object"==typeof e||(e=!0),o.form[i]=l(o.form[i],e)):o.form[i]=l(o.form[i],e)}}),o=e.onPrepareDataAction.call(a,o)||o,t.post(e.api_url,o,function(t){if(e.onDialogHide.call(a.tinvwl_dialog),"object"==typeof t)for(var i in t)"function"==typeof e.onAction[i]&&e.onAction[i].call(a,t[i]);else"function"==typeof e.onAction.msg&&e.onAction.msg.call(a,t)})}},e=t.extend(!0,{},n,i);return t(this).each(function(){if(!t(this).attr("data-tinv-wl-list"))return!1;if(e.dialogbox&&e.dialogbox.length&&(this.tinvwl_dialog=e.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=e.onGetDialogBox.call(this)),!this.tinvwl_dialog){var i=t(this).nextAll(e.class.dialogbox).eq(0);i.length&&(this.tinvwl_dialog=i)}if(this.tinvwl_dialog){e.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(i){var n=t(this).find(e.class.select).eq(0);t(this).find(e.class.newtitle).hide().val(""),n.html(""),t.each(i,function(t,i){e.onCreateWishList.call(n,i)}),e.text_create&&e.onCreateWishList.call(n,{ID:"",title:e.text_create,in:!1}),e.onMultiProductAlreadyIn.call(n,i),e.onSelectWishList.call(n,i),t(this).find(e.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var i=t.parseJSON(t(this).attr("data-tinv-wl-list"))||[];i.length?(i=e.onPrepareList.call(i)||i,this.tinvwl_dialog.update_list(i),e.onDialogShow.call(this.tinvwl_dialog)):e.onActionProduct.call(this)});var n=this;t(this.tinvwl_dialog).find(e.class.dialogbutton).off("click").on("click",function(){var i,o=t(n.tinvwl_dialog).find(e.class.select),a=t(n.tinvwl_dialog).find(e.class.newtitle);o.val()||a.val()?e.onActionProduct.call(n,o.val(),a.val()):((i=a.is(":visible")?a:o).addClass("empty-name-wishlist"),window.setTimeout(function(){i.removeClass("empty-name-wishlist")},1e3))})}t(this).off("click").on("click",e.onClick),e.onInited.call(this,e)})},t(document).ready(function(){t("body").on("click",".tinvwl_add_to_wishlist_button",function(i){if(t(this).is(".disabled-add-wishlist"))return i.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);t(this).is(".inited-add-wishlist")||t(this).tinvwl_to_wishlist({onInited:function(i){t(this).addClass("inited-add-wishlist"),i.onClick.call(this)}})}),t(".tinvwl_move_product_button").tinvwl_to_wishlist({class:{dialogbox:".tinvwl_wishlist_move",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_move"},onPrepareDataAction:function(i){return i.tinv_from_wishlist_id=t(this).attr("data-tinv-wl"),i.tinv_to_wishlist_id=i.tinv_wishlist_id,i.tinv_wishlist_name||(i.tinv_wishlist_name="-"),delete i.tinv_wishlist_id,i},onPrepareList:function(){return this.filter(function(t){return!t.hide})},onAction:{redirect:function(t){return window.location.href=t}}}),t(".global-cb").on("click",function(){t(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",t(this).is(":checked"))})})}(jQuery),function(t){t.fn.tinvwl_break_submit=function(i){var n={selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return t(this).val()},rule:function(){var i=t(this).parents("form").eq(0).find(e.selector),n=e.invert;return 0===i.length?e.ifempty:(i.each(function(){n&&!e.invert||!n&&e.invert||(n=Boolean(e.validate.call(t(this))))}),n)}},e=t.extend(!0,{},n,i);return t(this).each(function(){t(this).on("click",function(i){e.rule.call(t(this))||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),i.preventDefault())})})},t(document).ready(function(){t(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),t(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return t(this).is(":checked")}})})}(jQuery),function(t){t(".variations_form").each(function(){var i=t(this),n=i.find(".tinvwl_add_to_wishlist_button");n.length&&i.on("hide_variation",function(t){t.preventDefault(),n.addClass("disabled-add-wishlist")}).on("show_variation",function(t,i,e){var o=JSON.parse(n.attr("data-tinv-wl-list")),a=!1,l="1"==window.tinvwl_add_to_wishlist.simple_flow;for(var s in o)o[s].hasOwnProperty("in")&&Array.isArray(o[s].in)&&-1<(o[s].in||[]).indexOf(i.variation_id)&&(a=!0);n.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&l).attr("data-tinv-wl-action",a&&l?"remove":"addto"),t.preventDefault(),n.removeClass("disabled-add-wishlist")})})}(jQuery),function(t){t(document).ready(function(){t.fn.tinvwl_modal=function(i){var n={showClass:"tinv-modal-open",modal:".tinv-modal",onPrepare:function(){t("body > .tinv-wishlist").length||t("body").append(t("<div>").addClass("tinv-wishlist")),t(this).appendTo("body > .tinv-wishlist")}},e=t.extend(!0,{},n,i);return t(this).each(function(){var i=t(this),n=i.next(e.modal);e.onPrepare.call(n),i.on("click",function(){n.addClass(e.showClass)})})},t(".tinv-modal-btn").tinvwl_modal({}),t("#tinvwl_manage_actions, #tinvwl_product_actions").addClass("form-control").parent().wrapInner('<div class="tinvwl-input-group tinvwl-no-full">').find("button").wrap('<span class="tinvwl-input-group-btn">'),t(".tinv-lists-nav").each(function(){t.trim(t(this).html()).length||t(this).remove()}),t("body").on("click",".social-buttons .social[title!=email]",function(i){var n=window.open(t(this).attr("href"),t(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");n&&(n.focus(),i.preventDefault())}),t(".tinvwl-select-all").on("click",function(i){i.preventDefault(),t(this).parent().parent().find('ul li input[type="checkbox"]').attr("checked",!0)}),t(".tinvwl-select-none").on("click",function(i){i.preventDefault(),t(this).parent().parent().find('ul li input[type="checkbox"]').attr("checked",!1)}),t("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(i){i.preventDefault(),t(this).parents(".tinv-modal:first").removeClass("tinv-modal-open")}),t("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(i){t(this).data("url")&&(i.preventDefault(),window.location=t(this).data("url"))});var i=t(".tinv-wishlist .navigation-button");i.length&&i.each(function(){var i=t(this).find("> li");i.length<5&&i.parent().addClass("tinvwl-btns-count-"+i.length)}),t(".tinv-login .showlogin").unbind("click").on("click",function(i){i.preventDefault(),t(this).closest(".tinv-login").find(".login").toggle()}),t(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){t(this).toggle(!!t(this).children().not(".look_in").length||!!t(this).children(".look_in").children().length)})}),t(document.body).on("wc_fragments_refreshed wc_fragments_loaded",function(){t(".wishlist_products_counter").toggleClass("wishlist-counter-with-products","0"!=t(".wishlist_products_counter_number").html())}),t(window).on("load",function(){t(".tinv-wishlist.woocommerce").length&&t(".woocommerce-message").length&&(t(document.body).on("wc_fragments_refreshed.wishlist",function(){if("undefined"==typeof wc_cart_fragments_params)return!1;cart_hash_key=wc_cart_fragments_params.ajax_url.toString()+"-wc_cart_hash",localStorage.setItem(cart_hash_key,localStorage.getItem(cart_hash_key)+(new Date).getTime()),sessionStorage.setItem(cart_hash_key,sessionStorage.getItem(cart_hash_key)+(new Date).getTime()),t(document.body).off("wc_fragments_refreshed.wishlist")}),t(document.body).trigger("updated_wc_div"))})}(jQuery);
|
includes/view.helper.php
CHANGED
@@ -357,7 +357,7 @@ class TInvWL_View {
|
|
357 |
*/
|
358 |
private static function status_panel() {
|
359 |
return array(
|
360 |
-
sprintf( '<a class="tinvwl-btn grey w-icon md-icon smaller-txt" href="%s"><i class="fati fati-graduation-cap"></i><span class="tinvwl-txt">%s</span></a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist
|
361 |
);
|
362 |
}
|
363 |
|
357 |
*/
|
358 |
private static function status_panel() {
|
359 |
return array(
|
360 |
+
sprintf( '<a class="tinvwl-btn grey w-icon md-icon smaller-txt" href="%s"><i class="fati fati-graduation-cap"></i><span class="tinvwl-txt">%s</span></a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist-free/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=header_documentation&partner=' . TINVWL_UTM_SOURCE, __( 'read documentation', 'ti-woocommerce-wishlist' ) ),
|
361 |
);
|
362 |
}
|
363 |
|
languages/ti-woocommerce-wishlist.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooCommerce Wishlist Plugin\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2018-
|
7 |
"POT-Revision-Date: Sun Apr 10 2016 12:21:06 GMT+0200 (Västeuropa, "
|
8 |
"sommartid)\n"
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
@@ -717,7 +717,7 @@ msgstr ""
|
|
717 |
msgid "Accent Buttons Text Hover Color"
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: admin/settings/upgrade.class.php:34 admin/tinvwl.class.php:
|
721 |
#: views/wizard/finish.php:31
|
722 |
msgid "Upgrade to Premium"
|
723 |
msgstr ""
|
@@ -774,14 +774,14 @@ msgstr ""
|
|
774 |
msgid "Are you sure you want to reset the settings?"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: admin/tinvwl.class.php:
|
778 |
#, php-format
|
779 |
msgid ""
|
780 |
"<code>%1$s</code> version <strong style=\"color:red\">%2$s</strong> is out "
|
781 |
"of date. The core version is <strong style=\"color:red\">%3$s</strong>"
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: admin/tinvwl.class.php:
|
785 |
#, php-format
|
786 |
msgid ""
|
787 |
"<strong>Your theme (%1$s) contains outdated copies of some WooCommerce "
|
@@ -792,7 +792,7 @@ msgid ""
|
|
792 |
"the theme."
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: admin/tinvwl.class.php:
|
796 |
#, php-format
|
797 |
msgid ""
|
798 |
"The \"Add to Wishlist\" button may work improperly in a product type \"%1$s"
|
@@ -1056,11 +1056,11 @@ msgstr ""
|
|
1056 |
msgid "Ready!"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: public/addtowishlist.class.php:
|
1060 |
msgid "Please, login to add products to Wishlist"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: public/addtowishlist.class.php:
|
1064 |
msgid "Login"
|
1065 |
msgstr ""
|
1066 |
|
@@ -1157,11 +1157,11 @@ msgstr ""
|
|
1157 |
msgid "Return to Wishlist"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: public/wishlist/view.class.php:
|
1161 |
msgid "Previous Page"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: public/wishlist/view.class.php:
|
1165 |
msgid "Next Page"
|
1166 |
msgstr ""
|
1167 |
|
@@ -1206,42 +1206,42 @@ msgid "Stock Status"
|
|
1206 |
msgstr ""
|
1207 |
|
1208 |
#: templates/ti-wishlist-user.php:114 templates/ti-wishlist.php:120
|
1209 |
-
#: tinv-wishlists-function-integration.php:
|
1210 |
-
#: tinv-wishlists-function-integration.php:
|
1211 |
-
#: tinv-wishlists-function-integration.php:
|
1212 |
-
#: tinv-wishlists-function-integration.php:
|
1213 |
msgid "In stock"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: tinv-wishlists-function-integration.php:
|
1217 |
msgid "Select options"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: tinv-wishlists-function-integration.php:
|
1221 |
msgid "Note"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: tinv-wishlists-function-integration.php:
|
1225 |
msgid "To"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: tinv-wishlists-function-integration.php:
|
1229 |
msgid "To Email"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: tinv-wishlists-function-integration.php:
|
1233 |
msgid "Address"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: tinv-wishlists-function-integration.php:
|
1237 |
msgid "Reload existing Gift Card"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: tinv-wishlists-function-integration.php:
|
1241 |
msgid "Out of stock"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: tinv-wishlists-function-integration.php:
|
1245 |
msgid "Base price"
|
1246 |
msgstr ""
|
1247 |
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WooCommerce Wishlist Plugin\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2018-06-21 22:22+0700\n"
|
7 |
"POT-Revision-Date: Sun Apr 10 2016 12:21:06 GMT+0200 (Västeuropa, "
|
8 |
"sommartid)\n"
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
717 |
msgid "Accent Buttons Text Hover Color"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: admin/settings/upgrade.class.php:34 admin/tinvwl.class.php:212
|
721 |
#: views/wizard/finish.php:31
|
722 |
msgid "Upgrade to Premium"
|
723 |
msgstr ""
|
774 |
msgid "Are you sure you want to reset the settings?"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: admin/tinvwl.class.php:251
|
778 |
#, php-format
|
779 |
msgid ""
|
780 |
"<code>%1$s</code> version <strong style=\"color:red\">%2$s</strong> is out "
|
781 |
"of date. The core version is <strong style=\"color:red\">%3$s</strong>"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: admin/tinvwl.class.php:277
|
785 |
#, php-format
|
786 |
msgid ""
|
787 |
"<strong>Your theme (%1$s) contains outdated copies of some WooCommerce "
|
792 |
"the theme."
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: admin/tinvwl.class.php:402
|
796 |
#, php-format
|
797 |
msgid ""
|
798 |
"The \"Add to Wishlist\" button may work improperly in a product type \"%1$s"
|
1056 |
msgid "Ready!"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: public/addtowishlist.class.php:174
|
1060 |
msgid "Please, login to add products to Wishlist"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: public/addtowishlist.class.php:176
|
1064 |
msgid "Login"
|
1065 |
msgstr ""
|
1066 |
|
1157 |
msgid "Return to Wishlist"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: public/wishlist/view.class.php:454
|
1161 |
msgid "Previous Page"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: public/wishlist/view.class.php:463
|
1165 |
msgid "Next Page"
|
1166 |
msgstr ""
|
1167 |
|
1206 |
msgstr ""
|
1207 |
|
1208 |
#: templates/ti-wishlist-user.php:114 templates/ti-wishlist.php:120
|
1209 |
+
#: tinv-wishlists-function-integration.php:753
|
1210 |
+
#: tinv-wishlists-function-integration.php:905
|
1211 |
+
#: tinv-wishlists-function-integration.php:1052
|
1212 |
+
#: tinv-wishlists-function-integration.php:1266
|
1213 |
msgid "In stock"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
+
#: tinv-wishlists-function-integration.php:149
|
1217 |
msgid "Select options"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: tinv-wishlists-function-integration.php:462
|
1221 |
msgid "Note"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
+
#: tinv-wishlists-function-integration.php:465
|
1225 |
msgid "To"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
+
#: tinv-wishlists-function-integration.php:468
|
1229 |
msgid "To Email"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: tinv-wishlists-function-integration.php:471
|
1233 |
msgid "Address"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#: tinv-wishlists-function-integration.php:474
|
1237 |
msgid "Reload existing Gift Card"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
+
#: tinv-wishlists-function-integration.php:1205
|
1241 |
msgid "Out of stock"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
+
#: tinv-wishlists-function-integration.php:1611
|
1245 |
msgid "Base price"
|
1246 |
msgstr ""
|
1247 |
|
public/tinvwl.class.php
CHANGED
@@ -154,7 +154,7 @@ class TInvWL_Public_TInvWL {
|
|
154 |
* @return string
|
155 |
*/
|
156 |
function locate_template( $core_file, $template, $template_base ) {
|
157 |
-
$_core_file = tinv_wishlist_locate_template( $template );
|
158 |
if ( empty( $_core_file ) ) {
|
159 |
return $core_file;
|
160 |
}
|
154 |
* @return string
|
155 |
*/
|
156 |
function locate_template( $core_file, $template, $template_base ) {
|
157 |
+
$_core_file = tinv_wishlist_locate_template( $template, $template_base );
|
158 |
if ( empty( $_core_file ) ) {
|
159 |
return $core_file;
|
160 |
}
|
public/wishlist/view.class.php
CHANGED
@@ -196,7 +196,7 @@ class TInvWL_Public_Wishlist_View {
|
|
196 |
return false;
|
197 |
}
|
198 |
|
199 |
-
|
200 |
|
201 |
$is_owner = is_user_logged_in() ? ( get_current_user_id() === $wishlist['author'] ) : $wishlist['is_owner'];
|
202 |
$nonce = filter_input( INPUT_POST, 'wishlist_nonce' );
|
196 |
return false;
|
197 |
}
|
198 |
|
199 |
+
WC_Cache_Helper::set_nocache_constants();
|
200 |
|
201 |
$is_owner = is_user_logged_in() ? ( get_current_user_id() === $wishlist['author'] ) : $wishlist['is_owner'];
|
202 |
$nonce = filter_input( INPUT_POST, 'wishlist_nonce' );
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://templateinvaders.com/?utm_source=wordpressorg&utm_content=d
|
|
4 |
Tags: wishlist, woocommerce, woocommerce wishlist, e-commerce, shop, ecommerce wishlist, shop wishlist, wishlist for Woocommerce
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 1.7.
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -14,7 +14,7 @@ Add Wishlist functionality to your store for free.
|
|
14 |
== Description ==
|
15 |
|
16 |
= GDPR Ready =
|
17 |
-
The WooCommerce Wishlist plugin does not
|
18 |
|
19 |
= Increase Sales and Conversions =
|
20 |
WooCommerce Wishlist is a simple but powerful tool that can help you to convert your site visitors into loyal customers. There are many situations when customers can’t buy a product at this time or simply don’t want. Possibility to save products for later encourages users to return to your site and after all, make a purchase. Adding products to Wishlist is easy and convenient so it may also force your customers to buy even more products than they planned. Users can share their wishlist, for example, to help their friends choose a gift for upcoming holiday and so on. By sharing their Wishlists, they are bringing you, new potential customers. All in all this increasing amount of your site visitors, conversion and as a result sales.
|
@@ -51,7 +51,7 @@ WooCommerce Wishlist is a simple but powerful tool that can help you to convert
|
|
51 |
+ Product variations Support
|
52 |
|
53 |
= COMPATIBILITY WITH MOST USED PLUGINS/ADDONS =
|
54 |
-
We understand that our plugin is not the only one that you are going to use for your WooCommerce store and how it is important for different plugins to work well with each others. That is why we have added compatibility with the most used WooCommerce add-ons: [WooCommerce Bookings](https://woocommerce.com/products/woocommerce-bookings/?aff=3955), [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/?aff=3955), [WooCommerce Composite Products](https://woocommerce.com/products/composite-products/?aff=3955), [WooCommerce Product Bundles](https://woocommerce.com/products/product-bundles/?aff=3955), [WooCommerce Mix and Match](https://woocommerce.com/products/woocommerce-mix-and-match-products/?aff=3955), [WooCommerce Gravity Forms Product Add-Ons](https://woocommerce.com/products/gravity-forms-add-ons/?aff=3955), [WooCommerce Gift Cards](https://wordpress.org/plugins/gift-cards-for-woocommerce/), [WooCommerce TM Extra Product Options](https://codecanyon.net/item/woocommerce-extra-product-options/7908619?ref=olegnax).
|
55 |
It is also very important for any WordPress website to use cache plugins, so we make sure that our WooCommerce Wishlist works well with [WP Rocket](https://wp-rocket.me/), [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/) and [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/) plugins.
|
56 |
|
57 |
= Add to Wishlist button =
|
@@ -65,7 +65,6 @@ You can show/hide any column in wishlist table on wishlist page. So it is for yo
|
|
65 |
WooCommerce Wishlist Plugin comes with over 60 appearance options such as colors, font size, borders, etc. Not enough? You can add your custom CSS styles directly in admin panel.
|
66 |
|
67 |
= Translation Ready =
|
68 |
-
|
69 |
You can easily translate WooCommerce Wishlist Plugin to any language. Simply choose the most convenient way for you: using poEdit tool, [Loco Translate](https://wordpress.org/plugins/loco-translate/), [WP Multilang](https://wordpress.org/plugins/wp-multilang/) or [WPML](https://wpml.org/?aid=9393&affiliate_key=9xzbMQnIyxHE).
|
70 |
|
71 |
= Responsive & Retina Ready =
|
@@ -132,6 +131,15 @@ If you get stuck, you can ask for help in the [Plugin Forum](https://wordpress.o
|
|
132 |
|
133 |
== Changelog ==
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
= 1.7.1 =
|
136 |
*Release Date - 01 June 2018*
|
137 |
|
@@ -493,6 +501,3 @@ You are excited from the "WooCommerce Wishlist" plugin and want to contribute? G
|
|
493 |
== Documentation ==
|
494 |
Full documentation is available [here](https://templateinvaders.com/documentation/ti-woocommerce-wishlist-free/?utm_source=wordpressorg&utm_content=documentation).
|
495 |
|
496 |
-
== Upgrade Notice ==
|
497 |
-
= 1.5 =
|
498 |
-
Improved frontend performance. Added plugin support for [WooCommerce Gift Cards](https://wordpress.org/plugins/gift-cards-for-woocommerce/), [WooCommerce Bookings](https://woocommerce.com/products/woocommerce-bookings/?aff=3955), [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/?aff=3955), [WooCommerce Composite Products](https://woocommerce.com/products/composite-products/?aff=3955), [WooCommerce Product Bundles](https://woocommerce.com/products/product-bundles/?aff=3955), [WooCommerce Mix and Match](https://woocommerce.com/products/woocommerce-mix-and-match-products/?aff=3955), [WooCommerce Gravity Forms Product Add-Ons](https://woocommerce.com/products/gravity-forms-add-ons/?aff=3955).
|
4 |
Tags: wishlist, woocommerce, woocommerce wishlist, e-commerce, shop, ecommerce wishlist, shop wishlist, wishlist for Woocommerce
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 1.7.2
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
14 |
== Description ==
|
15 |
|
16 |
= GDPR Ready =
|
17 |
+
The WooCommerce Wishlist plugin does not collect any personal data from website visitors which makes it GDPR compliant.
|
18 |
|
19 |
= Increase Sales and Conversions =
|
20 |
WooCommerce Wishlist is a simple but powerful tool that can help you to convert your site visitors into loyal customers. There are many situations when customers can’t buy a product at this time or simply don’t want. Possibility to save products for later encourages users to return to your site and after all, make a purchase. Adding products to Wishlist is easy and convenient so it may also force your customers to buy even more products than they planned. Users can share their wishlist, for example, to help their friends choose a gift for upcoming holiday and so on. By sharing their Wishlists, they are bringing you, new potential customers. All in all this increasing amount of your site visitors, conversion and as a result sales.
|
51 |
+ Product variations Support
|
52 |
|
53 |
= COMPATIBILITY WITH MOST USED PLUGINS/ADDONS =
|
54 |
+
We understand that our plugin is not the only one that you are going to use for your WooCommerce store and how it is important for different plugins to work well with each others. That is why we have added compatibility with the most used WooCommerce add-ons: [WooCommerce Bookings](https://woocommerce.com/products/woocommerce-bookings/?aff=3955), [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/?aff=3955), [WooCommerce Composite Products](https://woocommerce.com/products/composite-products/?aff=3955), [WooCommerce Product Bundles](https://woocommerce.com/products/product-bundles/?aff=3955), [WooCommerce Mix and Match](https://woocommerce.com/products/woocommerce-mix-and-match-products/?aff=3955), [WooCommerce Gravity Forms Product Add-Ons](https://woocommerce.com/products/gravity-forms-add-ons/?aff=3955), [WooCommerce Gift Cards](https://wordpress.org/plugins/gift-cards-for-woocommerce/), [WooCommerce TM Extra Product Options](https://codecanyon.net/item/woocommerce-extra-product-options/7908619?ref=olegnax), [WooCommerce Product Add-ons](https://woocommerce.com/products/product-add-ons/?aff=3955).
|
55 |
It is also very important for any WordPress website to use cache plugins, so we make sure that our WooCommerce Wishlist works well with [WP Rocket](https://wp-rocket.me/), [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/) and [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/) plugins.
|
56 |
|
57 |
= Add to Wishlist button =
|
65 |
WooCommerce Wishlist Plugin comes with over 60 appearance options such as colors, font size, borders, etc. Not enough? You can add your custom CSS styles directly in admin panel.
|
66 |
|
67 |
= Translation Ready =
|
|
|
68 |
You can easily translate WooCommerce Wishlist Plugin to any language. Simply choose the most convenient way for you: using poEdit tool, [Loco Translate](https://wordpress.org/plugins/loco-translate/), [WP Multilang](https://wordpress.org/plugins/wp-multilang/) or [WPML](https://wpml.org/?aid=9393&affiliate_key=9xzbMQnIyxHE).
|
69 |
|
70 |
= Responsive & Retina Ready =
|
131 |
|
132 |
== Changelog ==
|
133 |
|
134 |
+
= 1.7.2 =
|
135 |
+
*Release Date - 21 June 2018*
|
136 |
+
|
137 |
+
* Fixed WooCommerce templates location issue
|
138 |
+
* Fixed JavaScript condition for products custom attributes
|
139 |
+
* Improved compatibility with [WooCommerce Composite Products](https://woocommerce.com/products/composite-products/?aff=3955) plugin
|
140 |
+
* Improved compatibility with [WooCommerce Product Add-ons](https://woocommerce.com/products/product-add-ons/?aff=3955) plugin
|
141 |
+
* Improved compatibility with [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/), [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/), [WP Rocket](https://wp-rocket.me/) plugins
|
142 |
+
|
143 |
= 1.7.1 =
|
144 |
*Release Date - 01 June 2018*
|
145 |
|
501 |
== Documentation ==
|
502 |
Full documentation is available [here](https://templateinvaders.com/documentation/ti-woocommerce-wishlist-free/?utm_source=wordpressorg&utm_content=documentation).
|
503 |
|
|
|
|
|
|
ti-woocommerce-wishlist.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: WooCommerce Wishlist Plugin
|
5 |
* Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
|
6 |
* Description: Wishlist functionality for your WooCommerce store.
|
7 |
-
* Version: 1.7.
|
8 |
* Requires at least: 4.5
|
9 |
* Tested up to: 4.9
|
10 |
* WC requires at least: 2.6
|
@@ -41,7 +41,7 @@ if ( ! defined( 'TINVWL_DOMAIN' ) ) {
|
|
41 |
}
|
42 |
|
43 |
if ( ! defined( 'TINVWL_FVERSION' ) ) {
|
44 |
-
define( 'TINVWL_FVERSION', '1.7.
|
45 |
}
|
46 |
|
47 |
if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
|
4 |
* Plugin Name: WooCommerce Wishlist Plugin
|
5 |
* Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
|
6 |
* Description: Wishlist functionality for your WooCommerce store.
|
7 |
+
* Version: 1.7.2
|
8 |
* Requires at least: 4.5
|
9 |
* Tested up to: 4.9
|
10 |
* WC requires at least: 2.6
|
41 |
}
|
42 |
|
43 |
if ( ! defined( 'TINVWL_FVERSION' ) ) {
|
44 |
+
define( 'TINVWL_FVERSION', '1.7.2' );
|
45 |
}
|
46 |
|
47 |
if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
|
tinv-wishlists-function-integration.php
CHANGED
@@ -11,45 +11,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
die;
|
12 |
}
|
13 |
|
14 |
-
if ( ! function_exists( 'tinvwl_rocket_reject_uri' ) ) {
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Disable cache for WP Rocket
|
18 |
-
*
|
19 |
-
* @param array $uri URI.
|
20 |
-
*
|
21 |
-
* @return array
|
22 |
-
*/
|
23 |
-
function tinvwl_rocket_reject_uri( $uri = array() ) {
|
24 |
-
$ids = array(
|
25 |
-
tinv_get_option( 'page', 'wishlist' ),
|
26 |
-
);
|
27 |
-
$pages = $ids;
|
28 |
-
$languages = apply_filters( 'wpml_active_languages', array(), array(
|
29 |
-
'skip_missing' => 0,
|
30 |
-
'orderby' => 'code',
|
31 |
-
) );
|
32 |
-
if ( ! empty( $languages ) ) {
|
33 |
-
foreach ( $ids as $id ) {
|
34 |
-
foreach ( $languages as $l ) {
|
35 |
-
$pages[] = apply_filters( 'wpml_object_id', $id, 'page', true, $l['language_code'] );
|
36 |
-
}
|
37 |
-
}
|
38 |
-
$pages = array_unique( $pages );
|
39 |
-
}
|
40 |
-
$pages = array_filter( $pages );
|
41 |
-
if ( ! empty( $pages ) ) {
|
42 |
-
foreach ( $pages as $page ) {
|
43 |
-
$uri[] = str_replace( get_site_url(), '', get_permalink( $page ) );
|
44 |
-
}
|
45 |
-
}
|
46 |
-
|
47 |
-
return $uri;
|
48 |
-
}
|
49 |
-
|
50 |
-
add_filter( 'rocket_cache_reject_uri', 'tinvwl_rocket_reject_uri' );
|
51 |
-
} // End if().
|
52 |
-
|
53 |
if ( ! function_exists( 'tinvwl_rocket_reject_cookies' ) ) {
|
54 |
|
55 |
/**
|
@@ -68,114 +29,6 @@ if ( ! function_exists( 'tinvwl_rocket_reject_cookies' ) ) {
|
|
68 |
add_filter( 'rocket_cache_reject_cookies', 'tinvwl_rocket_reject_cookies' );
|
69 |
}
|
70 |
|
71 |
-
if ( ! function_exists( 'tinvwl_supercache_reject_uri' ) ) {
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Disable cache for WP Super Cache
|
75 |
-
*
|
76 |
-
* @global array $cache_rejected_uri
|
77 |
-
*
|
78 |
-
* @param string $buffer Intercepted the output of the page.
|
79 |
-
*
|
80 |
-
* @return string
|
81 |
-
*/
|
82 |
-
function tinvwl_supercache_reject_uri( $buffer ) {
|
83 |
-
global $cache_rejected_uri;
|
84 |
-
if ( ! is_null( $cache_rejected_uri ) && is_array( $cache_rejected_uri ) ) {
|
85 |
-
$ids = array(
|
86 |
-
tinv_get_option( 'page', 'wishlist' ),
|
87 |
-
);
|
88 |
-
$pages = $ids;
|
89 |
-
$languages = apply_filters( 'wpml_active_languages', array(), array(
|
90 |
-
'skip_missing' => 0,
|
91 |
-
'orderby' => 'code',
|
92 |
-
) );
|
93 |
-
if ( ! empty( $languages ) ) {
|
94 |
-
foreach ( $ids as $id ) {
|
95 |
-
foreach ( $languages as $l ) {
|
96 |
-
$pages[] = apply_filters( 'wpml_object_id', $id, 'page', true, $l['language_code'] );
|
97 |
-
}
|
98 |
-
}
|
99 |
-
$pages = array_unique( $pages );
|
100 |
-
}
|
101 |
-
$pages = array_filter( $pages );
|
102 |
-
if ( ! empty( $pages ) ) {
|
103 |
-
foreach ( $pages as $page ) {
|
104 |
-
$cache_rejected_uri[] = str_replace( get_site_url(), '', get_permalink( $page ) );
|
105 |
-
}
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
return $buffer;
|
110 |
-
}
|
111 |
-
|
112 |
-
add_filter( 'wp_cache_ob_callback_filter', 'tinvwl_supercache_reject_uri' );
|
113 |
-
} // End if().
|
114 |
-
|
115 |
-
if ( ! function_exists( 'tinvwl_w3total_reject_uri' ) ) {
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Disable cache for W3 Total Cache
|
119 |
-
*/
|
120 |
-
function tinvwl_w3total_reject_uri() {
|
121 |
-
if ( ! function_exists( 'w3tc_pgcache_flush' ) || ! function_exists( 'w3_instance' ) ) {
|
122 |
-
return;
|
123 |
-
}
|
124 |
-
$ids = array(
|
125 |
-
tinv_get_option( 'page', 'wishlist' ),
|
126 |
-
);
|
127 |
-
$pages = $ids;
|
128 |
-
$languages = apply_filters( 'wpml_active_languages', array(), array(
|
129 |
-
'skip_missing' => 0,
|
130 |
-
'orderby' => 'code',
|
131 |
-
) );
|
132 |
-
if ( ! empty( $languages ) ) {
|
133 |
-
foreach ( $ids as $id ) {
|
134 |
-
foreach ( $languages as $l ) {
|
135 |
-
$pages[] = apply_filters( 'wpml_object_id', $id, 'page', true, $l['language_code'] );
|
136 |
-
}
|
137 |
-
}
|
138 |
-
$pages = array_unique( $pages );
|
139 |
-
}
|
140 |
-
$pages = array_filter( $pages );
|
141 |
-
if ( ! empty( $pages ) ) {
|
142 |
-
foreach ( $pages as $i => $page ) {
|
143 |
-
$pages[ $i ] = preg_replace( "/^\//", '', str_replace( get_site_url(), '', get_permalink( $page ) ) ); // @codingStandardsIgnoreLine Squiz.Strings.DoubleQuoteUsage.NotRequired
|
144 |
-
}
|
145 |
-
}
|
146 |
-
$pages = array_unique( $pages );
|
147 |
-
$pages = array_filter( $pages );
|
148 |
-
|
149 |
-
$config = w3_instance( 'W3_Config' );
|
150 |
-
if ( ! empty( $pages ) ) {
|
151 |
-
$sections = array( 'dbcache.reject.uri', 'pgcache.reject.uri' );
|
152 |
-
foreach ( $sections as $section ) {
|
153 |
-
$settings = array_map( 'trim', $config->get_array( $section ) );
|
154 |
-
$changed = false;
|
155 |
-
foreach ( $pages as $page ) {
|
156 |
-
if ( ! in_array( $page, $settings ) ) { // @codingStandardsIgnoreLine WordPress.PHP.StrictInArray.MissingTrueStrict
|
157 |
-
$settings[] = $page;
|
158 |
-
$changed = true;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
if ( $changed ) {
|
162 |
-
$config->set( $section, $settings );
|
163 |
-
$config->save();
|
164 |
-
}
|
165 |
-
}
|
166 |
-
}
|
167 |
-
|
168 |
-
$settings = array_map( 'trim', $config->get_array( 'pgcache.reject.cookie' ) );
|
169 |
-
if ( ! in_array( 'tinv_wishlist', $settings ) ) { // @codingStandardsIgnoreLine WordPress.PHP.StrictInArray.MissingTrueStrict
|
170 |
-
$settings[] = 'tinv_wishlist';
|
171 |
-
$config->set( 'pgcache.reject.cookie', $settings );
|
172 |
-
$config->save();
|
173 |
-
}
|
174 |
-
}
|
175 |
-
|
176 |
-
add_action( 'admin_init', 'tinvwl_w3total_reject_uri' );
|
177 |
-
} // End if().
|
178 |
-
|
179 |
if ( ! function_exists( 'tinvwl_wp_fastest_cache_reject' ) ) {
|
180 |
|
181 |
/**
|
@@ -837,7 +690,7 @@ if ( ! function_exists( 'tinvwl_row_woocommerce_composite_products' ) ) {
|
|
837 |
* Add rows for sub product for WooCommerce Composite Products
|
838 |
*
|
839 |
* @param array $wl_product Wishlist Product.
|
840 |
-
* @param \
|
841 |
*/
|
842 |
function tinvwl_row_woocommerce_composite_products( $wl_product, $product ) {
|
843 |
if ( is_object( $product ) && $product->is_type( 'composite' ) && array_key_exists( 'wccp_component_selection', $wl_product['meta'] ) ) {
|
@@ -868,6 +721,22 @@ if ( ! function_exists( 'tinvwl_row_woocommerce_composite_products' ) ) {
|
|
868 |
$product_image = $composited_product->get_image();
|
869 |
$product_title = $composited_product->get_title();
|
870 |
$product_price = $composited_product->get_price_html();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
871 |
if ( $composited_product->is_visible() ) {
|
872 |
$product_image = sprintf( '<a href="%s">%s</a>', esc_url( $product_url ), $product_image );
|
873 |
$product_title = sprintf( '<a href="%s">%s</a>', esc_url( $product_url ), $product_title );
|
@@ -881,11 +750,11 @@ if ( ! function_exists( 'tinvwl_row_woocommerce_composite_products' ) ) {
|
|
881 |
if ( ! array_key_exists( 'class', $availability ) ) {
|
882 |
$availability['class'] = '';
|
883 |
}
|
884 |
-
$availability_html = empty( $availability['availability'] ) ? '<p class="stock ' . esc_attr( $availability['class'] ) . '"><span><i class="fati fati-check"></i></span><span class="tinvwl-txt">' . esc_html__( 'In stock', 'ti-woocommerce-wishlist' ) . '</span></p>' : '<p class="stock ' . esc_attr( $availability['class'] ) . '"><span><i class="fati fati-times"></i></span><span>' . esc_html( $availability['availability'] ) . '</span></p>';
|
885 |
$row_string = '<tr>';
|
886 |
$row_string .= '<td colspan="2"></td> <td class="product-thumbnail">%2$s</td><td class="product-name">%1$s:<br/>%3$s</td>';
|
887 |
if ( tinv_get_option( 'product_table', 'colm_price' ) ) {
|
888 |
-
$row_string .= '<td class="product-price">%
|
889 |
}
|
890 |
if ( tinv_get_option( 'product_table', 'colm_date' ) ) {
|
891 |
$row_string .= '<td class="product-date"> </td>';
|
@@ -893,6 +762,9 @@ if ( ! function_exists( 'tinvwl_row_woocommerce_composite_products' ) ) {
|
|
893 |
if ( tinv_get_option( 'product_table', 'colm_stock' ) ) {
|
894 |
$row_string .= '<td class="product-stock">%5$s</td>';
|
895 |
}
|
|
|
|
|
|
|
896 |
if ( tinv_get_option( 'product_table', 'add_to_cart' ) ) {
|
897 |
$row_string .= '<td class="product-action"> </td>';
|
898 |
}
|
@@ -1934,12 +1806,11 @@ if ( ! function_exists( 'tinvwl_item_price_woocommerce_product_addons' ) ) {
|
|
1934 |
|
1935 |
if ( class_exists( 'WC_Product_Addons' ) ) {
|
1936 |
|
1937 |
-
$price = 0;
|
1938 |
-
|
1939 |
$product_addons = get_product_addons( $product->get_id() );
|
1940 |
|
1941 |
if ( $product_addons ) {
|
1942 |
|
|
|
1943 |
|
1944 |
foreach ( $product_addons as $addon ) {
|
1945 |
|
11 |
die;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
if ( ! function_exists( 'tinvwl_rocket_reject_cookies' ) ) {
|
15 |
|
16 |
/**
|
29 |
add_filter( 'rocket_cache_reject_cookies', 'tinvwl_rocket_reject_cookies' );
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
if ( ! function_exists( 'tinvwl_wp_fastest_cache_reject' ) ) {
|
33 |
|
34 |
/**
|
690 |
* Add rows for sub product for WooCommerce Composite Products
|
691 |
*
|
692 |
* @param array $wl_product Wishlist Product.
|
693 |
+
* @param \WC_Product_Composite $product Woocommerce Product.
|
694 |
*/
|
695 |
function tinvwl_row_woocommerce_composite_products( $wl_product, $product ) {
|
696 |
if ( is_object( $product ) && $product->is_type( 'composite' ) && array_key_exists( 'wccp_component_selection', $wl_product['meta'] ) ) {
|
721 |
$product_image = $composited_product->get_image();
|
722 |
$product_title = $composited_product->get_title();
|
723 |
$product_price = $composited_product->get_price_html();
|
724 |
+
|
725 |
+
$component_option = $product->get_component_option( $component_id, $composited_product_id );
|
726 |
+
|
727 |
+
if ( $component_option ) {
|
728 |
+
if ( false === $component_option->is_priced_individually() && $composited_product->get_price() == 0 ) {
|
729 |
+
$product_price = '';
|
730 |
+
} elseif ( false === $component_option->get_component()->is_subtotal_visible( 'cart' ) ) {
|
731 |
+
$product_price = '';
|
732 |
+
} elseif ( apply_filters( 'woocommerce_add_composited_cart_item_prices', true ) ) {
|
733 |
+
if ( $product_price ) {
|
734 |
+
$product_price = '<span class="component_table_item_price">' . $product_price . '</span>';
|
735 |
+
}
|
736 |
+
}
|
737 |
+
}
|
738 |
+
|
739 |
+
|
740 |
if ( $composited_product->is_visible() ) {
|
741 |
$product_image = sprintf( '<a href="%s">%s</a>', esc_url( $product_url ), $product_image );
|
742 |
$product_title = sprintf( '<a href="%s">%s</a>', esc_url( $product_url ), $product_title );
|
750 |
if ( ! array_key_exists( 'class', $availability ) ) {
|
751 |
$availability['class'] = '';
|
752 |
}
|
753 |
+
$availability_html = empty( $availability['availability'] ) ? '<p class="stock ' . esc_attr( $availability['class'] ) . '"><span><i class="fati fati-check"></i></span><span class="tinvwl-txt">' . esc_html__( 'In stock', 'ti-woocommerce-wishlist-premium' ) . '</span></p>' : '<p class="stock ' . esc_attr( $availability['class'] ) . '"><span><i class="fati fati-times"></i></span><span>' . esc_html( $availability['availability'] ) . '</span></p>';
|
754 |
$row_string = '<tr>';
|
755 |
$row_string .= '<td colspan="2"></td> <td class="product-thumbnail">%2$s</td><td class="product-name">%1$s:<br/>%3$s</td>';
|
756 |
if ( tinv_get_option( 'product_table', 'colm_price' ) ) {
|
757 |
+
$row_string .= ( $product_price ) ? '<td class="product-price">%4$s × %6$s</td>' : '<td class="product-price">%4$s</td>';
|
758 |
}
|
759 |
if ( tinv_get_option( 'product_table', 'colm_date' ) ) {
|
760 |
$row_string .= '<td class="product-date"> </td>';
|
762 |
if ( tinv_get_option( 'product_table', 'colm_stock' ) ) {
|
763 |
$row_string .= '<td class="product-stock">%5$s</td>';
|
764 |
}
|
765 |
+
if ( tinv_get_option( 'product_table', 'colm_quantity' ) ) {
|
766 |
+
$row_string .= '<td class="product-quantity"> </td>';
|
767 |
+
}
|
768 |
if ( tinv_get_option( 'product_table', 'add_to_cart' ) ) {
|
769 |
$row_string .= '<td class="product-action"> </td>';
|
770 |
}
|
1806 |
|
1807 |
if ( class_exists( 'WC_Product_Addons' ) ) {
|
1808 |
|
|
|
|
|
1809 |
$product_addons = get_product_addons( $product->get_id() );
|
1810 |
|
1811 |
if ( $product_addons ) {
|
1812 |
|
1813 |
+
$price = 0;
|
1814 |
|
1815 |
foreach ( $product_addons as $addon ) {
|
1816 |
|
tinv-wishlists-function.php
CHANGED
@@ -852,11 +852,10 @@ if ( ! function_exists( 'tinv_wishlistmeta' ) ) {
|
|
852 |
* @return string
|
853 |
*/
|
854 |
function tinv_wishlistmeta( $meta = '', $wl_product, $product ) {
|
855 |
-
if (
|
856 |
-
|
857 |
-
$meta = apply_filters( 'tinvwl_wishlist_item_meta_wishlist_output', tinv_wishlist_print_meta( $wl_product['meta'] ), $wl_product, $product );
|
858 |
-
}
|
859 |
}
|
|
|
860 |
|
861 |
return $meta;
|
862 |
}
|
852 |
* @return string
|
853 |
*/
|
854 |
function tinv_wishlistmeta( $meta = '', $wl_product, $product ) {
|
855 |
+
if ( array_key_exists( 'meta', $wl_product ) ) {
|
856 |
+
$wlmeta = apply_filters( 'tinvwl_wishlist_item_meta_wishlist_output', tinv_wishlist_print_meta( $wl_product['meta'] ), $wl_product, $product );
|
|
|
|
|
857 |
}
|
858 |
+
$meta .= $wlmeta;
|
859 |
|
860 |
return $meta;
|
861 |
}
|
views/wizard/finish.php
CHANGED
@@ -17,11 +17,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
<div class="tinvwl-desc">
|
18 |
<?php printf( esc_html__( 'You have set basic Wishlist settings. If you want to make more in-depth plugin setup you can make it in plugin settings page %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', esc_url( self::admin_url( '' ) ), esc_html__( 'WooCommerce Wishlist Plugin Settings', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok. ?>
|
19 |
<br/>
|
20 |
-
<?php printf( esc_html__( 'Details about WooCommerce Wishlist Plugin options can be found in our %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE, esc_html__( 'Online Documentation', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok.
|
21 |
?>
|
22 |
</div>
|
23 |
<a class="tinvwl-btn grey w-icon xl-icon round"
|
24 |
-
href="<?php echo 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE; // WPCS: xss ok.
|
25 |
?>"><i class="fati fati-graduation-cap"></i><?php esc_html_e( 'Documentation', 'ti-woocommerce-wishlist' ); ?></a>
|
26 |
<a class="tinvwl-btn grey w-icon xl-icon round" href="<?php echo esc_url( self::admin_url( '' ) ); ?>"><i
|
27 |
class="fati fati-wrench"></i><?php esc_html_e( 'Wishlist Settings', 'ti-woocommerce-wishlist' ); ?></a>
|
17 |
<div class="tinvwl-desc">
|
18 |
<?php printf( esc_html__( 'You have set basic Wishlist settings. If you want to make more in-depth plugin setup you can make it in plugin settings page %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', esc_url( self::admin_url( '' ) ), esc_html__( 'WooCommerce Wishlist Plugin Settings', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok. ?>
|
19 |
<br/>
|
20 |
+
<?php printf( esc_html__( 'Details about WooCommerce Wishlist Plugin options can be found in our %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist-free/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE, esc_html__( 'Online Documentation', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok.
|
21 |
?>
|
22 |
</div>
|
23 |
<a class="tinvwl-btn grey w-icon xl-icon round"
|
24 |
+
href="<?php echo 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist-free/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE; // WPCS: xss ok.
|
25 |
?>"><i class="fati fati-graduation-cap"></i><?php esc_html_e( 'Documentation', 'ti-woocommerce-wishlist' ); ?></a>
|
26 |
<a class="tinvwl-btn grey w-icon xl-icon round" href="<?php echo esc_url( self::admin_url( '' ) ); ?>"><i
|
27 |
class="fati fati-wrench"></i><?php esc_html_e( 'Wishlist Settings', 'ti-woocommerce-wishlist' ); ?></a>
|