WooCommerce - Version 3.2.4

Version Description

  • 2017-11-16 =
  • Fix - Cache IDs in shortcodes rather than query objects.
  • Fix - Fix float rounding issues in cart with currencies like Bitcoin.
  • Fix - Prevent slashes appearing in shipping fields and inside meta keys when using quotes.
  • Fix - Check valid data when filtering wp_nav_menu_objects to prevent conflicts.
  • Fix - get_total_ex_tax should exclude fee taxes.
  • Fix - Fix orders count in tax reports.
  • Fix - Allow removing coupons from the cart, even if coupons are disabled.
  • Fix - Prevent calculate_totals totals running too often.
  • Fix - Set attributes during variation creation so all options are correctly displayed in cart forms.
  • Fix - Grab description directly to pass through wc_format_content to prevent double sanitization.
  • Fix - Fix db warnings when using the "Add Order Indexes" tool.
  • Fix - Remove unnecessary html formatting in variation dimensions field.
  • Fix - Fix WC_Customer_Download isset method.
  • Fix - Removed class within class in admin meta boxes HTML.
  • Fix - Fixed wrong flex-control-nav selector scope in add-to-cart-variation.js
  • Fix - Allow variations to be added to cart from query string.
  • Fix - Use add_filter for comment_feed_where hook.
  • Fix - Change nocache_headers hook firing in the cache helper.
  • Fix - Coupon min/max spend based on displayed subtotal.
  • Fix - Fix event propagation on click in setup wizard and improve validation.
  • Fix - API - Change how line items are saved in API so calculations are correct.
  • Tweak - Hide downloads from admin emails.
  • Tweak - Set placeholder for variation lxwxh field to that of the parent.
  • Tweak - Improve the Add Payment Methods display so buttons are not shown when no payment methods support the feature.
  • Localization - Update NJ tax rate.
  • Localization - Add Belarusian ruble BYN.
Download this release

Release Info

Developer mikejolley
Plugin Icon 128x128 WooCommerce
Version 3.2.4
Comparing to
See all releases

Code changes from version 3.2.3 to 3.2.4

Files changed (47) hide show
  1. assets/js/admin/wc-setup.js +12 -6
  2. assets/js/admin/wc-setup.min.js +1 -1
  3. assets/js/frontend/add-to-cart-variation.js +4 -3
  4. assets/js/frontend/add-to-cart-variation.min.js +1 -1
  5. i18n/languages/woocommerce.pot +500 -495
  6. i18n/locale-info.php +1 -1
  7. includes/abstracts/abstract-wc-order.php +3 -3
  8. includes/admin/class-wc-admin-assets.php +1 -1
  9. includes/admin/class-wc-admin-setup-wizard.php +2 -4
  10. includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php +2 -2
  11. includes/admin/meta-boxes/views/html-order-item.php +1 -1
  12. includes/admin/meta-boxes/views/html-variation-admin.php +7 -3
  13. includes/admin/reports/class-wc-report-taxes-by-date.php +0 -1
  14. includes/admin/views/html-notice-theme-support.php +1 -1
  15. includes/admin/wc-admin-functions.php +2 -1
  16. includes/api/class-wc-rest-orders-controller.php +27 -33
  17. includes/api/class-wc-rest-products-controller.php +3 -0
  18. includes/api/class-wc-rest-system-status-tools-controller.php +6 -6
  19. includes/class-wc-ajax.php +3 -3
  20. includes/class-wc-api.php +1 -1
  21. includes/class-wc-cache-helper.php +46 -43
  22. includes/class-wc-cart-session.php +1 -1
  23. includes/class-wc-cart.php +1 -5
  24. includes/class-wc-comments.php +2 -2
  25. includes/class-wc-customer-download.php +1 -1
  26. includes/class-wc-discounts.php +17 -4
  27. includes/class-wc-download-handler.php +1 -1
  28. includes/class-wc-emails.php +1 -1
  29. includes/class-wc-form-handler.php +23 -19
  30. includes/class-wc-order-item-product.php +2 -2
  31. includes/class-wc-product-variable.php +2 -2
  32. includes/class-woocommerce.php +1 -1
  33. includes/data-stores/abstract-wc-order-item-type-data-store.php +1 -0
  34. includes/data-stores/class-wc-customer-data-store-session.php +1 -1
  35. includes/data-stores/class-wc-customer-data-store.php +1 -0
  36. includes/export/abstract-wc-csv-exporter.php +1 -1
  37. includes/shortcodes/class-wc-shortcode-cart.php +4 -4
  38. includes/shortcodes/class-wc-shortcode-products.php +25 -15
  39. includes/wc-conditional-functions.php +1 -1
  40. includes/wc-core-functions.php +30 -3
  41. includes/wc-formatting-functions.php +6 -3
  42. includes/wc-page-functions.php +24 -23
  43. includes/wc-template-functions.php +4 -3
  44. readme.txt +29 -1
  45. templates/myaccount/form-add-payment-method.php +2 -0
  46. templates/myaccount/payment-methods.php +3 -1
  47. woocommerce.php +1 -1
assets/js/admin/wc-setup.js CHANGED
@@ -36,17 +36,23 @@ jQuery( function( $ ) {
36
  } );
37
 
38
  $( '.wc-wizard-services' ).on( 'click', '.wc-wizard-service-enable', function( e ) {
39
- e.stopPropagation();
 
 
 
 
 
 
 
40
 
41
- var $checkbox = $( this ).find( '.wc-wizard-service-toggle input' );
42
  $checkbox.prop( 'checked', ! $checkbox.prop( 'checked' ) ).change();
43
  } );
44
 
45
  $( '.wc-wizard-services-list-toggle' ).on( 'change', '.wc-wizard-service-enable input', function() {
46
- $( this ).closest( '.wc-wizard-services-list-toggle' ).toggleClass( 'closed' );
47
- $( this ).closest( '.wc-wizard-services' ).find( '.wc-wizard-service-item' )
48
- .slideToggle()
49
- .css( 'display', 'flex' );
50
  } );
51
 
52
  $( '.wc-wizard-services' ).on( 'change', '.wc-wizard-shipping-method-select .method', function( e ) {
36
  } );
37
 
38
  $( '.wc-wizard-services' ).on( 'click', '.wc-wizard-service-enable', function( e ) {
39
+ var eventTarget = $( e.target );
40
+
41
+ if ( eventTarget.is( 'input' ) ) {
42
+ e.stopPropagation();
43
+ return;
44
+ }
45
+
46
+ var $checkbox = $( this ).find( 'input[type="checkbox"]' );
47
 
 
48
  $checkbox.prop( 'checked', ! $checkbox.prop( 'checked' ) ).change();
49
  } );
50
 
51
  $( '.wc-wizard-services-list-toggle' ).on( 'change', '.wc-wizard-service-enable input', function() {
52
+ $( this ).closest( '.wc-wizard-services-list-toggle' ).toggleClass( 'closed' );
53
+ $( this ).closest( '.wc-wizard-services' ).find( '.wc-wizard-service-item' )
54
+ .slideToggle()
55
+ .css( 'display', 'flex' );
56
  } );
57
 
58
  $( '.wc-wizard-services' ).on( 'change', '.wc-wizard-shipping-method-select .method', function( e ) {
assets/js/admin/wc-setup.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(e){function i(){e(".wc-setup-content").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}function s(){e("form.activate-jetpack").submit()}function t(){wp.ajax.post("setup_wizard_check_jetpack").then(function(e){if(!e||!e.is_active||"yes"===e.is_active)return s();setTimeout(t,3e3)}).fail(function(){s()})}e(".button-next").on("click",function(){var s=e(this).parents("form").get(0);return("function"!=typeof s.checkValidity||s.checkValidity())&&i(),!0}),e(".wc-wizard-services").on("change",".wc-wizard-service-enable input",function(){e(this).is(":checked")?(e(this).closest(".wc-wizard-service-toggle").removeClass("disabled"),e(this).closest(".wc-wizard-service-item").addClass("checked"),e(this).closest(".wc-wizard-service-item").find(".wc-wizard-service-settings").removeClass("hide")):(e(this).closest(".wc-wizard-service-toggle").addClass("disabled"),e(this).closest(".wc-wizard-service-item").removeClass("checked"),e(this).closest(".wc-wizard-service-item").find(".wc-wizard-service-settings").addClass("hide"))}),e(".wc-wizard-services").on("click",".wc-wizard-service-enable",function(i){i.stopPropagation();var s=e(this).find(".wc-wizard-service-toggle input");s.prop("checked",!s.prop("checked")).change()}),e(".wc-wizard-services-list-toggle").on("change",".wc-wizard-service-enable input",function(){e(this).closest(".wc-wizard-services-list-toggle").toggleClass("closed"),e(this).closest(".wc-wizard-services").find(".wc-wizard-service-item").slideToggle().css("display","flex")}),e(".wc-wizard-services").on("change",".wc-wizard-shipping-method-select .method",function(i){var s=e(this).closest(".wc-wizard-service-description"),t=i.target.value,c=s.find(".shipping-method-descriptions");c.find(".shipping-method-description").addClass("hide"),c.find("."+t).removeClass("hide");var r=s.find(".shipping-method-settings");r.find(".shipping-method-setting").addClass("hide").find(".shipping-method-required-field").prop("required",!1),r.find("."+t).removeClass("hide").find(".shipping-method-required-field").prop("required",!0)}),e(".wc-wizard-services").on("change",".wc-wizard-shipping-method-enable",function(){var i=e(this).is(":checked");e(this).closest(".wc-wizard-service-item").find(".shipping-method-required-field").prop("required",i)}),e(".activate-jetpack").on("click",".button-primary",function(e){if(i(),"no"===wc_setup_params.pending_jetpack_install)return!0;e.preventDefault(),t()}),e(".wc-wizard-services").on("change","input#stripe_create_account",function(){e(this).is(":checked")?(e(this).closest(".wc-wizard-service-settings").find("input.payment-email-input").prop("required",!0),e(this).closest(".wc-wizard-service-settings").find(".wc-wizard-service-setting-stripe_email").show()):(e(this).closest(".wc-wizard-service-settings").find("input.payment-email-input").prop("required",!1),e(this).closest(".wc-wizard-service-settings").find(".wc-wizard-service-setting-stripe_email").hide())}),e(".wc-wizard-services input#stripe_create_account").change(),e("select#store_country_state").on("change",function(){var i=this.value.split(":")[0];e("select#currency_code").val(wc_setup_currencies[i]).change()})});
1
+ jQuery(function(e){function i(){e(".wc-setup-content").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}function s(){e("form.activate-jetpack").submit()}function t(){wp.ajax.post("setup_wizard_check_jetpack").then(function(e){if(!e||!e.is_active||"yes"===e.is_active)return s();setTimeout(t,3e3)}).fail(function(){s()})}e(".button-next").on("click",function(){var s=e(this).parents("form").get(0);return("function"!=typeof s.checkValidity||s.checkValidity())&&i(),!0}),e(".wc-wizard-services").on("change",".wc-wizard-service-enable input",function(){e(this).is(":checked")?(e(this).closest(".wc-wizard-service-toggle").removeClass("disabled"),e(this).closest(".wc-wizard-service-item").addClass("checked"),e(this).closest(".wc-wizard-service-item").find(".wc-wizard-service-settings").removeClass("hide")):(e(this).closest(".wc-wizard-service-toggle").addClass("disabled"),e(this).closest(".wc-wizard-service-item").removeClass("checked"),e(this).closest(".wc-wizard-service-item").find(".wc-wizard-service-settings").addClass("hide"))}),e(".wc-wizard-services").on("click",".wc-wizard-service-enable",function(i){if(e(i.target).is("input"))i.stopPropagation();else{var s=e(this).find('input[type="checkbox"]');s.prop("checked",!s.prop("checked")).change()}}),e(".wc-wizard-services-list-toggle").on("change",".wc-wizard-service-enable input",function(){e(this).closest(".wc-wizard-services-list-toggle").toggleClass("closed"),e(this).closest(".wc-wizard-services").find(".wc-wizard-service-item").slideToggle().css("display","flex")}),e(".wc-wizard-services").on("change",".wc-wizard-shipping-method-select .method",function(i){var s=e(this).closest(".wc-wizard-service-description"),t=i.target.value,c=s.find(".shipping-method-descriptions");c.find(".shipping-method-description").addClass("hide"),c.find("."+t).removeClass("hide");var r=s.find(".shipping-method-settings");r.find(".shipping-method-setting").addClass("hide").find(".shipping-method-required-field").prop("required",!1),r.find("."+t).removeClass("hide").find(".shipping-method-required-field").prop("required",!0)}),e(".wc-wizard-services").on("change",".wc-wizard-shipping-method-enable",function(){var i=e(this).is(":checked");e(this).closest(".wc-wizard-service-item").find(".shipping-method-required-field").prop("required",i)}),e(".activate-jetpack").on("click",".button-primary",function(e){if(i(),"no"===wc_setup_params.pending_jetpack_install)return!0;e.preventDefault(),t()}),e(".wc-wizard-services").on("change","input#stripe_create_account",function(){e(this).is(":checked")?(e(this).closest(".wc-wizard-service-settings").find("input.payment-email-input").prop("required",!0),e(this).closest(".wc-wizard-service-settings").find(".wc-wizard-service-setting-stripe_email").show()):(e(this).closest(".wc-wizard-service-settings").find("input.payment-email-input").prop("required",!1),e(this).closest(".wc-wizard-service-settings").find(".wc-wizard-service-setting-stripe_email").hide())}),e(".wc-wizard-services input#stripe_create_account").change(),e("select#store_country_state").on("change",function(){var i=this.value.split(":")[0];e("select#currency_code").val(wc_setup_currencies[i]).change()})});
assets/js/frontend/add-to-cart-variation.js CHANGED
@@ -548,14 +548,15 @@
548
  var $form = this,
549
  $product = $form.closest( '.product' ),
550
  $product_gallery = $product.find( '.images' ),
551
- $gallery_img = $product.find( '.flex-control-nav li:eq(0) img' ),
 
552
  $product_img_wrap = $product_gallery.find( '.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder' ).eq( 0 ),
553
  $product_img = $product_img_wrap.find( '.wp-post-image' ),
554
  $product_link = $product_img_wrap.find( 'a' ).eq( 0 );
555
 
556
  if ( variation && variation.image && variation.image.src && variation.image.src.length > 1 ) {
557
- if ( $( '.flex-control-nav li img[src="' + variation.image.thumb_src + '"]' ).length > 0 ) {
558
- $( '.flex-control-nav li img[src="' + variation.image.thumb_src + '"]' ).trigger( 'click' );
559
  $form.attr( 'current-image', variation.image_id );
560
  return;
561
  } else {
548
  var $form = this,
549
  $product = $form.closest( '.product' ),
550
  $product_gallery = $product.find( '.images' ),
551
+ $gallery_nav = $product.find( '.flex-control-nav' ),
552
+ $gallery_img = $gallery_nav.find( 'li:eq(0) img' ),
553
  $product_img_wrap = $product_gallery.find( '.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder' ).eq( 0 ),
554
  $product_img = $product_img_wrap.find( '.wp-post-image' ),
555
  $product_link = $product_img_wrap.find( 'a' ).eq( 0 );
556
 
557
  if ( variation && variation.image && variation.image.src && variation.image.src.length > 1 ) {
558
+ if ( $gallery_nav.find( 'li img[src="' + variation.image.thumb_src + '"]' ).length > 0 ) {
559
+ $gallery_nav.find( 'li img[src="' + variation.image.thumb_src + '"]' ).trigger( 'click' );
560
  $form.attr( 'current-image', variation.image_id );
561
  return;
562
  } else {
assets/js/frontend/add-to-cart-variation.min.js CHANGED
@@ -1 +1 @@
1
- !function(t,a,i,r){var e=function(t){this.$form=t,this.$attributeFields=t.find(".variations select"),this.$singleVariation=t.find(".single_variation"),this.$singleVariationWrap=t.find(".single_variation_wrap"),this.$resetVariations=t.find(".reset_variations"),this.$product=t.closest(".product"),this.variationData=t.data("product_variations"),this.useAjax=!1===this.variationData,this.xhr=!1,this.$singleVariationWrap.show(),this.$form.off(".wc-variation-form"),this.getChosenAttributes=this.getChosenAttributes.bind(this),this.findMatchingVariations=this.findMatchingVariations.bind(this),this.isMatch=this.isMatch.bind(this),this.toggleResetLink=this.toggleResetLink.bind(this),t.on("click.wc-variation-form",".reset_variations",{variationForm:this},this.onReset),t.on("reload_product_variations",{variationForm:this},this.onReload),t.on("hide_variation",{variationForm:this},this.onHide),t.on("show_variation",{variationForm:this},this.onShow),t.on("click",".single_add_to_cart_button",{variationForm:this},this.onAddToCart),t.on("reset_data",{variationForm:this},this.onResetDisplayedVariation),t.on("reset_image",{variationForm:this},this.onResetImage),t.on("change.wc-variation-form",".variations select",{variationForm:this},this.onChange),t.on("found_variation.wc-variation-form",{variationForm:this},this.onFoundVariation),t.on("check_variations.wc-variation-form",{variationForm:this},this.onFindVariation),t.on("update_variation_values.wc-variation-form",{variationForm:this},this.onUpdateAttributes),setTimeout(function(){t.trigger("check_variations"),t.trigger("wc_variation_form")},100)};e.prototype.onReset=function(t){t.preventDefault(),t.data.variationForm.$attributeFields.val("").change(),t.data.variationForm.$form.trigger("reset_data")},e.prototype.onReload=function(t){var a=t.data.variationForm;a.variationData=a.$form.data("product_variations"),a.useAjax=!1===a.variationData,a.$form.trigger("check_variations")},e.prototype.onHide=function(t){t.preventDefault(),t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("wc-variation-is-unavailable").addClass("disabled wc-variation-selection-needed"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-enabled").addClass("woocommerce-variation-add-to-cart-disabled")},e.prototype.onShow=function(t,a,i){t.preventDefault(),i?(t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("disabled wc-variation-selection-needed wc-variation-is-unavailable"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-disabled").addClass("woocommerce-variation-add-to-cart-enabled")):(t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("wc-variation-selection-needed").addClass("disabled wc-variation-is-unavailable"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-enabled").addClass("woocommerce-variation-add-to-cart-disabled"))},e.prototype.onAddToCart=function(i){t(this).is(".disabled")&&(i.preventDefault(),t(this).is(".wc-variation-is-unavailable")?a.alert(wc_add_to_cart_variation_params.i18n_unavailable_text):t(this).is(".wc-variation-selection-needed")&&a.alert(wc_add_to_cart_variation_params.i18n_make_a_selection_text))},e.prototype.onResetDisplayedVariation=function(t){var a=t.data.variationForm;a.$product.find(".product_meta").find(".sku").wc_reset_content(),a.$product.find(".product_weight").wc_reset_content(),a.$product.find(".product_dimensions").wc_reset_content(),a.$form.trigger("reset_image"),a.$singleVariation.slideUp(200).trigger("hide_variation")},e.prototype.onResetImage=function(t){t.data.variationForm.$form.wc_variations_image_update(!1)},e.prototype.onFindVariation=function(a){var i=a.data.variationForm,r=i.getChosenAttributes(),e=r.data;if(r.count===r.chosenCount)if(i.useAjax)i.xhr&&i.xhr.abort(),i.$form.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),e.product_id=parseInt(i.$form.data("product_id"),10),e.custom_data=i.$form.data("custom_data"),i.xhr=t.ajax({url:wc_add_to_cart_variation_params.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:e,success:function(t){t?i.$form.trigger("found_variation",[t]):(i.$form.trigger("reset_data"),i.$form.find(".single_variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200))},complete:function(){i.$form.unblock()}});else{i.$form.trigger("update_variation_values");var o=i.findMatchingVariations(i.variationData,e).shift();o?i.$form.trigger("found_variation",[o]):(i.$form.trigger("reset_data"),i.$form.find(".single_variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200))}else i.$form.trigger("update_variation_values"),i.$form.trigger("reset_data");i.toggleResetLink(r.chosenCount>0)},e.prototype.onFoundVariation=function(a,i){var r=a.data.variationForm,e=r.$product.find(".product_meta").find(".sku"),o=r.$product.find(".product_weight"),n=r.$product.find(".product_dimensions"),s=r.$singleVariationWrap.find(".quantity"),_=!0,c=!1,d="";i.sku?e.wc_set_content(i.sku):e.wc_reset_content(),i.weight?o.wc_set_content(i.weight_html):o.wc_reset_content(),i.dimensions?n.wc_set_content(i.dimensions_html):n.wc_reset_content(),r.$form.wc_variations_image_update(i),i.variation_is_visible?(c=wp.template("variation-template"),i.variation_id):c=wp.template("unavailable-variation-template"),d=(d=(d=c({variation:i})).replace("/*<![CDATA[*/","")).replace("/*]]>*/",""),r.$singleVariation.html(d),r.$form.find('input[name="variation_id"], input.variation_id').val(i.variation_id).change(),"yes"===i.is_sold_individually?(s.find("input.qty").val("1").attr("min","1").attr("max",""),s.hide()):(s.find("input.qty").attr("min",i.min_qty).attr("max",i.max_qty),s.show()),i.is_purchasable&&i.is_in_stock&&i.variation_is_visible||(_=!1),t.trim(r.$singleVariation.text())?r.$singleVariation.slideDown(200).trigger("show_variation",[i,_]):r.$singleVariation.show().trigger("show_variation",[i,_])},e.prototype.onChange=function(a){var i=a.data.variationForm;i.$form.find('input[name="variation_id"], input.variation_id').val("").change(),i.$form.find(".wc-no-matching-variations").remove(),i.useAjax?i.$form.trigger("check_variations"):(i.$form.trigger("woocommerce_variation_select_change"),i.$form.trigger("check_variations"),t(this).blur()),i.$form.trigger("woocommerce_variation_has_changed")},e.prototype.addSlashes=function(t){return t=t.replace(/'/g,"\\'"),t=t.replace(/"/g,'\\"')},e.prototype.onUpdateAttributes=function(a){var i=a.data.variationForm,r=i.getChosenAttributes().data;i.useAjax||(i.$attributeFields.each(function(a,e){var o=t(e),n=o.data("attribute_name")||o.attr("name"),s=t(e).data("show_option_none"),_=":gt(0)",c=0,d=t("<select/>"),m=o.val()||"",v=!0;if(!o.data("attribute_html")){var l=o.clone();l.find("option").removeAttr("disabled attached").removeAttr("selected"),o.data("attribute_options",l.find("option"+_).get()),o.data("attribute_html",l.html())}d.html(o.data("attribute_html"));var h=t.extend(!0,{},r);h[n]="";var g=i.findMatchingVariations(i.variationData,h);for(var f in g)if("undefined"!=typeof g[f]){var u=g[f].attributes;for(var p in u)if(u.hasOwnProperty(p)){var w=u[p],b="";p===n&&(g[f].variation_is_active&&(b="enabled"),w?(w=t("<div/>").html(w).text(),d.find('option[value="'+i.addSlashes(w)+'"]').addClass("attached "+b)):d.find("option:gt(0)").addClass("attached "+b))}}c=d.find("option.attached").length,!m||0!==c&&0!==d.find('option.attached.enabled[value="'+i.addSlashes(m)+'"]').length||(v=!1),c>0&&m&&v&&"no"===s&&(d.find("option:first").remove(),_=""),d.find("option"+_+":not(.attached)").remove(),o.html(d.html()),o.find("option"+_+":not(.enabled)").prop("disabled",!0),m?v?o.val(m):o.val("").change():o.val("")}),i.$form.trigger("woocommerce_update_variation_values"))},e.prototype.getChosenAttributes=function(){var a={},i=0,r=0;return this.$attributeFields.each(function(){var e=t(this).data("attribute_name")||t(this).attr("name"),o=t(this).val()||"";o.length>0&&r++,i++,a[e]=o}),{count:i,chosenCount:r,data:a}},e.prototype.findMatchingVariations=function(t,a){for(var i=[],r=0;r<t.length;r++){var e=t[r];this.isMatch(e.attributes,a)&&i.push(e)}return i},e.prototype.isMatch=function(t,a){var i=!0;for(var r in t)if(t.hasOwnProperty(r)){var e=t[r],o=a[r];void 0!==e&&void 0!==o&&0!==e.length&&0!==o.length&&e!==o&&(i=!1)}return i},e.prototype.toggleResetLink=function(t){t?"hidden"===this.$resetVariations.css("visibility")&&this.$resetVariations.css("visibility","visible").hide().fadeIn():this.$resetVariations.css("visibility","hidden")},t.fn.wc_variation_form=function(){return new e(this),this},t.fn.wc_set_content=function(t){void 0===this.attr("data-o_content")&&this.attr("data-o_content",this.text()),this.text(t)},t.fn.wc_reset_content=function(){void 0!==this.attr("data-o_content")&&this.text(this.attr("data-o_content"))},t.fn.wc_set_variation_attr=function(t,a){void 0===this.attr("data-o_"+t)&&this.attr("data-o_"+t,this.attr(t)?this.attr(t):""),!1===a?this.removeAttr(t):this.attr(t,a)},t.fn.wc_reset_variation_attr=function(t){void 0!==this.attr("data-o_"+t)&&this.attr(t,this.attr("data-o_"+t))},t.fn.wc_maybe_trigger_slide_position_reset=function(a){var i=t(this),r=i.closest(".product").find(".images"),e=!1,o=a&&a.image_id?a.image_id:"";i.attr("current-image")!==o&&(e=!0),i.attr("current-image",o),e&&r.trigger("woocommerce_gallery_reset_slide_position")},t.fn.wc_variations_image_update=function(i){var r=this,e=r.closest(".product"),o=e.find(".images"),n=e.find(".flex-control-nav li:eq(0) img"),s=o.find(".woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder").eq(0),_=s.find(".wp-post-image"),c=s.find("a").eq(0);if(i&&i.image&&i.image.src&&i.image.src.length>1){if(t('.flex-control-nav li img[src="'+i.image.thumb_src+'"]').length>0)return t('.flex-control-nav li img[src="'+i.image.thumb_src+'"]').trigger("click"),void r.attr("current-image",i.image_id);_.wc_set_variation_attr("src",i.image.src),_.wc_set_variation_attr("height",i.image.src_h),_.wc_set_variation_attr("width",i.image.src_w),_.wc_set_variation_attr("srcset",i.image.srcset),_.wc_set_variation_attr("sizes",i.image.sizes),_.wc_set_variation_attr("title",i.image.title),_.wc_set_variation_attr("alt",i.image.alt),_.wc_set_variation_attr("data-src",i.image.full_src),_.wc_set_variation_attr("data-large_image",i.image.full_src),_.wc_set_variation_attr("data-large_image_width",i.image.full_src_w),_.wc_set_variation_attr("data-large_image_height",i.image.full_src_h),s.wc_set_variation_attr("data-thumb",i.image.src),n.wc_set_variation_attr("src",i.image.thumb_src),c.wc_set_variation_attr("href",i.image.full_src)}else _.wc_reset_variation_attr("src"),_.wc_reset_variation_attr("width"),_.wc_reset_variation_attr("height"),_.wc_reset_variation_attr("srcset"),_.wc_reset_variation_attr("sizes"),_.wc_reset_variation_attr("title"),_.wc_reset_variation_attr("alt"),_.wc_reset_variation_attr("data-src"),_.wc_reset_variation_attr("data-large_image"),_.wc_reset_variation_attr("data-large_image_width"),_.wc_reset_variation_attr("data-large_image_height"),s.wc_reset_variation_attr("data-thumb"),n.wc_reset_variation_attr("src"),c.wc_reset_variation_attr("href");a.setTimeout(function(){t(a).trigger("resize"),r.wc_maybe_trigger_slide_position_reset(i),o.trigger("woocommerce_gallery_init_zoom")},20)},t(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&t(".variations_form").each(function(){t(this).wc_variation_form()})})}(jQuery,window,document);
1
+ !function(t,a,i,r){var e=function(t){this.$form=t,this.$attributeFields=t.find(".variations select"),this.$singleVariation=t.find(".single_variation"),this.$singleVariationWrap=t.find(".single_variation_wrap"),this.$resetVariations=t.find(".reset_variations"),this.$product=t.closest(".product"),this.variationData=t.data("product_variations"),this.useAjax=!1===this.variationData,this.xhr=!1,this.$singleVariationWrap.show(),this.$form.off(".wc-variation-form"),this.getChosenAttributes=this.getChosenAttributes.bind(this),this.findMatchingVariations=this.findMatchingVariations.bind(this),this.isMatch=this.isMatch.bind(this),this.toggleResetLink=this.toggleResetLink.bind(this),t.on("click.wc-variation-form",".reset_variations",{variationForm:this},this.onReset),t.on("reload_product_variations",{variationForm:this},this.onReload),t.on("hide_variation",{variationForm:this},this.onHide),t.on("show_variation",{variationForm:this},this.onShow),t.on("click",".single_add_to_cart_button",{variationForm:this},this.onAddToCart),t.on("reset_data",{variationForm:this},this.onResetDisplayedVariation),t.on("reset_image",{variationForm:this},this.onResetImage),t.on("change.wc-variation-form",".variations select",{variationForm:this},this.onChange),t.on("found_variation.wc-variation-form",{variationForm:this},this.onFoundVariation),t.on("check_variations.wc-variation-form",{variationForm:this},this.onFindVariation),t.on("update_variation_values.wc-variation-form",{variationForm:this},this.onUpdateAttributes),setTimeout(function(){t.trigger("check_variations"),t.trigger("wc_variation_form")},100)};e.prototype.onReset=function(t){t.preventDefault(),t.data.variationForm.$attributeFields.val("").change(),t.data.variationForm.$form.trigger("reset_data")},e.prototype.onReload=function(t){var a=t.data.variationForm;a.variationData=a.$form.data("product_variations"),a.useAjax=!1===a.variationData,a.$form.trigger("check_variations")},e.prototype.onHide=function(t){t.preventDefault(),t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("wc-variation-is-unavailable").addClass("disabled wc-variation-selection-needed"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-enabled").addClass("woocommerce-variation-add-to-cart-disabled")},e.prototype.onShow=function(t,a,i){t.preventDefault(),i?(t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("disabled wc-variation-selection-needed wc-variation-is-unavailable"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-disabled").addClass("woocommerce-variation-add-to-cart-enabled")):(t.data.variationForm.$form.find(".single_add_to_cart_button").removeClass("wc-variation-selection-needed").addClass("disabled wc-variation-is-unavailable"),t.data.variationForm.$form.find(".woocommerce-variation-add-to-cart").removeClass("woocommerce-variation-add-to-cart-enabled").addClass("woocommerce-variation-add-to-cart-disabled"))},e.prototype.onAddToCart=function(i){t(this).is(".disabled")&&(i.preventDefault(),t(this).is(".wc-variation-is-unavailable")?a.alert(wc_add_to_cart_variation_params.i18n_unavailable_text):t(this).is(".wc-variation-selection-needed")&&a.alert(wc_add_to_cart_variation_params.i18n_make_a_selection_text))},e.prototype.onResetDisplayedVariation=function(t){var a=t.data.variationForm;a.$product.find(".product_meta").find(".sku").wc_reset_content(),a.$product.find(".product_weight").wc_reset_content(),a.$product.find(".product_dimensions").wc_reset_content(),a.$form.trigger("reset_image"),a.$singleVariation.slideUp(200).trigger("hide_variation")},e.prototype.onResetImage=function(t){t.data.variationForm.$form.wc_variations_image_update(!1)},e.prototype.onFindVariation=function(a){var i=a.data.variationForm,r=i.getChosenAttributes(),e=r.data;if(r.count===r.chosenCount)if(i.useAjax)i.xhr&&i.xhr.abort(),i.$form.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),e.product_id=parseInt(i.$form.data("product_id"),10),e.custom_data=i.$form.data("custom_data"),i.xhr=t.ajax({url:wc_add_to_cart_variation_params.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:e,success:function(t){t?i.$form.trigger("found_variation",[t]):(i.$form.trigger("reset_data"),i.$form.find(".single_variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200))},complete:function(){i.$form.unblock()}});else{i.$form.trigger("update_variation_values");var o=i.findMatchingVariations(i.variationData,e).shift();o?i.$form.trigger("found_variation",[o]):(i.$form.trigger("reset_data"),i.$form.find(".single_variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200))}else i.$form.trigger("update_variation_values"),i.$form.trigger("reset_data");i.toggleResetLink(r.chosenCount>0)},e.prototype.onFoundVariation=function(a,i){var r=a.data.variationForm,e=r.$product.find(".product_meta").find(".sku"),o=r.$product.find(".product_weight"),n=r.$product.find(".product_dimensions"),s=r.$singleVariationWrap.find(".quantity"),_=!0,c=!1,d="";i.sku?e.wc_set_content(i.sku):e.wc_reset_content(),i.weight?o.wc_set_content(i.weight_html):o.wc_reset_content(),i.dimensions?n.wc_set_content(i.dimensions_html):n.wc_reset_content(),r.$form.wc_variations_image_update(i),i.variation_is_visible?(c=wp.template("variation-template"),i.variation_id):c=wp.template("unavailable-variation-template"),d=(d=(d=c({variation:i})).replace("/*<![CDATA[*/","")).replace("/*]]>*/",""),r.$singleVariation.html(d),r.$form.find('input[name="variation_id"], input.variation_id').val(i.variation_id).change(),"yes"===i.is_sold_individually?(s.find("input.qty").val("1").attr("min","1").attr("max",""),s.hide()):(s.find("input.qty").attr("min",i.min_qty).attr("max",i.max_qty),s.show()),i.is_purchasable&&i.is_in_stock&&i.variation_is_visible||(_=!1),t.trim(r.$singleVariation.text())?r.$singleVariation.slideDown(200).trigger("show_variation",[i,_]):r.$singleVariation.show().trigger("show_variation",[i,_])},e.prototype.onChange=function(a){var i=a.data.variationForm;i.$form.find('input[name="variation_id"], input.variation_id').val("").change(),i.$form.find(".wc-no-matching-variations").remove(),i.useAjax?i.$form.trigger("check_variations"):(i.$form.trigger("woocommerce_variation_select_change"),i.$form.trigger("check_variations"),t(this).blur()),i.$form.trigger("woocommerce_variation_has_changed")},e.prototype.addSlashes=function(t){return t=t.replace(/'/g,"\\'"),t=t.replace(/"/g,'\\"')},e.prototype.onUpdateAttributes=function(a){var i=a.data.variationForm,r=i.getChosenAttributes().data;i.useAjax||(i.$attributeFields.each(function(a,e){var o=t(e),n=o.data("attribute_name")||o.attr("name"),s=t(e).data("show_option_none"),_=":gt(0)",c=0,d=t("<select/>"),m=o.val()||"",v=!0;if(!o.data("attribute_html")){var l=o.clone();l.find("option").removeAttr("disabled attached").removeAttr("selected"),o.data("attribute_options",l.find("option"+_).get()),o.data("attribute_html",l.html())}d.html(o.data("attribute_html"));var h=t.extend(!0,{},r);h[n]="";var g=i.findMatchingVariations(i.variationData,h);for(var f in g)if("undefined"!=typeof g[f]){var u=g[f].attributes;for(var p in u)if(u.hasOwnProperty(p)){var w=u[p],b="";p===n&&(g[f].variation_is_active&&(b="enabled"),w?(w=t("<div/>").html(w).text(),d.find('option[value="'+i.addSlashes(w)+'"]').addClass("attached "+b)):d.find("option:gt(0)").addClass("attached "+b))}}c=d.find("option.attached").length,!m||0!==c&&0!==d.find('option.attached.enabled[value="'+i.addSlashes(m)+'"]').length||(v=!1),c>0&&m&&v&&"no"===s&&(d.find("option:first").remove(),_=""),d.find("option"+_+":not(.attached)").remove(),o.html(d.html()),o.find("option"+_+":not(.enabled)").prop("disabled",!0),m?v?o.val(m):o.val("").change():o.val("")}),i.$form.trigger("woocommerce_update_variation_values"))},e.prototype.getChosenAttributes=function(){var a={},i=0,r=0;return this.$attributeFields.each(function(){var e=t(this).data("attribute_name")||t(this).attr("name"),o=t(this).val()||"";o.length>0&&r++,i++,a[e]=o}),{count:i,chosenCount:r,data:a}},e.prototype.findMatchingVariations=function(t,a){for(var i=[],r=0;r<t.length;r++){var e=t[r];this.isMatch(e.attributes,a)&&i.push(e)}return i},e.prototype.isMatch=function(t,a){var i=!0;for(var r in t)if(t.hasOwnProperty(r)){var e=t[r],o=a[r];void 0!==e&&void 0!==o&&0!==e.length&&0!==o.length&&e!==o&&(i=!1)}return i},e.prototype.toggleResetLink=function(t){t?"hidden"===this.$resetVariations.css("visibility")&&this.$resetVariations.css("visibility","visible").hide().fadeIn():this.$resetVariations.css("visibility","hidden")},t.fn.wc_variation_form=function(){return new e(this),this},t.fn.wc_set_content=function(t){void 0===this.attr("data-o_content")&&this.attr("data-o_content",this.text()),this.text(t)},t.fn.wc_reset_content=function(){void 0!==this.attr("data-o_content")&&this.text(this.attr("data-o_content"))},t.fn.wc_set_variation_attr=function(t,a){void 0===this.attr("data-o_"+t)&&this.attr("data-o_"+t,this.attr(t)?this.attr(t):""),!1===a?this.removeAttr(t):this.attr(t,a)},t.fn.wc_reset_variation_attr=function(t){void 0!==this.attr("data-o_"+t)&&this.attr(t,this.attr("data-o_"+t))},t.fn.wc_maybe_trigger_slide_position_reset=function(a){var i=t(this),r=i.closest(".product").find(".images"),e=!1,o=a&&a.image_id?a.image_id:"";i.attr("current-image")!==o&&(e=!0),i.attr("current-image",o),e&&r.trigger("woocommerce_gallery_reset_slide_position")},t.fn.wc_variations_image_update=function(i){var r=this,e=r.closest(".product"),o=e.find(".images"),n=e.find(".flex-control-nav"),s=n.find("li:eq(0) img"),_=o.find(".woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder").eq(0),c=_.find(".wp-post-image"),d=_.find("a").eq(0);if(i&&i.image&&i.image.src&&i.image.src.length>1){if(n.find('li img[src="'+i.image.thumb_src+'"]').length>0)return n.find('li img[src="'+i.image.thumb_src+'"]').trigger("click"),void r.attr("current-image",i.image_id);c.wc_set_variation_attr("src",i.image.src),c.wc_set_variation_attr("height",i.image.src_h),c.wc_set_variation_attr("width",i.image.src_w),c.wc_set_variation_attr("srcset",i.image.srcset),c.wc_set_variation_attr("sizes",i.image.sizes),c.wc_set_variation_attr("title",i.image.title),c.wc_set_variation_attr("alt",i.image.alt),c.wc_set_variation_attr("data-src",i.image.full_src),c.wc_set_variation_attr("data-large_image",i.image.full_src),c.wc_set_variation_attr("data-large_image_width",i.image.full_src_w),c.wc_set_variation_attr("data-large_image_height",i.image.full_src_h),_.wc_set_variation_attr("data-thumb",i.image.src),s.wc_set_variation_attr("src",i.image.thumb_src),d.wc_set_variation_attr("href",i.image.full_src)}else c.wc_reset_variation_attr("src"),c.wc_reset_variation_attr("width"),c.wc_reset_variation_attr("height"),c.wc_reset_variation_attr("srcset"),c.wc_reset_variation_attr("sizes"),c.wc_reset_variation_attr("title"),c.wc_reset_variation_attr("alt"),c.wc_reset_variation_attr("data-src"),c.wc_reset_variation_attr("data-large_image"),c.wc_reset_variation_attr("data-large_image_width"),c.wc_reset_variation_attr("data-large_image_height"),_.wc_reset_variation_attr("data-thumb"),s.wc_reset_variation_attr("src"),d.wc_reset_variation_attr("href");a.setTimeout(function(){t(a).trigger("resize"),r.wc_maybe_trigger_slide_position_reset(i),o.trigger("woocommerce_gallery_init_zoom")},20)},t(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&t(".variations_form").each(function(){t(this).wc_variation_form()})})}(jQuery,window,document);
i18n/languages/woocommerce.pot CHANGED
@@ -2,16 +2,16 @@
2
  # This file is distributed under the same license as the WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce 3.2.3\n"
6
  "Report-Msgid-Bugs-To: https://github.com/woocommerce/woocommerce/issues\n"
7
- "POT-Creation-Date: 2017-11-02 19:00:59+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
- "X-Generator: grunt-wp-i18n1.0.1\n"
15
 
16
  #: i18n/continents.php:19
17
  msgid "Africa"
@@ -5943,7 +5943,7 @@ msgstr ""
5943
  #: includes/api/class-wc-rest-order-refunds-controller.php:92
5944
  #: includes/api/class-wc-rest-order-refunds-controller.php:351
5945
  #: includes/api/class-wc-rest-orders-controller.php:82
5946
- #: includes/api/class-wc-rest-orders-controller.php:803
5947
  #: includes/api/class-wc-rest-payment-gateways-controller.php:53
5948
  #: includes/api/class-wc-rest-product-categories-controller.php:107
5949
  #: includes/api/class-wc-rest-product-reviews-controller.php:155
@@ -6082,7 +6082,7 @@ msgstr ""
6082
 
6083
  #: includes/admin/class-wc-admin-addons.php:336
6084
  #: includes/admin/class-wc-admin-addons.php:500
6085
- #: includes/admin/class-wc-admin-setup-wizard.php:585
6086
  msgid "WooCommerce Services"
6087
  msgstr ""
6088
 
@@ -6124,7 +6124,7 @@ msgstr ""
6124
  #: includes/admin/class-wc-admin-post-types.php:301
6125
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:425
6126
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:548
6127
- #: includes/admin/meta-boxes/views/html-variation-admin.php:309
6128
  #: includes/admin/settings/class-wc-settings-shipping.php:345
6129
  #: includes/admin/settings/views/html-admin-page-shipping-zone-methods.php:73
6130
  #: includes/admin/settings/views/html-keys-edit.php:16
@@ -6134,7 +6134,7 @@ msgstr ""
6134
  #: includes/gateways/cod/class-wc-gateway-cod.php:83
6135
  #: includes/gateways/paypal/includes/settings-paypal.php:25
6136
  #: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:204
6137
- #: includes/wc-template-functions.php:1186
6138
  #: templates/single-product/tabs/description.php:25
6139
  msgid "Description"
6140
  msgstr ""
@@ -6428,7 +6428,7 @@ msgstr ""
6428
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:543
6429
  #: includes/admin/meta-boxes/views/html-product-attribute.php:17
6430
  #: includes/admin/meta-boxes/views/html-product-data-general.php:66
6431
- #: includes/admin/meta-boxes/views/html-variation-admin.php:322
6432
  #: includes/admin/settings/views/html-webhooks-edit.php:15
6433
  #: includes/admin/views/html-admin-page-status-report.php:614
6434
  #: includes/export/class-wc-product-csv-exporter.php:83
@@ -7862,7 +7862,7 @@ msgstr ""
7862
 
7863
  #: includes/admin/class-wc-admin-post-types.php:451
7864
  #: includes/admin/reports/class-wc-report-stock.php:112
7865
- #: includes/wc-formatting-functions.php:1037
7866
  #: includes/wc-product-functions.php:782
7867
  msgid "In stock"
7868
  msgstr ""
@@ -8124,8 +8124,8 @@ msgstr ""
8124
  #: includes/admin/settings/class-wc-settings-general.php:55
8125
  #: includes/api/class-wc-rest-customers-controller.php:219
8126
  #: includes/api/class-wc-rest-customers-controller.php:282
8127
- #: includes/api/class-wc-rest-orders-controller.php:967
8128
- #: includes/api/class-wc-rest-orders-controller.php:1030
8129
  msgid "Address line 1"
8130
  msgstr ""
8131
 
@@ -8137,8 +8137,8 @@ msgstr ""
8137
  #: includes/admin/settings/class-wc-settings-general.php:64
8138
  #: includes/api/class-wc-rest-customers-controller.php:224
8139
  #: includes/api/class-wc-rest-customers-controller.php:287
8140
- #: includes/api/class-wc-rest-orders-controller.php:972
8141
- #: includes/api/class-wc-rest-orders-controller.php:1035
8142
  msgid "Address line 2"
8143
  msgstr ""
8144
 
@@ -8182,7 +8182,7 @@ msgstr ""
8182
  #: includes/admin/class-wc-admin-profile.php:136
8183
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:75
8184
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:124
8185
- #: includes/wc-template-functions.php:2044
8186
  #: templates/cart/shipping-calculator.php:39
8187
  msgid "Select a country&hellip;"
8188
  msgstr ""
@@ -8210,7 +8210,7 @@ msgid "Phone"
8210
  msgstr ""
8211
 
8212
  #: includes/admin/class-wc-admin-profile.php:88
8213
- #: includes/admin/class-wc-admin-setup-wizard.php:1620
8214
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:83
8215
  #: includes/class-wc-countries.php:1158 includes/class-wc-form-handler.php:214
8216
  #: templates/myaccount/form-edit-account.php:40
@@ -8325,12 +8325,12 @@ msgid "Store setup"
8325
  msgstr ""
8326
 
8327
  #: includes/admin/class-wc-admin-setup-wizard.php:99
8328
- #: includes/admin/class-wc-admin-setup-wizard.php:1211
8329
  msgid "Payment"
8330
  msgstr ""
8331
 
8332
  #: includes/admin/class-wc-admin-setup-wizard.php:104
8333
- #: includes/admin/class-wc-admin-setup-wizard.php:743
8334
  #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:92
8335
  #: includes/admin/meta-boxes/views/html-order-shipping.php:17
8336
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:69
@@ -8403,55 +8403,50 @@ msgstr ""
8403
  msgid "What type of product do you plan to sell?"
8404
  msgstr ""
8405
 
8406
- #: includes/admin/class-wc-admin-setup-wizard.php:406
8407
- #: includes/admin/class-wc-admin-setup-wizard.php:409
8408
- msgid "Please choose one&hellip;"
8409
  msgstr ""
8410
 
8411
- #: includes/admin/class-wc-admin-setup-wizard.php:410
8412
  msgid "I plan to sell physical products"
8413
  msgstr ""
8414
 
8415
- #: includes/admin/class-wc-admin-setup-wizard.php:411
8416
  msgid "I plan to sell digital products"
8417
  msgstr ""
8418
 
8419
- #: includes/admin/class-wc-admin-setup-wizard.php:412
8420
- msgid "I plan to sell both physical and digital products"
8421
- msgstr ""
8422
-
8423
- #: includes/admin/class-wc-admin-setup-wizard.php:417
8424
  msgid ""
8425
  "Allow WooCommerce to collect non-sensitive diagnostic data and usage "
8426
  "information."
8427
  msgstr ""
8428
 
8429
- #: includes/admin/class-wc-admin-setup-wizard.php:421
8430
  msgid "Let's go!"
8431
  msgstr ""
8432
 
8433
- #: includes/admin/class-wc-admin-setup-wizard.php:573
8434
- #: includes/admin/class-wc-admin-setup-wizard.php:1560
8435
  msgid "Jetpack"
8436
  msgstr ""
8437
 
8438
- #: includes/admin/class-wc-admin-setup-wizard.php:620
8439
  msgid "Live Rates"
8440
  msgstr ""
8441
 
8442
- #: includes/admin/class-wc-admin-setup-wizard.php:621
8443
  msgid "WooCommerce Services and Jetpack will be installed and activated for you."
8444
  msgstr ""
8445
 
8446
- #: includes/admin/class-wc-admin-setup-wizard.php:624
8447
  msgid "Flat Rate"
8448
  msgstr ""
8449
 
8450
- #: includes/admin/class-wc-admin-setup-wizard.php:625
8451
  msgid "Set a fixed price to cover shipping costs."
8452
  msgstr ""
8453
 
8454
- #: includes/admin/class-wc-admin-setup-wizard.php:629
8455
  #: includes/admin/meta-boxes/views/html-order-items.php:31
8456
  #: includes/shipping/flat-rate/includes/settings-flat-rate.php:31
8457
  #: includes/shipping/legacy-flat-rate/includes/settings-flat-rate.php:58
@@ -8459,24 +8454,24 @@ msgstr ""
8459
  msgid "Cost"
8460
  msgstr ""
8461
 
8462
- #: includes/admin/class-wc-admin-setup-wizard.php:630
8463
  msgid "What would you like to charge for flat rate shipping?"
8464
  msgstr ""
8465
 
8466
- #: includes/admin/class-wc-admin-setup-wizard.php:636
8467
  #: includes/shipping/legacy-free-shipping/class-wc-shipping-legacy-free-shipping.php:92
8468
  msgid "Free Shipping"
8469
  msgstr ""
8470
 
8471
- #: includes/admin/class-wc-admin-setup-wizard.php:637
8472
  msgid "Don't charge for shipping."
8473
  msgstr ""
8474
 
8475
- #: includes/admin/class-wc-admin-setup-wizard.php:726
8476
  msgid "How would you like units on your store displayed?"
8477
  msgstr ""
8478
 
8479
- #: includes/admin/class-wc-admin-setup-wizard.php:730
8480
  #. translators: %1$s: country name including the 'the' prefix, %2$s: shipping
8481
  #. carrier name
8482
  msgid ""
@@ -8486,7 +8481,7 @@ msgid ""
8486
  "the cost of order fulfillment."
8487
  msgstr ""
8488
 
8489
- #: includes/admin/class-wc-admin-setup-wizard.php:737
8490
  #. translators: %s: country name including the 'the' prefix if needed
8491
  msgid ""
8492
  "You can choose which countries you'll be shipping to and with which "
@@ -8494,185 +8489,185 @@ msgid ""
8494
  "of %s."
8495
  msgstr ""
8496
 
8497
- #: includes/admin/class-wc-admin-setup-wizard.php:750
8498
  msgid "Shipping Zone"
8499
  msgstr ""
8500
 
8501
- #: includes/admin/class-wc-admin-setup-wizard.php:753
8502
  msgid "Shipping Method"
8503
  msgstr ""
8504
 
8505
- #: includes/admin/class-wc-admin-setup-wizard.php:772
8506
  #: includes/admin/settings/views/html-admin-page-shipping-zones.php:26
8507
  #: includes/data-stores/class-wc-shipping-zone-data-store.php:67
8508
  msgid "Locations not covered by your other zones"
8509
  msgstr ""
8510
 
8511
- #: includes/admin/class-wc-admin-setup-wizard.php:793
8512
  msgid "<strong>Weight unit</strong>—used to calculate shipping rates, and more."
8513
  msgstr ""
8514
 
8515
- #: includes/admin/class-wc-admin-setup-wizard.php:800
8516
  #: includes/admin/settings/class-wc-settings-products.php:433
8517
  msgid "kg"
8518
  msgstr ""
8519
 
8520
- #: includes/admin/class-wc-admin-setup-wizard.php:801
8521
  #: includes/admin/settings/class-wc-settings-products.php:434
8522
  msgid "g"
8523
  msgstr ""
8524
 
8525
- #: includes/admin/class-wc-admin-setup-wizard.php:802
8526
  #: includes/admin/settings/class-wc-settings-products.php:435
8527
  msgid "lbs"
8528
  msgstr ""
8529
 
8530
- #: includes/admin/class-wc-admin-setup-wizard.php:803
8531
  #: includes/admin/settings/class-wc-settings-products.php:436
8532
  msgid "oz"
8533
  msgstr ""
8534
 
8535
- #: includes/admin/class-wc-admin-setup-wizard.php:811
8536
  msgid "<strong>Dimension unit</strong>—helps for accurate package selection."
8537
  msgstr ""
8538
 
8539
- #: includes/admin/class-wc-admin-setup-wizard.php:818
8540
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:216
8541
  #: includes/admin/settings/class-wc-settings-products.php:450
8542
  msgid "m"
8543
  msgstr ""
8544
 
8545
- #: includes/admin/class-wc-admin-setup-wizard.php:819
8546
  #: includes/admin/settings/class-wc-settings-products.php:451
8547
  msgid "cm"
8548
  msgstr ""
8549
 
8550
- #: includes/admin/class-wc-admin-setup-wizard.php:820
8551
  #: includes/admin/settings/class-wc-settings-products.php:452
8552
  msgid "mm"
8553
  msgstr ""
8554
 
8555
- #: includes/admin/class-wc-admin-setup-wizard.php:821
8556
  #: includes/admin/settings/class-wc-settings-products.php:453
8557
  msgid "in"
8558
  msgstr ""
8559
 
8560
- #: includes/admin/class-wc-admin-setup-wizard.php:822
8561
  #: includes/admin/settings/class-wc-settings-products.php:454
8562
  msgid "yd"
8563
  msgstr ""
8564
 
8565
- #: includes/admin/class-wc-admin-setup-wizard.php:828
8566
- #: includes/admin/class-wc-admin-setup-wizard.php:1251
8567
- #: includes/admin/class-wc-admin-setup-wizard.php:1361
8568
  #: includes/admin/importers/views/html-product-csv-import-form.php:89
8569
  msgid "Continue"
8570
  msgstr ""
8571
 
8572
- #: includes/admin/class-wc-admin-setup-wizard.php:991
8573
  msgid ""
8574
  "Accept all major debit &amp; credit cards from customers in 135+ countries "
8575
  "on your site. <a href=\"%s\" target=\"_blank\">Learn more</a>."
8576
  msgstr ""
8577
 
8578
- #: includes/admin/class-wc-admin-setup-wizard.php:995
8579
- #: includes/admin/class-wc-admin-setup-wizard.php:999
8580
  msgid ""
8581
  "Safe and secure payments using credit cards or your customer's PayPal "
8582
  "account. <a href=\"%s\" target=\"_blank\">Learn more</a>."
8583
  msgstr ""
8584
 
8585
- #: includes/admin/class-wc-admin-setup-wizard.php:1005
8586
  msgid "Stripe"
8587
  msgstr ""
8588
 
8589
- #: includes/admin/class-wc-admin-setup-wizard.php:1012
8590
  msgid "Create a new Stripe account for me"
8591
  msgstr ""
8592
 
8593
- #: includes/admin/class-wc-admin-setup-wizard.php:1019
8594
  msgid "Stripe email address:"
8595
  msgstr ""
8596
 
8597
- #: includes/admin/class-wc-admin-setup-wizard.php:1022
8598
  msgid "Stripe email address"
8599
  msgstr ""
8600
 
8601
- #: includes/admin/class-wc-admin-setup-wizard.php:1023
8602
  msgid ""
8603
  "Enter your email address and we'll handle account creation. WooCommerce "
8604
  "Services and Jetpack will be installed and activated for you."
8605
  msgstr ""
8606
 
8607
- #: includes/admin/class-wc-admin-setup-wizard.php:1031
8608
  msgid "PayPal by Braintree"
8609
  msgstr ""
8610
 
8611
- #: includes/admin/class-wc-admin-setup-wizard.php:1037
8612
  msgid "PayPal Express Checkout"
8613
  msgstr ""
8614
 
8615
- #: includes/admin/class-wc-admin-setup-wizard.php:1043
8616
  msgid "PayPal Standard"
8617
  msgstr ""
8618
 
8619
- #: includes/admin/class-wc-admin-setup-wizard.php:1044
8620
  msgid "Accept payments via PayPal using account balance or credit card."
8621
  msgstr ""
8622
 
8623
- #: includes/admin/class-wc-admin-setup-wizard.php:1048
8624
  msgid "PayPal email address:"
8625
  msgstr ""
8626
 
8627
- #: includes/admin/class-wc-admin-setup-wizard.php:1051
8628
  msgid "PayPal email address"
8629
  msgstr ""
8630
 
8631
- #: includes/admin/class-wc-admin-setup-wizard.php:1085
8632
  msgid "A simple offline gateway that lets you accept a check as method of payment."
8633
  msgstr ""
8634
 
8635
- #: includes/admin/class-wc-admin-setup-wizard.php:1090
8636
  msgid "Bank transfer (BACS) payments"
8637
  msgstr ""
8638
 
8639
- #: includes/admin/class-wc-admin-setup-wizard.php:1091
8640
  msgid "A simple offline gateway that lets you accept BACS payment."
8641
  msgstr ""
8642
 
8643
- #: includes/admin/class-wc-admin-setup-wizard.php:1096
8644
  #: includes/gateways/cod/class-wc-gateway-cod.php:52
8645
  #: includes/gateways/cod/class-wc-gateway-cod.php:79
8646
  msgid "Cash on delivery"
8647
  msgstr ""
8648
 
8649
- #: includes/admin/class-wc-admin-setup-wizard.php:1097
8650
  msgid "A simple offline gateway that lets you accept cash on delivery."
8651
  msgstr ""
8652
 
8653
- #: includes/admin/class-wc-admin-setup-wizard.php:1214
8654
  msgid ""
8655
  "WooCommerce can accept both online and offline payments. <a href=\"%1$s\" "
8656
  "target=\"_blank\">Additional payment methods</a> can be installed later."
8657
  msgstr ""
8658
 
8659
- #: includes/admin/class-wc-admin-setup-wizard.php:1236
8660
  msgid "Offline Payments"
8661
  msgstr ""
8662
 
8663
- #: includes/admin/class-wc-admin-setup-wizard.php:1239
8664
  msgid "Collect payments from customers offline."
8665
  msgstr ""
8666
 
8667
- #: includes/admin/class-wc-admin-setup-wizard.php:1304
8668
  msgid "Recommended Extras"
8669
  msgstr ""
8670
 
8671
- #: includes/admin/class-wc-admin-setup-wizard.php:1310
8672
  msgid "Storefront Theme"
8673
  msgstr ""
8674
 
8675
- #: includes/admin/class-wc-admin-setup-wizard.php:1312
8676
  msgid ""
8677
  "Your theme is not compatible with WooCommerce. We recommend you switch to "
8678
  "Storefront, a free WordPress theme built and maintained by the makers of "
@@ -8680,139 +8675,139 @@ msgid ""
8680
  "you."
8681
  msgstr ""
8682
 
8683
- #: includes/admin/class-wc-admin-setup-wizard.php:1316
8684
  msgid "Learn more about Storefront"
8685
  msgstr ""
8686
 
8687
- #: includes/admin/class-wc-admin-setup-wizard.php:1334
8688
  msgid "Automated Taxes (powered by WooCommerce Services)"
8689
  msgstr ""
8690
 
8691
- #: includes/admin/class-wc-admin-setup-wizard.php:1336
8692
  msgid ""
8693
  "Automatically calculate and charge the correct rate of tax for each time a "
8694
  "customer checks out. If toggled on, WooCommerce Services and Jetpack will "
8695
  "be installed and activated for you."
8696
  msgstr ""
8697
 
8698
- #: includes/admin/class-wc-admin-setup-wizard.php:1340
8699
  msgid "Learn more about WooCommerce Services"
8700
  msgstr ""
8701
 
8702
- #: includes/admin/class-wc-admin-setup-wizard.php:1419
8703
  #. translators: %s: list of features, potentially comma separated
8704
  msgid ""
8705
  "Your store is almost ready! To activate services like %s, just connect with "
8706
  "Jetpack."
8707
  msgstr ""
8708
 
8709
- #: includes/admin/class-wc-admin-setup-wizard.php:1422
8710
  msgid "Stripe payments, automated taxes, live rates and discounted shipping labels"
8711
  msgstr ""
8712
 
8713
- #: includes/admin/class-wc-admin-setup-wizard.php:1424
8714
  msgid "Stripe payments and automated taxes"
8715
  msgstr ""
8716
 
8717
- #: includes/admin/class-wc-admin-setup-wizard.php:1426
8718
  msgid "Stripe payments, live rates and discounted shipping labels"
8719
  msgstr ""
8720
 
8721
- #: includes/admin/class-wc-admin-setup-wizard.php:1428
8722
  msgid "Stripe payments"
8723
  msgstr ""
8724
 
8725
- #: includes/admin/class-wc-admin-setup-wizard.php:1430
8726
  msgid "automated taxes, live rates and discounted shipping labels"
8727
  msgstr ""
8728
 
8729
- #: includes/admin/class-wc-admin-setup-wizard.php:1432
8730
  msgid "automated taxes"
8731
  msgstr ""
8732
 
8733
- #: includes/admin/class-wc-admin-setup-wizard.php:1434
8734
  msgid "live rates and discounted shipping labels"
8735
  msgstr ""
8736
 
8737
- #: includes/admin/class-wc-admin-setup-wizard.php:1450
8738
  msgid "Sorry, We couldn't connect your store to Jetpack"
8739
  msgstr ""
8740
 
8741
- #: includes/admin/class-wc-admin-setup-wizard.php:1457
8742
  msgid "Connect your store to Jetpack"
8743
  msgstr ""
8744
 
8745
- #: includes/admin/class-wc-admin-setup-wizard.php:1458
8746
  msgid "Connect your store to Jetpack to enable extra features"
8747
  msgstr ""
8748
 
8749
- #: includes/admin/class-wc-admin-setup-wizard.php:1474
8750
  msgid "Finish setting up your store"
8751
  msgstr ""
8752
 
8753
- #: includes/admin/class-wc-admin-setup-wizard.php:1481
8754
  msgid ""
8755
  "By connecting your site you agree to our fascinating <a href=\"%1$s\" "
8756
  "target=\"_blank\">Terms of Service</a> and to <a href=\"%2$s\" "
8757
  "target=\"_blank\">share details</a> with WordPress.com"
8758
  msgstr ""
8759
 
8760
- #: includes/admin/class-wc-admin-setup-wizard.php:1489
8761
  msgid "Connect with Jetpack"
8762
  msgstr ""
8763
 
8764
- #: includes/admin/class-wc-admin-setup-wizard.php:1494
8765
  msgid "Bonus reasons you'll love Jetpack"
8766
  msgstr ""
8767
 
8768
- #: includes/admin/class-wc-admin-setup-wizard.php:1498
8769
  msgid "Better security"
8770
  msgstr ""
8771
 
8772
- #: includes/admin/class-wc-admin-setup-wizard.php:1501
8773
  msgid "Protect your store from unauthorized access."
8774
  msgstr ""
8775
 
8776
- #: includes/admin/class-wc-admin-setup-wizard.php:1506
8777
  msgid "Store stats"
8778
  msgstr ""
8779
 
8780
- #: includes/admin/class-wc-admin-setup-wizard.php:1509
8781
  msgid ""
8782
  "Get insights on how your store is doing, including total sales, top "
8783
  "products, and more."
8784
  msgstr ""
8785
 
8786
- #: includes/admin/class-wc-admin-setup-wizard.php:1514
8787
  msgid "Store monitoring"
8788
  msgstr ""
8789
 
8790
- #: includes/admin/class-wc-admin-setup-wizard.php:1517
8791
  msgid "Get an alert if your store is down for even a few minutes."
8792
  msgstr ""
8793
 
8794
- #: includes/admin/class-wc-admin-setup-wizard.php:1522
8795
  msgid "Product promotion"
8796
  msgstr ""
8797
 
8798
- #: includes/admin/class-wc-admin-setup-wizard.php:1525
8799
  msgid "Share new items on social media the moment they're live in your store."
8800
  msgstr ""
8801
 
8802
- #: includes/admin/class-wc-admin-setup-wizard.php:1535
8803
  msgid ""
8804
  "Sorry! We tried, but we couldn't connect Jetpack just now 😭. Please go to "
8805
  "the Plugins tab to connect Jetpack, so that you can finish setting up your "
8806
  "store."
8807
  msgstr ""
8808
 
8809
- #: includes/admin/class-wc-admin-setup-wizard.php:1536
8810
  msgid ""
8811
  "Sorry! We tried, but we couldn't install Jetpack for you 😭. Please go to "
8812
  "the Plugins tab to install it, and finish setting up your store."
8813
  msgstr ""
8814
 
8815
- #: includes/admin/class-wc-admin-setup-wizard.php:1537
8816
  msgid ""
8817
  "Sorry! We couldn't contact Jetpack just now 😭. Please make sure that your "
8818
  "site is visible over the internet, and that it accepts incoming and "
@@ -8820,14 +8815,14 @@ msgid ""
8820
  "and if you run into any more issues, please contact support."
8821
  msgstr ""
8822
 
8823
- #: includes/admin/class-wc-admin-setup-wizard.php:1538
8824
  msgid ""
8825
  "Your site might be on a private network. Jetpack can only connect to public "
8826
  "sites. Please make sure your site is visible over the internet, and then "
8827
  "try connecting again 🙏."
8828
  msgstr ""
8829
 
8830
- #: includes/admin/class-wc-admin-setup-wizard.php:1604
8831
  #. translators: %1$s: link to videos, %2$s: link to docs
8832
  msgid ""
8833
  "Watch our <a href=\"%1$s\" target=\"_blank\">guided tour videos</a> to "
@@ -8835,46 +8830,46 @@ msgid ""
8835
  "<a href=\"%2$s\" target=\"_blank\">getting started</a>."
8836
  msgstr ""
8837
 
8838
- #: includes/admin/class-wc-admin-setup-wizard.php:1609
8839
  msgid "You're ready to start selling!"
8840
  msgstr ""
8841
 
8842
- #: includes/admin/class-wc-admin-setup-wizard.php:1612
8843
  msgid ""
8844
  "We're here for you — get tips, product updates, and inspiration straight to "
8845
  "your mailbox."
8846
  msgstr ""
8847
 
8848
- #: includes/admin/class-wc-admin-setup-wizard.php:1626
8849
  msgid "Yes please!"
8850
  msgstr ""
8851
 
8852
- #: includes/admin/class-wc-admin-setup-wizard.php:1639
8853
  msgid "Next step"
8854
  msgstr ""
8855
 
8856
- #: includes/admin/class-wc-admin-setup-wizard.php:1640
8857
  msgid "Create your first product"
8858
  msgstr ""
8859
 
8860
- #: includes/admin/class-wc-admin-setup-wizard.php:1641
8861
  msgid "You're ready to add your first product."
8862
  msgstr ""
8863
 
8864
- #: includes/admin/class-wc-admin-setup-wizard.php:1646
8865
  msgid "Create a product"
8866
  msgstr ""
8867
 
8868
- #: includes/admin/class-wc-admin-setup-wizard.php:1653
8869
  msgid "Have an existing store?"
8870
  msgstr ""
8871
 
8872
- #: includes/admin/class-wc-admin-setup-wizard.php:1654
8873
- #: includes/admin/class-wc-admin-setup-wizard.php:1660
8874
  msgid "Import products"
8875
  msgstr ""
8876
 
8877
- #: includes/admin/class-wc-admin-setup-wizard.php:1655
8878
  msgid "Transfer existing products to your new store — just import a CSV file."
8879
  msgstr ""
8880
 
@@ -9245,7 +9240,7 @@ msgstr ""
9245
  #: includes/class-wc-emails.php:364
9246
  #: includes/legacy/abstract-wc-legacy-order.php:507
9247
  #: includes/wc-account-functions.php:205
9248
- #: includes/wc-template-functions.php:2558
9249
  msgid "Download"
9250
  msgstr ""
9251
 
@@ -9544,7 +9539,7 @@ msgstr ""
9544
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:559
9545
  #: includes/admin/meta-boxes/views/html-order-items.php:320
9546
  #: includes/admin/meta-boxes/views/html-product-data-general.php:148
9547
- #: includes/admin/meta-boxes/views/html-variation-admin.php:283
9548
  #: includes/admin/settings/class-wc-settings-tax.php:190
9549
  #: includes/admin/views/html-bulk-edit-product.php:89
9550
  #: includes/admin/views/html-quick-edit-product.php:68
@@ -9637,7 +9632,7 @@ msgstr ""
9637
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:444
9638
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:579
9639
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:50
9640
- #: includes/admin/meta-boxes/views/html-variation-admin.php:266
9641
  #: includes/admin/settings/class-wc-settings-shipping.php:343
9642
  #: includes/admin/views/html-bulk-edit-product.php:166
9643
  #: includes/admin/views/html-quick-edit-product.php:124
@@ -9656,7 +9651,7 @@ msgstr ""
9656
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:597
9657
  #: includes/admin/meta-boxes/views/html-product-data-general.php:102
9658
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:76
9659
- #: includes/admin/meta-boxes/views/html-variation-admin.php:361
9660
  #: includes/export/class-wc-product-csv-exporter.php:109
9661
  msgid "Download limit"
9662
  msgstr ""
@@ -10102,8 +10097,8 @@ msgstr ""
10102
 
10103
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:120
10104
  msgid ""
10105
- "This field allows you to set the minimum spend (subtotal, including taxes) "
10106
- "allowed to use the coupon."
10107
  msgstr ""
10108
 
10109
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:128
@@ -10116,8 +10111,8 @@ msgstr ""
10116
 
10117
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:130
10118
  msgid ""
10119
- "This field allows you to set the maximum spend (subtotal, including taxes) "
10120
- "allowed when using the coupon."
10121
  msgstr ""
10122
 
10123
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:138
@@ -10363,8 +10358,8 @@ msgstr ""
10363
  #: includes/shipping/legacy-flat-rate/includes/settings-flat-rate.php:93
10364
  #: includes/shipping/legacy-free-shipping/class-wc-shipping-legacy-free-shipping.php:122
10365
  #: includes/wc-account-functions.php:331
10366
- #: includes/wc-formatting-functions.php:1106
10367
- #: includes/wc-formatting-functions.php:1125
10368
  #: templates/emails/email-addresses.php:31
10369
  #: templates/order/order-details-customer.php:36
10370
  #: templates/order/order-details-customer.php:54
@@ -10546,7 +10541,7 @@ msgstr ""
10546
 
10547
  #: includes/admin/meta-boxes/views/html-order-download-permission.php:27
10548
  #: includes/admin/meta-boxes/views/html-product-data-general.php:103
10549
- #: includes/admin/meta-boxes/views/html-variation-admin.php:362
10550
  msgid "Unlimited"
10551
  msgstr ""
10552
 
@@ -10556,7 +10551,7 @@ msgstr ""
10556
 
10557
  #: includes/admin/meta-boxes/views/html-order-download-permission.php:31
10558
  #: includes/admin/meta-boxes/views/html-product-data-general.php:116
10559
- #: includes/admin/meta-boxes/views/html-variation-admin.php:378
10560
  #: templates/emails/email-downloads.php:56
10561
  #: templates/emails/plain/email-downloads.php:43
10562
  #: templates/order/order-downloads.php:60
@@ -10869,22 +10864,22 @@ msgid "The sale will end at the beginning of the set date."
10869
  msgstr ""
10870
 
10871
  #: includes/admin/meta-boxes/views/html-product-data-general.php:61
10872
- #: includes/admin/meta-boxes/views/html-variation-admin.php:318
10873
  msgid "Downloadable files"
10874
  msgstr ""
10875
 
10876
  #: includes/admin/meta-boxes/views/html-product-data-general.php:66
10877
- #: includes/admin/meta-boxes/views/html-variation-admin.php:322
10878
  msgid "This is the name of the download shown to the customer."
10879
  msgstr ""
10880
 
10881
  #: includes/admin/meta-boxes/views/html-product-data-general.php:67
10882
- #: includes/admin/meta-boxes/views/html-variation-admin.php:323
10883
  msgid "File URL"
10884
  msgstr ""
10885
 
10886
  #: includes/admin/meta-boxes/views/html-product-data-general.php:67
10887
- #: includes/admin/meta-boxes/views/html-variation-admin.php:323
10888
  msgid ""
10889
  "This is the URL or absolute path to the file which customers will get "
10890
  "access to. URLs entered here should already be encoded."
@@ -10895,18 +10890,18 @@ msgid "Add File"
10895
  msgstr ""
10896
 
10897
  #: includes/admin/meta-boxes/views/html-product-data-general.php:104
10898
- #: includes/admin/meta-boxes/views/html-variation-admin.php:363
10899
  msgid "Leave blank for unlimited re-downloads."
10900
  msgstr ""
10901
 
10902
  #: includes/admin/meta-boxes/views/html-product-data-general.php:115
10903
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:77
10904
- #: includes/admin/meta-boxes/views/html-variation-admin.php:377
10905
  msgid "Download expiry"
10906
  msgstr ""
10907
 
10908
  #: includes/admin/meta-boxes/views/html-product-data-general.php:117
10909
- #: includes/admin/meta-boxes/views/html-variation-admin.php:379
10910
  msgid "Enter the number of days before a download link expires, or leave blank."
10911
  msgstr ""
10912
 
@@ -10932,7 +10927,7 @@ msgid ""
10932
  msgstr ""
10933
 
10934
  #: includes/admin/meta-boxes/views/html-product-data-general.php:151
10935
- #: includes/admin/meta-boxes/views/html-variation-admin.php:286
10936
  msgid ""
10937
  "Choose a tax class for this product. Tax classes are used to apply "
10938
  "different tax rates specific to certain types of product."
@@ -11048,21 +11043,21 @@ msgstr ""
11048
 
11049
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:26
11050
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:70
11051
- #: includes/admin/meta-boxes/views/html-variation-admin.php:245
11052
  #: includes/admin/views/html-quick-edit-product.php:112
11053
  msgid "Length"
11054
  msgstr ""
11055
 
11056
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:27
11057
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:71
11058
- #: includes/admin/meta-boxes/views/html-variation-admin.php:246
11059
  #: includes/admin/views/html-quick-edit-product.php:113
11060
  msgid "Width"
11061
  msgstr ""
11062
 
11063
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:28
11064
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:72
11065
- #: includes/admin/meta-boxes/views/html-variation-admin.php:247
11066
  #: includes/admin/views/html-quick-edit-product.php:114
11067
  msgid "Height"
11068
  msgstr ""
@@ -11317,25 +11312,25 @@ msgid ""
11317
  "blank to use the parent product's options."
11318
  msgstr ""
11319
 
11320
- #: includes/admin/meta-boxes/views/html-variation-admin.php:239
11321
  #. translators: %s: dimension unit
11322
  msgid "Dimensions (L&times;W&times;H) (%s)"
11323
  msgstr ""
11324
 
11325
- #: includes/admin/meta-boxes/views/html-variation-admin.php:243
11326
  msgid "Length x width x height in decimal form"
11327
  msgstr ""
11328
 
11329
- #: includes/admin/meta-boxes/views/html-variation-admin.php:270
11330
- #: includes/admin/meta-boxes/views/html-variation-admin.php:284
11331
  msgid "Same as parent"
11332
  msgstr ""
11333
 
11334
- #: includes/admin/meta-boxes/views/html-variation-admin.php:311
11335
  msgid "Enter an optional description for this variation."
11336
  msgstr ""
11337
 
11338
- #: includes/admin/meta-boxes/views/html-variation-admin.php:348
11339
  msgid "Add file"
11340
  msgstr ""
11341
 
@@ -11707,7 +11702,7 @@ msgstr ""
11707
 
11708
  #: includes/admin/reports/class-wc-report-sales-by-date.php:676
11709
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:150
11710
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:185
11711
  msgid "Number of orders"
11712
  msgstr ""
11713
 
@@ -11815,49 +11810,49 @@ msgid "This is the sum of the \"Tax rows\" shipping tax amount within your order
11815
  msgstr ""
11816
 
11817
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:153
11818
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:188
11819
  msgid "Total tax"
11820
  msgstr ""
11821
 
11822
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:153
11823
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:188
11824
  msgid "This is the total tax for the rate (shipping tax + product tax)."
11825
  msgstr ""
11826
 
11827
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:185
11828
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:230
11829
  msgid "No taxes found in this period"
11830
  msgstr ""
11831
 
11832
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:184
11833
  msgid "Period"
11834
  msgstr ""
11835
 
11836
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:186
11837
  msgid "Total sales"
11838
  msgstr ""
11839
 
11840
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:186
11841
  msgid "This is the sum of the 'Order total' field within your orders."
11842
  msgstr ""
11843
 
11844
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:187
11845
  msgid "Total shipping"
11846
  msgstr ""
11847
 
11848
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:187
11849
  msgid "This is the sum of the 'Shipping total' field within your orders."
11850
  msgstr ""
11851
 
11852
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:189
11853
  msgid "Net profit"
11854
  msgstr ""
11855
 
11856
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:189
11857
  msgid "Total sales minus shipping and tax."
11858
  msgstr ""
11859
 
11860
- #: includes/admin/reports/class-wc-report-taxes-by-date.php:219
11861
  #: templates/checkout/form-pay.php:31
11862
  msgid "Totals"
11863
  msgstr ""
@@ -12113,7 +12108,7 @@ msgstr ""
12113
  #: includes/admin/settings/class-wc-settings-checkout.php:197
12114
  #: includes/class-wc-query.php:123
12115
  #: templates/myaccount/form-add-payment-method.php:53
12116
- #: templates/myaccount/payment-methods.php:79
12117
  msgid "Add payment method"
12118
  msgstr ""
12119
 
@@ -14746,7 +14741,7 @@ msgstr ""
14746
 
14747
  #: includes/api/class-wc-rest-coupons-controller.php:63
14748
  #: includes/api/class-wc-rest-coupons-controller.php:337
14749
- #: includes/api/class-wc-rest-orders-controller.php:1536
14750
  #: includes/api/v1/class-wc-rest-coupons-controller.php:70
14751
  #: includes/api/v1/class-wc-rest-coupons-controller.php:421
14752
  #: includes/api/v1/class-wc-rest-orders-controller.php:1530
@@ -14913,12 +14908,12 @@ msgstr ""
14913
  #: includes/api/class-wc-rest-customers-controller.php:338
14914
  #: includes/api/class-wc-rest-order-refunds-controller.php:384
14915
  #: includes/api/class-wc-rest-order-refunds-controller.php:496
14916
- #: includes/api/class-wc-rest-orders-controller.php:1107
14917
- #: includes/api/class-wc-rest-orders-controller.php:1219
14918
- #: includes/api/class-wc-rest-orders-controller.php:1310
14919
- #: includes/api/class-wc-rest-orders-controller.php:1396
14920
- #: includes/api/class-wc-rest-orders-controller.php:1494
14921
- #: includes/api/class-wc-rest-orders-controller.php:1552
14922
  #: includes/api/class-wc-rest-product-variations-controller.php:929
14923
  #: includes/api/class-wc-rest-products-controller.php:1972
14924
  msgid "Meta data."
@@ -14928,12 +14923,12 @@ msgstr ""
14928
  #: includes/api/class-wc-rest-customers-controller.php:345
14929
  #: includes/api/class-wc-rest-order-refunds-controller.php:391
14930
  #: includes/api/class-wc-rest-order-refunds-controller.php:503
14931
- #: includes/api/class-wc-rest-orders-controller.php:1114
14932
- #: includes/api/class-wc-rest-orders-controller.php:1226
14933
- #: includes/api/class-wc-rest-orders-controller.php:1317
14934
- #: includes/api/class-wc-rest-orders-controller.php:1403
14935
- #: includes/api/class-wc-rest-orders-controller.php:1501
14936
- #: includes/api/class-wc-rest-orders-controller.php:1559
14937
  #: includes/api/class-wc-rest-product-variations-controller.php:936
14938
  #: includes/api/class-wc-rest-products-controller.php:1979
14939
  msgid "Meta ID."
@@ -14943,12 +14938,12 @@ msgstr ""
14943
  #: includes/api/class-wc-rest-customers-controller.php:351
14944
  #: includes/api/class-wc-rest-order-refunds-controller.php:397
14945
  #: includes/api/class-wc-rest-order-refunds-controller.php:509
14946
- #: includes/api/class-wc-rest-orders-controller.php:1120
14947
- #: includes/api/class-wc-rest-orders-controller.php:1232
14948
- #: includes/api/class-wc-rest-orders-controller.php:1323
14949
- #: includes/api/class-wc-rest-orders-controller.php:1409
14950
- #: includes/api/class-wc-rest-orders-controller.php:1507
14951
- #: includes/api/class-wc-rest-orders-controller.php:1565
14952
  #: includes/api/class-wc-rest-product-variations-controller.php:942
14953
  #: includes/api/class-wc-rest-products-controller.php:1985
14954
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:476
@@ -14960,12 +14955,12 @@ msgstr ""
14960
  #: includes/api/class-wc-rest-customers-controller.php:356
14961
  #: includes/api/class-wc-rest-order-refunds-controller.php:402
14962
  #: includes/api/class-wc-rest-order-refunds-controller.php:514
14963
- #: includes/api/class-wc-rest-orders-controller.php:1125
14964
- #: includes/api/class-wc-rest-orders-controller.php:1237
14965
- #: includes/api/class-wc-rest-orders-controller.php:1328
14966
- #: includes/api/class-wc-rest-orders-controller.php:1414
14967
- #: includes/api/class-wc-rest-orders-controller.php:1512
14968
- #: includes/api/class-wc-rest-orders-controller.php:1570
14969
  #: includes/api/class-wc-rest-product-variations-controller.php:947
14970
  #: includes/api/class-wc-rest-products-controller.php:1990
14971
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:488
@@ -14995,7 +14990,7 @@ msgstr ""
14995
 
14996
  #: includes/api/class-wc-rest-customer-downloads-controller.php:103
14997
  #: includes/api/class-wc-rest-order-refunds-controller.php:423
14998
- #: includes/api/class-wc-rest-orders-controller.php:1146
14999
  #: includes/api/class-wc-rest-products-controller.php:1404
15000
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:380
15001
  #: includes/api/v1/class-wc-rest-orders-controller.php:1213
@@ -15016,7 +15011,7 @@ msgid "Order ID."
15016
  msgstr ""
15017
 
15018
  #: includes/api/class-wc-rest-customer-downloads-controller.php:121
15019
- #: includes/api/class-wc-rest-orders-controller.php:820
15020
  #: includes/api/v1/class-wc-rest-customer-downloads-controller.php:199
15021
  #: includes/api/v1/class-wc-rest-orders-controller.php:932
15022
  msgid "Order key."
@@ -15064,7 +15059,7 @@ msgid "The date the customer was created, in the site's timezone."
15064
  msgstr ""
15065
 
15066
  #: includes/api/class-wc-rest-customers-controller.php:140
15067
- #: includes/api/class-wc-rest-orders-controller.php:858
15068
  #: includes/api/v1/class-wc-rest-orders-controller.php:963
15069
  msgid "The date the order was created, as GMT."
15070
  msgstr ""
@@ -15114,8 +15109,8 @@ msgstr ""
15114
 
15115
  #: includes/api/class-wc-rest-customers-controller.php:204
15116
  #: includes/api/class-wc-rest-customers-controller.php:267
15117
- #: includes/api/class-wc-rest-orders-controller.php:952
15118
- #: includes/api/class-wc-rest-orders-controller.php:1015
15119
  #: includes/api/v1/class-wc-rest-customers-controller.php:728
15120
  #: includes/api/v1/class-wc-rest-customers-controller.php:791
15121
  #: includes/api/v1/class-wc-rest-orders-controller.php:1028
@@ -15125,8 +15120,8 @@ msgstr ""
15125
 
15126
  #: includes/api/class-wc-rest-customers-controller.php:209
15127
  #: includes/api/class-wc-rest-customers-controller.php:272
15128
- #: includes/api/class-wc-rest-orders-controller.php:957
15129
- #: includes/api/class-wc-rest-orders-controller.php:1020
15130
  #: includes/api/v1/class-wc-rest-customers-controller.php:733
15131
  #: includes/api/v1/class-wc-rest-customers-controller.php:796
15132
  #: includes/api/v1/class-wc-rest-orders-controller.php:1033
@@ -15136,8 +15131,8 @@ msgstr ""
15136
 
15137
  #: includes/api/class-wc-rest-customers-controller.php:214
15138
  #: includes/api/class-wc-rest-customers-controller.php:277
15139
- #: includes/api/class-wc-rest-orders-controller.php:962
15140
- #: includes/api/class-wc-rest-orders-controller.php:1025
15141
  #: includes/api/v1/class-wc-rest-customers-controller.php:738
15142
  #: includes/api/v1/class-wc-rest-customers-controller.php:801
15143
  #: includes/api/v1/class-wc-rest-orders-controller.php:1038
@@ -15147,8 +15142,8 @@ msgstr ""
15147
 
15148
  #: includes/api/class-wc-rest-customers-controller.php:229
15149
  #: includes/api/class-wc-rest-customers-controller.php:292
15150
- #: includes/api/class-wc-rest-orders-controller.php:977
15151
- #: includes/api/class-wc-rest-orders-controller.php:1040
15152
  #: includes/api/v1/class-wc-rest-customers-controller.php:753
15153
  #: includes/api/v1/class-wc-rest-customers-controller.php:816
15154
  #: includes/api/v1/class-wc-rest-orders-controller.php:1053
@@ -15159,8 +15154,8 @@ msgstr ""
15159
 
15160
  #: includes/api/class-wc-rest-customers-controller.php:234
15161
  #: includes/api/class-wc-rest-customers-controller.php:297
15162
- #: includes/api/class-wc-rest-orders-controller.php:982
15163
- #: includes/api/class-wc-rest-orders-controller.php:1045
15164
  #: includes/api/v1/class-wc-rest-customers-controller.php:758
15165
  #: includes/api/v1/class-wc-rest-customers-controller.php:821
15166
  #: includes/api/v1/class-wc-rest-orders-controller.php:1058
@@ -15170,8 +15165,8 @@ msgstr ""
15170
 
15171
  #: includes/api/class-wc-rest-customers-controller.php:239
15172
  #: includes/api/class-wc-rest-customers-controller.php:302
15173
- #: includes/api/class-wc-rest-orders-controller.php:987
15174
- #: includes/api/class-wc-rest-orders-controller.php:1050
15175
  #: includes/api/v1/class-wc-rest-customers-controller.php:763
15176
  #: includes/api/v1/class-wc-rest-customers-controller.php:826
15177
  #: includes/api/v1/class-wc-rest-orders-controller.php:1063
@@ -15187,14 +15182,14 @@ msgid "ISO code of the country."
15187
  msgstr ""
15188
 
15189
  #: includes/api/class-wc-rest-customers-controller.php:249
15190
- #: includes/api/class-wc-rest-orders-controller.php:997
15191
  #: includes/api/v1/class-wc-rest-customers-controller.php:773
15192
  #: includes/api/v1/class-wc-rest-orders-controller.php:1073
15193
  msgid "Email address."
15194
  msgstr ""
15195
 
15196
  #: includes/api/class-wc-rest-customers-controller.php:255
15197
- #: includes/api/class-wc-rest-orders-controller.php:1003
15198
  #: includes/api/v1/class-wc-rest-customers-controller.php:779
15199
  #: includes/api/v1/class-wc-rest-orders-controller.php:1079
15200
  msgid "Phone number."
@@ -15317,18 +15312,18 @@ msgid "User ID of user who created the refund."
15317
  msgstr ""
15318
 
15319
  #: includes/api/class-wc-rest-order-refunds-controller.php:410
15320
- #: includes/api/class-wc-rest-orders-controller.php:1133
15321
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:367
15322
  #: includes/api/v1/class-wc-rest-orders-controller.php:1200
15323
  msgid "Line items data."
15324
  msgstr ""
15325
 
15326
  #: includes/api/class-wc-rest-order-refunds-controller.php:417
15327
- #: includes/api/class-wc-rest-orders-controller.php:1140
15328
- #: includes/api/class-wc-rest-orders-controller.php:1268
15329
- #: includes/api/class-wc-rest-orders-controller.php:1346
15330
- #: includes/api/class-wc-rest-orders-controller.php:1432
15331
- #: includes/api/class-wc-rest-orders-controller.php:1530
15332
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:374
15333
  #: includes/api/v1/class-wc-rest-orders-controller.php:1207
15334
  #: includes/api/v1/class-wc-rest-orders-controller.php:1341
@@ -15339,7 +15334,7 @@ msgid "Item ID."
15339
  msgstr ""
15340
 
15341
  #: includes/api/class-wc-rest-order-refunds-controller.php:428
15342
- #: includes/api/class-wc-rest-orders-controller.php:1151
15343
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:392
15344
  #: includes/api/v1/class-wc-rest-orders-controller.php:1225
15345
  #: includes/api/v1/class-wc-rest-report-top-sellers-controller.php:158
@@ -15348,44 +15343,44 @@ msgid "Product ID."
15348
  msgstr ""
15349
 
15350
  #: includes/api/class-wc-rest-order-refunds-controller.php:433
15351
- #: includes/api/class-wc-rest-orders-controller.php:1156
15352
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:397
15353
  #: includes/api/v1/class-wc-rest-orders-controller.php:1230
15354
  msgid "Variation ID, if applicable."
15355
  msgstr ""
15356
 
15357
  #: includes/api/class-wc-rest-order-refunds-controller.php:438
15358
- #: includes/api/class-wc-rest-orders-controller.php:1161
15359
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:402
15360
  #: includes/api/v1/class-wc-rest-orders-controller.php:1235
15361
  msgid "Quantity ordered."
15362
  msgstr ""
15363
 
15364
  #: includes/api/class-wc-rest-order-refunds-controller.php:443
15365
- #: includes/api/class-wc-rest-orders-controller.php:1166
15366
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:407
15367
  #: includes/api/v1/class-wc-rest-orders-controller.php:1240
15368
  msgid "Tax class of product."
15369
  msgstr ""
15370
 
15371
  #: includes/api/class-wc-rest-order-refunds-controller.php:448
15372
- #: includes/api/class-wc-rest-orders-controller.php:1171
15373
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:419
15374
  #: includes/api/v1/class-wc-rest-orders-controller.php:1252
15375
  msgid "Line subtotal (before discounts)."
15376
  msgstr ""
15377
 
15378
  #: includes/api/class-wc-rest-order-refunds-controller.php:453
15379
- #: includes/api/class-wc-rest-orders-controller.php:1176
15380
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:424
15381
  #: includes/api/v1/class-wc-rest-orders-controller.php:1257
15382
  msgid "Line subtotal tax (before discounts)."
15383
  msgstr ""
15384
 
15385
  #: includes/api/class-wc-rest-order-refunds-controller.php:459
15386
- #: includes/api/class-wc-rest-orders-controller.php:1182
15387
- #: includes/api/class-wc-rest-orders-controller.php:1362
15388
- #: includes/api/class-wc-rest-orders-controller.php:1454
15389
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:429
15390
  #: includes/api/v1/class-wc-rest-orders-controller.php:1262
15391
  #: includes/api/v1/class-wc-rest-orders-controller.php:1409
@@ -15394,9 +15389,9 @@ msgid "Line total (after discounts)."
15394
  msgstr ""
15395
 
15396
  #: includes/api/class-wc-rest-order-refunds-controller.php:464
15397
- #: includes/api/class-wc-rest-orders-controller.php:1187
15398
- #: includes/api/class-wc-rest-orders-controller.php:1367
15399
- #: includes/api/class-wc-rest-orders-controller.php:1459
15400
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:434
15401
  #: includes/api/v1/class-wc-rest-orders-controller.php:1267
15402
  #: includes/api/v1/class-wc-rest-orders-controller.php:1414
@@ -15405,9 +15400,9 @@ msgid "Line total tax (after discounts)."
15405
  msgstr ""
15406
 
15407
  #: includes/api/class-wc-rest-order-refunds-controller.php:470
15408
- #: includes/api/class-wc-rest-orders-controller.php:1193
15409
- #: includes/api/class-wc-rest-orders-controller.php:1373
15410
- #: includes/api/class-wc-rest-orders-controller.php:1465
15411
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:439
15412
  #: includes/api/v1/class-wc-rest-orders-controller.php:1272
15413
  #: includes/api/v1/class-wc-rest-orders-controller.php:1420
@@ -15416,10 +15411,10 @@ msgid "Line taxes."
15416
  msgstr ""
15417
 
15418
  #: includes/api/class-wc-rest-order-refunds-controller.php:478
15419
- #: includes/api/class-wc-rest-orders-controller.php:1201
15420
- #: includes/api/class-wc-rest-orders-controller.php:1280
15421
- #: includes/api/class-wc-rest-orders-controller.php:1381
15422
- #: includes/api/class-wc-rest-orders-controller.php:1473
15423
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:447
15424
  #: includes/api/v1/class-wc-rest-orders-controller.php:1280
15425
  #: includes/api/v1/class-wc-rest-orders-controller.php:1353
@@ -15429,9 +15424,9 @@ msgid "Tax rate ID."
15429
  msgstr ""
15430
 
15431
  #: includes/api/class-wc-rest-order-refunds-controller.php:483
15432
- #: includes/api/class-wc-rest-orders-controller.php:1206
15433
- #: includes/api/class-wc-rest-orders-controller.php:1387
15434
- #: includes/api/class-wc-rest-orders-controller.php:1479
15435
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:453
15436
  #: includes/api/v1/class-wc-rest-orders-controller.php:1286
15437
  #: includes/api/v1/class-wc-rest-orders-controller.php:1434
@@ -15440,8 +15435,8 @@ msgid "Tax total."
15440
  msgstr ""
15441
 
15442
  #: includes/api/class-wc-rest-order-refunds-controller.php:488
15443
- #: includes/api/class-wc-rest-orders-controller.php:1211
15444
- #: includes/api/class-wc-rest-orders-controller.php:1485
15445
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:459
15446
  #: includes/api/v1/class-wc-rest-orders-controller.php:1292
15447
  #: includes/api/v1/class-wc-rest-orders-controller.php:1505
@@ -15449,14 +15444,14 @@ msgid "Tax subtotal."
15449
  msgstr ""
15450
 
15451
  #: includes/api/class-wc-rest-order-refunds-controller.php:522
15452
- #: includes/api/class-wc-rest-orders-controller.php:1245
15453
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:386
15454
  #: includes/api/v1/class-wc-rest-orders-controller.php:1219
15455
  msgid "Product SKU."
15456
  msgstr ""
15457
 
15458
  #: includes/api/class-wc-rest-order-refunds-controller.php:528
15459
- #: includes/api/class-wc-rest-orders-controller.php:1251
15460
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:413
15461
  #: includes/api/v1/class-wc-rest-orders-controller.php:1246
15462
  msgid "Product price."
@@ -15500,297 +15495,297 @@ msgstr ""
15500
  msgid "Coupon code is required."
15501
  msgstr ""
15502
 
15503
- #: includes/api/class-wc-rest-orders-controller.php:737
15504
  #: includes/api/legacy/v2/class-wc-api-orders.php:851
15505
  #: includes/api/legacy/v3/class-wc-api-orders.php:897
15506
  #: includes/api/v1/class-wc-rest-orders-controller.php:772
15507
  msgid "Order item ID provided is not associated with order."
15508
  msgstr ""
15509
 
15510
- #: includes/api/class-wc-rest-orders-controller.php:809
15511
  #: includes/api/v1/class-wc-rest-orders-controller.php:920
15512
  msgid "Parent order ID."
15513
  msgstr ""
15514
 
15515
- #: includes/api/class-wc-rest-orders-controller.php:814
15516
  #: includes/api/v1/class-wc-rest-orders-controller.php:938
15517
  msgid "Order number."
15518
  msgstr ""
15519
 
15520
- #: includes/api/class-wc-rest-orders-controller.php:826
15521
  #: includes/api/v1/class-wc-rest-orders-controller.php:1171
15522
  msgid "Shows where the order was created."
15523
  msgstr ""
15524
 
15525
- #: includes/api/class-wc-rest-orders-controller.php:832
15526
  #: includes/api/v1/class-wc-rest-orders-controller.php:951
15527
  msgid "Version of WooCommerce which last updated the order."
15528
  msgstr ""
15529
 
15530
- #: includes/api/class-wc-rest-orders-controller.php:838
15531
  #: includes/api/v1/class-wc-rest-orders-controller.php:925
15532
  msgid "Order status."
15533
  msgstr ""
15534
 
15535
- #: includes/api/class-wc-rest-orders-controller.php:845
15536
  #: includes/api/v1/class-wc-rest-orders-controller.php:944
15537
  msgid "Currency the order was created with, in ISO format."
15538
  msgstr ""
15539
 
15540
- #: includes/api/class-wc-rest-orders-controller.php:852
15541
  msgid "The date the order was created, in the site's timezone."
15542
  msgstr ""
15543
 
15544
- #: includes/api/class-wc-rest-orders-controller.php:864
15545
  msgid "The date the order was last modified, in the site's timezone."
15546
  msgstr ""
15547
 
15548
- #: includes/api/class-wc-rest-orders-controller.php:870
15549
  #: includes/api/v1/class-wc-rest-orders-controller.php:969
15550
  msgid "The date the order was last modified, as GMT."
15551
  msgstr ""
15552
 
15553
- #: includes/api/class-wc-rest-orders-controller.php:876
15554
  #: includes/api/v1/class-wc-rest-orders-controller.php:981
15555
  msgid "Total discount amount for the order."
15556
  msgstr ""
15557
 
15558
- #: includes/api/class-wc-rest-orders-controller.php:882
15559
  #: includes/api/v1/class-wc-rest-orders-controller.php:987
15560
  msgid "Total discount tax amount for the order."
15561
  msgstr ""
15562
 
15563
- #: includes/api/class-wc-rest-orders-controller.php:888
15564
  #: includes/api/v1/class-wc-rest-orders-controller.php:993
15565
  msgid "Total shipping amount for the order."
15566
  msgstr ""
15567
 
15568
- #: includes/api/class-wc-rest-orders-controller.php:894
15569
  #: includes/api/v1/class-wc-rest-orders-controller.php:999
15570
  msgid "Total shipping tax amount for the order."
15571
  msgstr ""
15572
 
15573
- #: includes/api/class-wc-rest-orders-controller.php:900
15574
  #: includes/api/v1/class-wc-rest-orders-controller.php:1005
15575
  msgid "Sum of line item taxes only."
15576
  msgstr ""
15577
 
15578
- #: includes/api/class-wc-rest-orders-controller.php:906
15579
  #: includes/api/v1/class-wc-rest-orders-controller.php:1011
15580
  msgid "Grand total."
15581
  msgstr ""
15582
 
15583
- #: includes/api/class-wc-rest-orders-controller.php:912
15584
  #: includes/api/v1/class-wc-rest-orders-controller.php:1017
15585
  msgid "Sum of all taxes."
15586
  msgstr ""
15587
 
15588
- #: includes/api/class-wc-rest-orders-controller.php:918
15589
  #: includes/api/v1/class-wc-rest-orders-controller.php:957
15590
  msgid "True the prices included tax during checkout."
15591
  msgstr ""
15592
 
15593
- #: includes/api/class-wc-rest-orders-controller.php:924
15594
  #: includes/api/v1/class-wc-rest-orders-controller.php:975
15595
  msgid "User ID who owns the order. 0 for guests."
15596
  msgstr ""
15597
 
15598
- #: includes/api/class-wc-rest-orders-controller.php:930
15599
  #: includes/api/v1/class-wc-rest-orders-controller.php:1159
15600
  msgid "Customer's IP address."
15601
  msgstr ""
15602
 
15603
- #: includes/api/class-wc-rest-orders-controller.php:936
15604
  #: includes/api/v1/class-wc-rest-orders-controller.php:1165
15605
  msgid "User agent of the customer."
15606
  msgstr ""
15607
 
15608
- #: includes/api/class-wc-rest-orders-controller.php:942
15609
  #: includes/api/v1/class-wc-rest-orders-controller.php:1177
15610
  msgid "Note left by customer during checkout."
15611
  msgstr ""
15612
 
15613
- #: includes/api/class-wc-rest-orders-controller.php:947
15614
  #: includes/api/v1/class-wc-rest-orders-controller.php:1023
15615
  msgid "Billing address."
15616
  msgstr ""
15617
 
15618
- #: includes/api/class-wc-rest-orders-controller.php:992
15619
- #: includes/api/class-wc-rest-orders-controller.php:1055
15620
  #: includes/api/v1/class-wc-rest-orders-controller.php:1068
15621
  #: includes/api/v1/class-wc-rest-orders-controller.php:1131
15622
  msgid "Country code in ISO 3166-1 alpha-2 format."
15623
  msgstr ""
15624
 
15625
- #: includes/api/class-wc-rest-orders-controller.php:1010
15626
  #: includes/api/v1/class-wc-rest-orders-controller.php:1086
15627
  msgid "Shipping address."
15628
  msgstr ""
15629
 
15630
- #: includes/api/class-wc-rest-orders-controller.php:1062
15631
  #: includes/api/v1/class-wc-rest-orders-controller.php:1138
15632
  msgid "Payment method ID."
15633
  msgstr ""
15634
 
15635
- #: includes/api/class-wc-rest-orders-controller.php:1067
15636
  #: includes/api/v1/class-wc-rest-orders-controller.php:1143
15637
  msgid "Payment method title."
15638
  msgstr ""
15639
 
15640
- #: includes/api/class-wc-rest-orders-controller.php:1072
15641
  #: includes/api/v1/class-wc-rest-orders-controller.php:1154
15642
  msgid "Unique transaction ID."
15643
  msgstr ""
15644
 
15645
- #: includes/api/class-wc-rest-orders-controller.php:1077
15646
  #: includes/api/v1/class-wc-rest-orders-controller.php:1188
15647
  msgid "The date the order was paid, in the site's timezone."
15648
  msgstr ""
15649
 
15650
- #: includes/api/class-wc-rest-orders-controller.php:1083
15651
  msgid "The date the order was paid, as GMT."
15652
  msgstr ""
15653
 
15654
- #: includes/api/class-wc-rest-orders-controller.php:1089
15655
  #: includes/api/v1/class-wc-rest-orders-controller.php:1182
15656
  msgid "The date the order was completed, in the site's timezone."
15657
  msgstr ""
15658
 
15659
- #: includes/api/class-wc-rest-orders-controller.php:1095
15660
  msgid "The date the order was completed, as GMT."
15661
  msgstr ""
15662
 
15663
- #: includes/api/class-wc-rest-orders-controller.php:1101
15664
  #: includes/api/v1/class-wc-rest-orders-controller.php:1194
15665
  msgid "MD5 hash of cart items to ensure orders are not modified."
15666
  msgstr ""
15667
 
15668
- #: includes/api/class-wc-rest-orders-controller.php:1260
15669
  #: includes/api/v1/class-wc-rest-orders-controller.php:1333
15670
  msgid "Tax lines data."
15671
  msgstr ""
15672
 
15673
- #: includes/api/class-wc-rest-orders-controller.php:1274
15674
  #: includes/api/v1/class-wc-rest-orders-controller.php:1347
15675
  msgid "Tax rate code."
15676
  msgstr ""
15677
 
15678
- #: includes/api/class-wc-rest-orders-controller.php:1286
15679
  #: includes/api/v1/class-wc-rest-orders-controller.php:1359
15680
  msgid "Tax rate label."
15681
  msgstr ""
15682
 
15683
- #: includes/api/class-wc-rest-orders-controller.php:1292
15684
  #: includes/api/v1/class-wc-rest-orders-controller.php:1365
15685
  msgid "Show if is a compound tax rate."
15686
  msgstr ""
15687
 
15688
- #: includes/api/class-wc-rest-orders-controller.php:1298
15689
  #: includes/api/v1/class-wc-rest-orders-controller.php:1371
15690
  msgid "Tax total (not including shipping taxes)."
15691
  msgstr ""
15692
 
15693
- #: includes/api/class-wc-rest-orders-controller.php:1304
15694
  #: includes/api/v1/class-wc-rest-orders-controller.php:1377
15695
  msgid "Shipping tax total."
15696
  msgstr ""
15697
 
15698
- #: includes/api/class-wc-rest-orders-controller.php:1339
15699
  #: includes/api/v1/class-wc-rest-orders-controller.php:1386
15700
  msgid "Shipping lines data."
15701
  msgstr ""
15702
 
15703
- #: includes/api/class-wc-rest-orders-controller.php:1352
15704
  #: includes/api/v1/class-wc-rest-orders-controller.php:1399
15705
  msgid "Shipping method name."
15706
  msgstr ""
15707
 
15708
- #: includes/api/class-wc-rest-orders-controller.php:1357
15709
  #: includes/api/class-wc-rest-shipping-zone-methods-controller.php:49
15710
  #: includes/api/class-wc-rest-shipping-zone-methods-controller.php:462
15711
  #: includes/api/v1/class-wc-rest-orders-controller.php:1404
15712
  msgid "Shipping method ID."
15713
  msgstr ""
15714
 
15715
- #: includes/api/class-wc-rest-orders-controller.php:1425
15716
  #: includes/api/v1/class-wc-rest-orders-controller.php:1446
15717
  msgid "Fee lines data."
15718
  msgstr ""
15719
 
15720
- #: includes/api/class-wc-rest-orders-controller.php:1438
15721
  #: includes/api/v1/class-wc-rest-orders-controller.php:1459
15722
  msgid "Fee name."
15723
  msgstr ""
15724
 
15725
- #: includes/api/class-wc-rest-orders-controller.php:1443
15726
  #: includes/api/v1/class-wc-rest-orders-controller.php:1464
15727
  msgid "Tax class of fee."
15728
  msgstr ""
15729
 
15730
- #: includes/api/class-wc-rest-orders-controller.php:1448
15731
  #: includes/api/v1/class-wc-rest-orders-controller.php:1469
15732
  msgid "Tax status of fee."
15733
  msgstr ""
15734
 
15735
- #: includes/api/class-wc-rest-orders-controller.php:1523
15736
  #: includes/api/v1/class-wc-rest-orders-controller.php:1517
15737
  msgid "Coupons line data."
15738
  msgstr ""
15739
 
15740
- #: includes/api/class-wc-rest-orders-controller.php:1541
15741
  #: includes/api/v1/class-wc-rest-orders-controller.php:1535
15742
  msgid "Discount total."
15743
  msgstr ""
15744
 
15745
- #: includes/api/class-wc-rest-orders-controller.php:1546
15746
  #: includes/api/v1/class-wc-rest-orders-controller.php:1540
15747
  msgid "Discount total tax."
15748
  msgstr ""
15749
 
15750
- #: includes/api/class-wc-rest-orders-controller.php:1581
15751
  #: includes/api/v1/class-wc-rest-orders-controller.php:1549
15752
  msgid "List of refunds."
15753
  msgstr ""
15754
 
15755
- #: includes/api/class-wc-rest-orders-controller.php:1589
15756
  #: includes/api/v1/class-wc-rest-orders-controller.php:1557
15757
  #: includes/cli/class-wc-cli-runner.php:104
15758
  msgid "Refund ID."
15759
  msgstr ""
15760
 
15761
- #: includes/api/class-wc-rest-orders-controller.php:1595
15762
  #: includes/api/v1/class-wc-rest-orders-controller.php:1563
15763
  msgid "Refund reason."
15764
  msgstr ""
15765
 
15766
- #: includes/api/class-wc-rest-orders-controller.php:1601
15767
  #: includes/api/v1/class-wc-rest-orders-controller.php:1569
15768
  msgid "Refund total."
15769
  msgstr ""
15770
 
15771
- #: includes/api/class-wc-rest-orders-controller.php:1610
15772
  #: includes/api/v1/class-wc-rest-orders-controller.php:1148
15773
  msgid ""
15774
  "Define if the order is paid. It will set the status to processing and "
15775
  "reduce stock items."
15776
  msgstr ""
15777
 
15778
- #: includes/api/class-wc-rest-orders-controller.php:1631
15779
  #: includes/api/v1/class-wc-rest-orders-controller.php:1593
15780
  msgid "Limit result set to orders assigned a specific status."
15781
  msgstr ""
15782
 
15783
- #: includes/api/class-wc-rest-orders-controller.php:1638
15784
  #: includes/api/v1/class-wc-rest-orders-controller.php:1600
15785
  msgid "Limit result set to orders assigned a specific customer."
15786
  msgstr ""
15787
 
15788
- #: includes/api/class-wc-rest-orders-controller.php:1644
15789
  #: includes/api/v1/class-wc-rest-orders-controller.php:1606
15790
  msgid "Limit result set to orders assigned a specific product."
15791
  msgstr ""
15792
 
15793
- #: includes/api/class-wc-rest-orders-controller.php:1651
15794
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:515
15795
  #: includes/api/v1/class-wc-rest-orders-controller.php:1613
15796
  msgid "Number of decimal points to use in each resource."
@@ -18912,7 +18907,7 @@ msgstr ""
18912
  msgid "Page %d"
18913
  msgstr ""
18914
 
18915
- #: includes/class-wc-cache-helper.php:196
18916
  msgid ""
18917
  "In order for <strong>database caching</strong> to work with WooCommerce you "
18918
  "must add %1$s to the \"Ignored Query Strings\" option in <a "
@@ -18962,7 +18957,7 @@ msgid ""
18962
  msgstr ""
18963
 
18964
  #: includes/class-wc-cart.php:1089 includes/class-wc-frontend-scripts.php:539
18965
- #: includes/wc-cart-functions.php:117 includes/wc-template-functions.php:1503
18966
  #. translators: %s: product name
18967
  msgid "View cart"
18968
  msgstr ""
@@ -19228,7 +19223,7 @@ msgstr ""
19228
  msgid "Coupon code removed successfully."
19229
  msgstr ""
19230
 
19231
- #: includes/class-wc-coupon.php:898 includes/class-wc-discounts.php:888
19232
  msgid "Coupon is not valid."
19233
  msgstr ""
19234
 
@@ -19267,12 +19262,12 @@ msgstr ""
19267
  msgid "This coupon has expired."
19268
  msgstr ""
19269
 
19270
- #: includes/class-wc-coupon.php:927 includes/class-wc-discounts.php:618
19271
  #. translators: %s: coupon minimum amount
19272
  msgid "The minimum spend for this coupon is %s."
19273
  msgstr ""
19274
 
19275
- #: includes/class-wc-coupon.php:931 includes/class-wc-discounts.php:637
19276
  #. translators: %s: coupon maximum amount
19277
  msgid "The maximum spend for this coupon is %s."
19278
  msgstr ""
@@ -19281,17 +19276,17 @@ msgstr ""
19281
  msgid "Sorry, this coupon is not applicable to your cart contents."
19282
  msgstr ""
19283
 
19284
- #: includes/class-wc-coupon.php:948 includes/class-wc-discounts.php:800
19285
  #. translators: %s: products list
19286
  msgid "Sorry, this coupon is not applicable to the products: %s."
19287
  msgstr ""
19288
 
19289
- #: includes/class-wc-coupon.php:968 includes/class-wc-discounts.php:841
19290
  #. translators: %s: categories list
19291
  msgid "Sorry, this coupon is not applicable to the categories: %s."
19292
  msgstr ""
19293
 
19294
- #: includes/class-wc-coupon.php:971 includes/class-wc-discounts.php:728
19295
  msgid "Sorry, this coupon is not valid for sale items."
19296
  msgstr ""
19297
 
@@ -19321,8 +19316,8 @@ msgstr ""
19321
  msgid "Invalid data store."
19322
  msgstr ""
19323
 
19324
- #: includes/class-wc-discounts.php:663 includes/class-wc-discounts.php:701
19325
- #: includes/class-wc-discounts.php:755
19326
  msgid "Sorry, this coupon is not applicable to selected products."
19327
  msgstr ""
19328
 
@@ -19408,7 +19403,7 @@ msgstr ""
19408
  msgid "Buy now"
19409
  msgstr ""
19410
 
19411
- #: includes/class-wc-embed.php:130 includes/wc-template-functions.php:2672
19412
  #: includes/widgets/class-wc-widget-layered-nav-filters.php:166
19413
  #. translators: %s: average rating
19414
  #. translators: %s: rating
@@ -19528,36 +19523,36 @@ msgstr ""
19528
  msgid "Please choose product options&hellip;"
19529
  msgstr ""
19530
 
19531
- #: includes/class-wc-form-handler.php:896
19532
  msgid "Invalid value posted for %s"
19533
  msgstr ""
19534
 
19535
- #: includes/class-wc-form-handler.php:903
19536
  msgid "%s is a required field"
19537
  msgid_plural "%s are required fields"
19538
  msgstr[0] ""
19539
  msgstr[1] ""
19540
 
19541
- #: includes/class-wc-form-handler.php:940
19542
  #: includes/class-wc-form-handler.php:944
19543
- #: includes/class-wc-form-handler.php:957
19544
- #: includes/class-wc-form-handler.php:1101 includes/wc-user-functions.php:111
 
19545
  msgid "Error:"
19546
  msgstr ""
19547
 
19548
- #: includes/class-wc-form-handler.php:944
19549
  msgid "Username is required."
19550
  msgstr ""
19551
 
19552
- #: includes/class-wc-form-handler.php:957
19553
  msgid "A user could not be found with this email address."
19554
  msgstr ""
19555
 
19556
- #: includes/class-wc-form-handler.php:1035
19557
  msgid "Please enter your password."
19558
  msgstr ""
19559
 
19560
- #: includes/class-wc-form-handler.php:1039
19561
  msgid "Passwords do not match."
19562
  msgstr ""
19563
 
@@ -19570,7 +19565,7 @@ msgid "Error processing checkout. Please try again."
19570
  msgstr ""
19571
 
19572
  #: includes/class-wc-frontend-scripts.php:516
19573
- #: includes/wc-template-functions.php:1985
19574
  msgid "required"
19575
  msgstr ""
19576
 
@@ -20247,7 +20242,7 @@ msgstr ""
20247
  msgid "Order &ndash; %s"
20248
  msgstr ""
20249
 
20250
- #: includes/data-stores/abstract-wc-order-item-type-data-store.php:120
20251
  msgid "Invalid order item."
20252
  msgstr ""
20253
 
@@ -21490,7 +21485,7 @@ msgid "No matching product exists to update."
21490
  msgstr ""
21491
 
21492
  #: includes/legacy/abstract-wc-legacy-order.php:507
21493
- #: includes/wc-template-functions.php:2558
21494
  #. translators: 1: current item count
21495
  msgid "Download %d"
21496
  msgstr ""
@@ -22165,578 +22160,582 @@ msgid "Botswana pula"
22165
  msgstr ""
22166
 
22167
  #: includes/wc-core-functions.php:318
22168
- msgid "Belarusian ruble"
22169
  msgstr ""
22170
 
22171
  #: includes/wc-core-functions.php:319
22172
- msgid "Belize dollar"
22173
  msgstr ""
22174
 
22175
  #: includes/wc-core-functions.php:320
22176
- msgid "Canadian dollar"
22177
  msgstr ""
22178
 
22179
  #: includes/wc-core-functions.php:321
22180
- msgid "Congolese franc"
22181
  msgstr ""
22182
 
22183
  #: includes/wc-core-functions.php:322
22184
- msgid "Swiss franc"
22185
  msgstr ""
22186
 
22187
  #: includes/wc-core-functions.php:323
22188
- msgid "Chilean peso"
22189
  msgstr ""
22190
 
22191
  #: includes/wc-core-functions.php:324
22192
- msgid "Chinese yuan"
22193
  msgstr ""
22194
 
22195
  #: includes/wc-core-functions.php:325
22196
- msgid "Colombian peso"
22197
  msgstr ""
22198
 
22199
  #: includes/wc-core-functions.php:326
22200
- msgid "Costa Rican col&oacute;n"
22201
  msgstr ""
22202
 
22203
  #: includes/wc-core-functions.php:327
22204
- msgid "Cuban convertible peso"
22205
  msgstr ""
22206
 
22207
  #: includes/wc-core-functions.php:328
22208
- msgid "Cuban peso"
22209
  msgstr ""
22210
 
22211
  #: includes/wc-core-functions.php:329
22212
- msgid "Cape Verdean escudo"
22213
  msgstr ""
22214
 
22215
  #: includes/wc-core-functions.php:330
22216
- msgid "Czech koruna"
22217
  msgstr ""
22218
 
22219
  #: includes/wc-core-functions.php:331
22220
- msgid "Djiboutian franc"
22221
  msgstr ""
22222
 
22223
  #: includes/wc-core-functions.php:332
22224
- msgid "Danish krone"
22225
  msgstr ""
22226
 
22227
  #: includes/wc-core-functions.php:333
22228
- msgid "Dominican peso"
22229
  msgstr ""
22230
 
22231
  #: includes/wc-core-functions.php:334
22232
- msgid "Algerian dinar"
22233
  msgstr ""
22234
 
22235
  #: includes/wc-core-functions.php:335
22236
- msgid "Egyptian pound"
22237
  msgstr ""
22238
 
22239
  #: includes/wc-core-functions.php:336
22240
- msgid "Eritrean nakfa"
22241
  msgstr ""
22242
 
22243
  #: includes/wc-core-functions.php:337
22244
- msgid "Ethiopian birr"
22245
  msgstr ""
22246
 
22247
  #: includes/wc-core-functions.php:338
22248
- msgid "Euro"
22249
  msgstr ""
22250
 
22251
  #: includes/wc-core-functions.php:339
22252
- msgid "Fijian dollar"
22253
  msgstr ""
22254
 
22255
  #: includes/wc-core-functions.php:340
22256
- msgid "Falkland Islands pound"
22257
  msgstr ""
22258
 
22259
  #: includes/wc-core-functions.php:341
22260
- msgid "Pound sterling"
22261
  msgstr ""
22262
 
22263
  #: includes/wc-core-functions.php:342
22264
- msgid "Georgian lari"
22265
  msgstr ""
22266
 
22267
  #: includes/wc-core-functions.php:343
22268
- msgid "Guernsey pound"
22269
  msgstr ""
22270
 
22271
  #: includes/wc-core-functions.php:344
22272
- msgid "Ghana cedi"
22273
  msgstr ""
22274
 
22275
  #: includes/wc-core-functions.php:345
22276
- msgid "Gibraltar pound"
22277
  msgstr ""
22278
 
22279
  #: includes/wc-core-functions.php:346
22280
- msgid "Gambian dalasi"
22281
  msgstr ""
22282
 
22283
  #: includes/wc-core-functions.php:347
22284
- msgid "Guinean franc"
22285
  msgstr ""
22286
 
22287
  #: includes/wc-core-functions.php:348
22288
- msgid "Guatemalan quetzal"
22289
  msgstr ""
22290
 
22291
  #: includes/wc-core-functions.php:349
22292
- msgid "Guyanese dollar"
22293
  msgstr ""
22294
 
22295
  #: includes/wc-core-functions.php:350
22296
- msgid "Hong Kong dollar"
22297
  msgstr ""
22298
 
22299
  #: includes/wc-core-functions.php:351
22300
- msgid "Honduran lempira"
22301
  msgstr ""
22302
 
22303
  #: includes/wc-core-functions.php:352
22304
- msgid "Croatian kuna"
22305
  msgstr ""
22306
 
22307
  #: includes/wc-core-functions.php:353
22308
- msgid "Haitian gourde"
22309
  msgstr ""
22310
 
22311
  #: includes/wc-core-functions.php:354
22312
- msgid "Hungarian forint"
22313
  msgstr ""
22314
 
22315
  #: includes/wc-core-functions.php:355
22316
- msgid "Indonesian rupiah"
22317
  msgstr ""
22318
 
22319
  #: includes/wc-core-functions.php:356
22320
- msgid "Israeli new shekel"
22321
  msgstr ""
22322
 
22323
  #: includes/wc-core-functions.php:357
22324
- msgid "Manx pound"
22325
  msgstr ""
22326
 
22327
  #: includes/wc-core-functions.php:358
22328
- msgid "Indian rupee"
22329
  msgstr ""
22330
 
22331
  #: includes/wc-core-functions.php:359
22332
- msgid "Iraqi dinar"
22333
  msgstr ""
22334
 
22335
  #: includes/wc-core-functions.php:360
22336
- msgid "Iranian rial"
22337
  msgstr ""
22338
 
22339
  #: includes/wc-core-functions.php:361
22340
- msgid "Iranian toman"
22341
  msgstr ""
22342
 
22343
  #: includes/wc-core-functions.php:362
22344
- msgid "Icelandic kr&oacute;na"
22345
  msgstr ""
22346
 
22347
  #: includes/wc-core-functions.php:363
22348
- msgid "Jersey pound"
22349
  msgstr ""
22350
 
22351
  #: includes/wc-core-functions.php:364
22352
- msgid "Jamaican dollar"
22353
  msgstr ""
22354
 
22355
  #: includes/wc-core-functions.php:365
22356
- msgid "Jordanian dinar"
22357
  msgstr ""
22358
 
22359
  #: includes/wc-core-functions.php:366
22360
- msgid "Japanese yen"
22361
  msgstr ""
22362
 
22363
  #: includes/wc-core-functions.php:367
22364
- msgid "Kenyan shilling"
22365
  msgstr ""
22366
 
22367
  #: includes/wc-core-functions.php:368
22368
- msgid "Kyrgyzstani som"
22369
  msgstr ""
22370
 
22371
  #: includes/wc-core-functions.php:369
22372
- msgid "Cambodian riel"
22373
  msgstr ""
22374
 
22375
  #: includes/wc-core-functions.php:370
22376
- msgid "Comorian franc"
22377
  msgstr ""
22378
 
22379
  #: includes/wc-core-functions.php:371
22380
- msgid "North Korean won"
22381
  msgstr ""
22382
 
22383
  #: includes/wc-core-functions.php:372
22384
- msgid "South Korean won"
22385
  msgstr ""
22386
 
22387
  #: includes/wc-core-functions.php:373
22388
- msgid "Kuwaiti dinar"
22389
  msgstr ""
22390
 
22391
  #: includes/wc-core-functions.php:374
22392
- msgid "Cayman Islands dollar"
22393
  msgstr ""
22394
 
22395
  #: includes/wc-core-functions.php:375
22396
- msgid "Kazakhstani tenge"
22397
  msgstr ""
22398
 
22399
  #: includes/wc-core-functions.php:376
22400
- msgid "Lao kip"
22401
  msgstr ""
22402
 
22403
  #: includes/wc-core-functions.php:377
22404
- msgid "Lebanese pound"
22405
  msgstr ""
22406
 
22407
  #: includes/wc-core-functions.php:378
22408
- msgid "Sri Lankan rupee"
22409
  msgstr ""
22410
 
22411
  #: includes/wc-core-functions.php:379
22412
- msgid "Liberian dollar"
22413
  msgstr ""
22414
 
22415
  #: includes/wc-core-functions.php:380
22416
- msgid "Lesotho loti"
22417
  msgstr ""
22418
 
22419
  #: includes/wc-core-functions.php:381
22420
- msgid "Libyan dinar"
22421
  msgstr ""
22422
 
22423
  #: includes/wc-core-functions.php:382
22424
- msgid "Moroccan dirham"
22425
  msgstr ""
22426
 
22427
  #: includes/wc-core-functions.php:383
22428
- msgid "Moldovan leu"
22429
  msgstr ""
22430
 
22431
  #: includes/wc-core-functions.php:384
22432
- msgid "Malagasy ariary"
22433
  msgstr ""
22434
 
22435
  #: includes/wc-core-functions.php:385
22436
- msgid "Macedonian denar"
22437
  msgstr ""
22438
 
22439
  #: includes/wc-core-functions.php:386
22440
- msgid "Burmese kyat"
22441
  msgstr ""
22442
 
22443
  #: includes/wc-core-functions.php:387
22444
- msgid "Mongolian t&ouml;gr&ouml;g"
22445
  msgstr ""
22446
 
22447
  #: includes/wc-core-functions.php:388
22448
- msgid "Macanese pataca"
22449
  msgstr ""
22450
 
22451
  #: includes/wc-core-functions.php:389
22452
- msgid "Mauritanian ouguiya"
22453
  msgstr ""
22454
 
22455
  #: includes/wc-core-functions.php:390
22456
- msgid "Mauritian rupee"
22457
  msgstr ""
22458
 
22459
  #: includes/wc-core-functions.php:391
22460
- msgid "Maldivian rufiyaa"
22461
  msgstr ""
22462
 
22463
  #: includes/wc-core-functions.php:392
22464
- msgid "Malawian kwacha"
22465
  msgstr ""
22466
 
22467
  #: includes/wc-core-functions.php:393
22468
- msgid "Mexican peso"
22469
  msgstr ""
22470
 
22471
  #: includes/wc-core-functions.php:394
22472
- msgid "Malaysian ringgit"
22473
  msgstr ""
22474
 
22475
  #: includes/wc-core-functions.php:395
22476
- msgid "Mozambican metical"
22477
  msgstr ""
22478
 
22479
  #: includes/wc-core-functions.php:396
22480
- msgid "Namibian dollar"
22481
  msgstr ""
22482
 
22483
  #: includes/wc-core-functions.php:397
22484
- msgid "Nigerian naira"
22485
  msgstr ""
22486
 
22487
  #: includes/wc-core-functions.php:398
22488
- msgid "Nicaraguan c&oacute;rdoba"
22489
  msgstr ""
22490
 
22491
  #: includes/wc-core-functions.php:399
22492
- msgid "Norwegian krone"
22493
  msgstr ""
22494
 
22495
  #: includes/wc-core-functions.php:400
22496
- msgid "Nepalese rupee"
22497
  msgstr ""
22498
 
22499
  #: includes/wc-core-functions.php:401
22500
- msgid "New Zealand dollar"
22501
  msgstr ""
22502
 
22503
  #: includes/wc-core-functions.php:402
22504
- msgid "Omani rial"
22505
  msgstr ""
22506
 
22507
  #: includes/wc-core-functions.php:403
22508
- msgid "Panamanian balboa"
22509
  msgstr ""
22510
 
22511
  #: includes/wc-core-functions.php:404
22512
- msgid "Peruvian nuevo sol"
22513
  msgstr ""
22514
 
22515
  #: includes/wc-core-functions.php:405
22516
- msgid "Papua New Guinean kina"
22517
  msgstr ""
22518
 
22519
  #: includes/wc-core-functions.php:406
22520
- msgid "Philippine peso"
22521
  msgstr ""
22522
 
22523
  #: includes/wc-core-functions.php:407
22524
- msgid "Pakistani rupee"
22525
  msgstr ""
22526
 
22527
  #: includes/wc-core-functions.php:408
22528
- msgid "Polish z&#x142;oty"
22529
  msgstr ""
22530
 
22531
  #: includes/wc-core-functions.php:409
22532
- msgid "Transnistrian ruble"
22533
  msgstr ""
22534
 
22535
  #: includes/wc-core-functions.php:410
22536
- msgid "Paraguayan guaran&iacute;"
22537
  msgstr ""
22538
 
22539
  #: includes/wc-core-functions.php:411
22540
- msgid "Qatari riyal"
22541
  msgstr ""
22542
 
22543
  #: includes/wc-core-functions.php:412
22544
- msgid "Romanian leu"
22545
  msgstr ""
22546
 
22547
  #: includes/wc-core-functions.php:413
22548
- msgid "Serbian dinar"
22549
  msgstr ""
22550
 
22551
  #: includes/wc-core-functions.php:414
22552
- msgid "Russian ruble"
22553
  msgstr ""
22554
 
22555
  #: includes/wc-core-functions.php:415
22556
- msgid "Rwandan franc"
22557
  msgstr ""
22558
 
22559
  #: includes/wc-core-functions.php:416
22560
- msgid "Saudi riyal"
22561
  msgstr ""
22562
 
22563
  #: includes/wc-core-functions.php:417
22564
- msgid "Solomon Islands dollar"
22565
  msgstr ""
22566
 
22567
  #: includes/wc-core-functions.php:418
22568
- msgid "Seychellois rupee"
22569
  msgstr ""
22570
 
22571
  #: includes/wc-core-functions.php:419
22572
- msgid "Sudanese pound"
22573
  msgstr ""
22574
 
22575
  #: includes/wc-core-functions.php:420
22576
- msgid "Swedish krona"
22577
  msgstr ""
22578
 
22579
  #: includes/wc-core-functions.php:421
22580
- msgid "Singapore dollar"
22581
  msgstr ""
22582
 
22583
  #: includes/wc-core-functions.php:422
22584
- msgid "Saint Helena pound"
22585
  msgstr ""
22586
 
22587
  #: includes/wc-core-functions.php:423
22588
- msgid "Sierra Leonean leone"
22589
  msgstr ""
22590
 
22591
  #: includes/wc-core-functions.php:424
22592
- msgid "Somali shilling"
22593
  msgstr ""
22594
 
22595
  #: includes/wc-core-functions.php:425
22596
- msgid "Surinamese dollar"
22597
  msgstr ""
22598
 
22599
  #: includes/wc-core-functions.php:426
22600
- msgid "South Sudanese pound"
22601
  msgstr ""
22602
 
22603
  #: includes/wc-core-functions.php:427
22604
- msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe dobra"
22605
  msgstr ""
22606
 
22607
  #: includes/wc-core-functions.php:428
22608
- msgid "Syrian pound"
22609
  msgstr ""
22610
 
22611
  #: includes/wc-core-functions.php:429
22612
- msgid "Swazi lilangeni"
22613
  msgstr ""
22614
 
22615
  #: includes/wc-core-functions.php:430
22616
- msgid "Thai baht"
22617
  msgstr ""
22618
 
22619
  #: includes/wc-core-functions.php:431
22620
- msgid "Tajikistani somoni"
22621
  msgstr ""
22622
 
22623
  #: includes/wc-core-functions.php:432
22624
- msgid "Turkmenistan manat"
22625
  msgstr ""
22626
 
22627
  #: includes/wc-core-functions.php:433
22628
- msgid "Tunisian dinar"
22629
  msgstr ""
22630
 
22631
  #: includes/wc-core-functions.php:434
22632
- msgid "Tongan pa&#x2bb;anga"
22633
  msgstr ""
22634
 
22635
  #: includes/wc-core-functions.php:435
22636
- msgid "Turkish lira"
22637
  msgstr ""
22638
 
22639
  #: includes/wc-core-functions.php:436
22640
- msgid "Trinidad and Tobago dollar"
22641
  msgstr ""
22642
 
22643
  #: includes/wc-core-functions.php:437
22644
- msgid "New Taiwan dollar"
22645
  msgstr ""
22646
 
22647
  #: includes/wc-core-functions.php:438
22648
- msgid "Tanzanian shilling"
22649
  msgstr ""
22650
 
22651
  #: includes/wc-core-functions.php:439
22652
- msgid "Ukrainian hryvnia"
22653
  msgstr ""
22654
 
22655
  #: includes/wc-core-functions.php:440
22656
- msgid "Ugandan shilling"
22657
  msgstr ""
22658
 
22659
  #: includes/wc-core-functions.php:441
22660
- msgid "United States dollar"
22661
  msgstr ""
22662
 
22663
  #: includes/wc-core-functions.php:442
22664
- msgid "Uruguayan peso"
22665
  msgstr ""
22666
 
22667
  #: includes/wc-core-functions.php:443
22668
- msgid "Uzbekistani som"
22669
  msgstr ""
22670
 
22671
  #: includes/wc-core-functions.php:444
22672
- msgid "Venezuelan bol&iacute;var"
22673
  msgstr ""
22674
 
22675
  #: includes/wc-core-functions.php:445
22676
- msgid "Vietnamese &#x111;&#x1ed3;ng"
22677
  msgstr ""
22678
 
22679
  #: includes/wc-core-functions.php:446
22680
- msgid "Vanuatu vatu"
22681
  msgstr ""
22682
 
22683
  #: includes/wc-core-functions.php:447
22684
- msgid "Samoan t&#x101;l&#x101;"
22685
  msgstr ""
22686
 
22687
  #: includes/wc-core-functions.php:448
22688
- msgid "Central African CFA franc"
22689
  msgstr ""
22690
 
22691
  #: includes/wc-core-functions.php:449
22692
- msgid "East Caribbean dollar"
22693
  msgstr ""
22694
 
22695
  #: includes/wc-core-functions.php:450
22696
- msgid "West African CFA franc"
22697
  msgstr ""
22698
 
22699
  #: includes/wc-core-functions.php:451
22700
- msgid "CFP franc"
22701
  msgstr ""
22702
 
22703
  #: includes/wc-core-functions.php:452
22704
- msgid "Yemeni rial"
22705
  msgstr ""
22706
 
22707
  #: includes/wc-core-functions.php:453
22708
- msgid "South African rand"
22709
  msgstr ""
22710
 
22711
  #: includes/wc-core-functions.php:454
 
 
 
 
22712
  msgid "Zambian kwacha"
22713
  msgstr ""
22714
 
22715
- #: includes/wc-core-functions.php:1243
22716
  msgid "MasterCard"
22717
  msgstr ""
22718
 
22719
- #: includes/wc-core-functions.php:1244
22720
  msgid "Visa"
22721
  msgstr ""
22722
 
22723
- #: includes/wc-core-functions.php:1245
22724
  msgid "Discover"
22725
  msgstr ""
22726
 
22727
- #: includes/wc-core-functions.php:1246
22728
  msgid "American Express"
22729
  msgstr ""
22730
 
22731
- #: includes/wc-core-functions.php:1247
22732
  msgid "Diners"
22733
  msgstr ""
22734
 
22735
- #: includes/wc-core-functions.php:1248
22736
  msgid "JCB"
22737
  msgstr ""
22738
 
22739
- #: includes/wc-core-functions.php:1542
22740
  #. translators: 1: class name 2: woocommerce_logging_class 3:
22741
  #. WC_Logger_Interface
22742
  msgid "The class %1$s provided by %2$s filter must implement %3$s."
@@ -22754,15 +22753,15 @@ msgstr ""
22754
  msgid "Fixed product discount"
22755
  msgstr ""
22756
 
22757
- #: includes/wc-formatting-functions.php:1043
22758
  msgid "Only %s left in stock"
22759
  msgstr ""
22760
 
22761
- #: includes/wc-formatting-functions.php:1047
22762
  msgid "%s in stock"
22763
  msgstr ""
22764
 
22765
- #: includes/wc-formatting-functions.php:1052
22766
  msgid "(can be backordered)"
22767
  msgstr ""
22768
 
@@ -22851,75 +22850,75 @@ msgstr ""
22851
  msgid "&nbsp;&ndash; Page %s"
22852
  msgstr ""
22853
 
22854
- #: includes/wc-template-functions.php:840
22855
  msgid "Default sorting"
22856
  msgstr ""
22857
 
22858
- #: includes/wc-template-functions.php:841
22859
  msgid "Sort by popularity"
22860
  msgstr ""
22861
 
22862
- #: includes/wc-template-functions.php:842
22863
  msgid "Sort by average rating"
22864
  msgstr ""
22865
 
22866
- #: includes/wc-template-functions.php:843
22867
  msgid "Sort by newness"
22868
  msgstr ""
22869
 
22870
- #: includes/wc-template-functions.php:844
22871
  msgid "Sort by price: low to high"
22872
  msgstr ""
22873
 
22874
- #: includes/wc-template-functions.php:845
22875
  msgid "Sort by price: high to low"
22876
  msgstr ""
22877
 
22878
- #: includes/wc-template-functions.php:849
22879
  msgid "Relevance"
22880
  msgstr ""
22881
 
22882
- #: includes/wc-template-functions.php:1195
22883
  #: templates/checkout/form-shipping.php:63
22884
  #: templates/single-product/tabs/additional-information.php:25
22885
  msgid "Additional information"
22886
  msgstr ""
22887
 
22888
- #: includes/wc-template-functions.php:1204
22889
  msgid "Reviews (%d)"
22890
  msgstr ""
22891
 
22892
- #: includes/wc-template-functions.php:1515
22893
  msgid "Checkout"
22894
  msgstr ""
22895
 
22896
- #: includes/wc-template-functions.php:1644
22897
  msgid "Place order"
22898
  msgstr ""
22899
 
22900
- #: includes/wc-template-functions.php:2052
22901
  msgid "Update country"
22902
  msgstr ""
22903
 
22904
- #: includes/wc-template-functions.php:2071
22905
  #: templates/cart/shipping-calculator.php:64
22906
  msgid "Select a state&hellip;"
22907
  msgstr ""
22908
 
22909
- #: includes/wc-template-functions.php:2116
22910
- #: includes/wc-template-functions.php:2268
22911
- #: includes/wc-template-functions.php:2278
22912
  msgid "Choose an option"
22913
  msgstr ""
22914
 
22915
- #: includes/wc-template-functions.php:2669
22916
  #. translators: 1: rating 2: rating count
22917
  msgid "Rated %1$s out of 5 based on %2$s customer rating"
22918
  msgid_plural "Rated %1$s out of 5 based on %2$s customer ratings"
22919
  msgstr[0] ""
22920
  msgstr[1] ""
22921
 
22922
- #: includes/wc-template-functions.php:2716
22923
  msgid "Your cart is currently empty."
22924
  msgstr ""
22925
 
@@ -23595,6 +23594,12 @@ msgstr ""
23595
  msgid "No downloads available yet."
23596
  msgstr ""
23597
 
 
 
 
 
 
 
23598
  #: templates/myaccount/form-edit-account.php:45
23599
  msgid "Password change"
23600
  msgstr ""
@@ -24039,19 +24044,19 @@ msgid "Webhooks"
24039
  msgstr ""
24040
 
24041
  #: includes/admin/class-wc-admin-permalink-settings.php:76
24042
- #: includes/wc-core-functions.php:1697 includes/wc-update-functions.php:51
24043
  msgctxt "slug"
24044
  msgid "product-category"
24045
  msgstr ""
24046
 
24047
  #: includes/admin/class-wc-admin-permalink-settings.php:85
24048
- #: includes/wc-core-functions.php:1698 includes/wc-update-functions.php:52
24049
  msgctxt "slug"
24050
  msgid "product-tag"
24051
  msgstr ""
24052
 
24053
  #: includes/admin/class-wc-admin-permalink-settings.php:194
24054
- #: includes/wc-core-functions.php:1696 includes/wc-update-functions.php:60
24055
  msgctxt "slug"
24056
  msgid "product"
24057
  msgstr ""
@@ -24079,7 +24084,7 @@ msgctxt "full name"
24079
  msgid "%1$s %2$s"
24080
  msgstr ""
24081
 
24082
- #: includes/admin/class-wc-admin-setup-wizard.php:1084
24083
  #: includes/gateways/cheque/class-wc-gateway-cheque.php:27
24084
  #: includes/gateways/cheque/class-wc-gateway-cheque.php:63
24085
  msgctxt "Check payment method"
@@ -24293,7 +24298,7 @@ msgctxt "Price range: from-to"
24293
  msgid "%1$s&ndash;%2$s"
24294
  msgstr ""
24295
 
24296
- #: includes/wc-formatting-functions.php:1089
24297
  msgctxt "Price range: from-to"
24298
  msgid "%1$s &ndash; %2$s"
24299
  msgstr ""
@@ -24315,12 +24320,12 @@ msgid_plural "Shipping %d"
24315
  msgstr[0] ""
24316
  msgstr[1] ""
24317
 
24318
- #: includes/wc-template-functions.php:1590
24319
  msgctxt "breadcrumb"
24320
  msgid "Home"
24321
  msgstr ""
24322
 
24323
- #: includes/wc-template-functions.php:2687
24324
  msgctxt "min_price"
24325
  msgid "From:"
24326
  msgstr ""
2
  # This file is distributed under the same license as the WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WooCommerce 3.2.4\n"
6
  "Report-Msgid-Bugs-To: https://github.com/woocommerce/woocommerce/issues\n"
7
+ "POT-Creation-Date: 2017-11-16 17:34:08+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
+ "X-Generator: grunt-wp-i18n1.0.0\n"
15
 
16
  #: i18n/continents.php:19
17
  msgid "Africa"
5943
  #: includes/api/class-wc-rest-order-refunds-controller.php:92
5944
  #: includes/api/class-wc-rest-order-refunds-controller.php:351
5945
  #: includes/api/class-wc-rest-orders-controller.php:82
5946
+ #: includes/api/class-wc-rest-orders-controller.php:797
5947
  #: includes/api/class-wc-rest-payment-gateways-controller.php:53
5948
  #: includes/api/class-wc-rest-product-categories-controller.php:107
5949
  #: includes/api/class-wc-rest-product-reviews-controller.php:155
6082
 
6083
  #: includes/admin/class-wc-admin-addons.php:336
6084
  #: includes/admin/class-wc-admin-addons.php:500
6085
+ #: includes/admin/class-wc-admin-setup-wizard.php:583
6086
  msgid "WooCommerce Services"
6087
  msgstr ""
6088
 
6124
  #: includes/admin/class-wc-admin-post-types.php:301
6125
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:425
6126
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:548
6127
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:313
6128
  #: includes/admin/settings/class-wc-settings-shipping.php:345
6129
  #: includes/admin/settings/views/html-admin-page-shipping-zone-methods.php:73
6130
  #: includes/admin/settings/views/html-keys-edit.php:16
6134
  #: includes/gateways/cod/class-wc-gateway-cod.php:83
6135
  #: includes/gateways/paypal/includes/settings-paypal.php:25
6136
  #: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:204
6137
+ #: includes/wc-template-functions.php:1187
6138
  #: templates/single-product/tabs/description.php:25
6139
  msgid "Description"
6140
  msgstr ""
6428
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:543
6429
  #: includes/admin/meta-boxes/views/html-product-attribute.php:17
6430
  #: includes/admin/meta-boxes/views/html-product-data-general.php:66
6431
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:326
6432
  #: includes/admin/settings/views/html-webhooks-edit.php:15
6433
  #: includes/admin/views/html-admin-page-status-report.php:614
6434
  #: includes/export/class-wc-product-csv-exporter.php:83
7862
 
7863
  #: includes/admin/class-wc-admin-post-types.php:451
7864
  #: includes/admin/reports/class-wc-report-stock.php:112
7865
+ #: includes/wc-formatting-functions.php:1040
7866
  #: includes/wc-product-functions.php:782
7867
  msgid "In stock"
7868
  msgstr ""
8124
  #: includes/admin/settings/class-wc-settings-general.php:55
8125
  #: includes/api/class-wc-rest-customers-controller.php:219
8126
  #: includes/api/class-wc-rest-customers-controller.php:282
8127
+ #: includes/api/class-wc-rest-orders-controller.php:961
8128
+ #: includes/api/class-wc-rest-orders-controller.php:1024
8129
  msgid "Address line 1"
8130
  msgstr ""
8131
 
8137
  #: includes/admin/settings/class-wc-settings-general.php:64
8138
  #: includes/api/class-wc-rest-customers-controller.php:224
8139
  #: includes/api/class-wc-rest-customers-controller.php:287
8140
+ #: includes/api/class-wc-rest-orders-controller.php:966
8141
+ #: includes/api/class-wc-rest-orders-controller.php:1029
8142
  msgid "Address line 2"
8143
  msgstr ""
8144
 
8182
  #: includes/admin/class-wc-admin-profile.php:136
8183
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:75
8184
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:124
8185
+ #: includes/wc-template-functions.php:2045
8186
  #: templates/cart/shipping-calculator.php:39
8187
  msgid "Select a country&hellip;"
8188
  msgstr ""
8210
  msgstr ""
8211
 
8212
  #: includes/admin/class-wc-admin-profile.php:88
8213
+ #: includes/admin/class-wc-admin-setup-wizard.php:1618
8214
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:83
8215
  #: includes/class-wc-countries.php:1158 includes/class-wc-form-handler.php:214
8216
  #: templates/myaccount/form-edit-account.php:40
8325
  msgstr ""
8326
 
8327
  #: includes/admin/class-wc-admin-setup-wizard.php:99
8328
+ #: includes/admin/class-wc-admin-setup-wizard.php:1209
8329
  msgid "Payment"
8330
  msgstr ""
8331
 
8332
  #: includes/admin/class-wc-admin-setup-wizard.php:104
8333
+ #: includes/admin/class-wc-admin-setup-wizard.php:741
8334
  #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:92
8335
  #: includes/admin/meta-boxes/views/html-order-shipping.php:17
8336
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:69
8403
  msgid "What type of product do you plan to sell?"
8404
  msgstr ""
8405
 
8406
+ #: includes/admin/class-wc-admin-setup-wizard.php:408
8407
+ msgid "I plan to sell both physical and digital products"
 
8408
  msgstr ""
8409
 
8410
+ #: includes/admin/class-wc-admin-setup-wizard.php:409
8411
  msgid "I plan to sell physical products"
8412
  msgstr ""
8413
 
8414
+ #: includes/admin/class-wc-admin-setup-wizard.php:410
8415
  msgid "I plan to sell digital products"
8416
  msgstr ""
8417
 
8418
+ #: includes/admin/class-wc-admin-setup-wizard.php:415
 
 
 
 
8419
  msgid ""
8420
  "Allow WooCommerce to collect non-sensitive diagnostic data and usage "
8421
  "information."
8422
  msgstr ""
8423
 
8424
+ #: includes/admin/class-wc-admin-setup-wizard.php:419
8425
  msgid "Let's go!"
8426
  msgstr ""
8427
 
8428
+ #: includes/admin/class-wc-admin-setup-wizard.php:571
8429
+ #: includes/admin/class-wc-admin-setup-wizard.php:1558
8430
  msgid "Jetpack"
8431
  msgstr ""
8432
 
8433
+ #: includes/admin/class-wc-admin-setup-wizard.php:618
8434
  msgid "Live Rates"
8435
  msgstr ""
8436
 
8437
+ #: includes/admin/class-wc-admin-setup-wizard.php:619
8438
  msgid "WooCommerce Services and Jetpack will be installed and activated for you."
8439
  msgstr ""
8440
 
8441
+ #: includes/admin/class-wc-admin-setup-wizard.php:622
8442
  msgid "Flat Rate"
8443
  msgstr ""
8444
 
8445
+ #: includes/admin/class-wc-admin-setup-wizard.php:623
8446
  msgid "Set a fixed price to cover shipping costs."
8447
  msgstr ""
8448
 
8449
+ #: includes/admin/class-wc-admin-setup-wizard.php:627
8450
  #: includes/admin/meta-boxes/views/html-order-items.php:31
8451
  #: includes/shipping/flat-rate/includes/settings-flat-rate.php:31
8452
  #: includes/shipping/legacy-flat-rate/includes/settings-flat-rate.php:58
8454
  msgid "Cost"
8455
  msgstr ""
8456
 
8457
+ #: includes/admin/class-wc-admin-setup-wizard.php:628
8458
  msgid "What would you like to charge for flat rate shipping?"
8459
  msgstr ""
8460
 
8461
+ #: includes/admin/class-wc-admin-setup-wizard.php:634
8462
  #: includes/shipping/legacy-free-shipping/class-wc-shipping-legacy-free-shipping.php:92
8463
  msgid "Free Shipping"
8464
  msgstr ""
8465
 
8466
+ #: includes/admin/class-wc-admin-setup-wizard.php:635
8467
  msgid "Don't charge for shipping."
8468
  msgstr ""
8469
 
8470
+ #: includes/admin/class-wc-admin-setup-wizard.php:724
8471
  msgid "How would you like units on your store displayed?"
8472
  msgstr ""
8473
 
8474
+ #: includes/admin/class-wc-admin-setup-wizard.php:728
8475
  #. translators: %1$s: country name including the 'the' prefix, %2$s: shipping
8476
  #. carrier name
8477
  msgid ""
8481
  "the cost of order fulfillment."
8482
  msgstr ""
8483
 
8484
+ #: includes/admin/class-wc-admin-setup-wizard.php:735
8485
  #. translators: %s: country name including the 'the' prefix if needed
8486
  msgid ""
8487
  "You can choose which countries you'll be shipping to and with which "
8489
  "of %s."
8490
  msgstr ""
8491
 
8492
+ #: includes/admin/class-wc-admin-setup-wizard.php:748
8493
  msgid "Shipping Zone"
8494
  msgstr ""
8495
 
8496
+ #: includes/admin/class-wc-admin-setup-wizard.php:751
8497
  msgid "Shipping Method"
8498
  msgstr ""
8499
 
8500
+ #: includes/admin/class-wc-admin-setup-wizard.php:770
8501
  #: includes/admin/settings/views/html-admin-page-shipping-zones.php:26
8502
  #: includes/data-stores/class-wc-shipping-zone-data-store.php:67
8503
  msgid "Locations not covered by your other zones"
8504
  msgstr ""
8505
 
8506
+ #: includes/admin/class-wc-admin-setup-wizard.php:791
8507
  msgid "<strong>Weight unit</strong>—used to calculate shipping rates, and more."
8508
  msgstr ""
8509
 
8510
+ #: includes/admin/class-wc-admin-setup-wizard.php:798
8511
  #: includes/admin/settings/class-wc-settings-products.php:433
8512
  msgid "kg"
8513
  msgstr ""
8514
 
8515
+ #: includes/admin/class-wc-admin-setup-wizard.php:799
8516
  #: includes/admin/settings/class-wc-settings-products.php:434
8517
  msgid "g"
8518
  msgstr ""
8519
 
8520
+ #: includes/admin/class-wc-admin-setup-wizard.php:800
8521
  #: includes/admin/settings/class-wc-settings-products.php:435
8522
  msgid "lbs"
8523
  msgstr ""
8524
 
8525
+ #: includes/admin/class-wc-admin-setup-wizard.php:801
8526
  #: includes/admin/settings/class-wc-settings-products.php:436
8527
  msgid "oz"
8528
  msgstr ""
8529
 
8530
+ #: includes/admin/class-wc-admin-setup-wizard.php:809
8531
  msgid "<strong>Dimension unit</strong>—helps for accurate package selection."
8532
  msgstr ""
8533
 
8534
+ #: includes/admin/class-wc-admin-setup-wizard.php:816
8535
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:216
8536
  #: includes/admin/settings/class-wc-settings-products.php:450
8537
  msgid "m"
8538
  msgstr ""
8539
 
8540
+ #: includes/admin/class-wc-admin-setup-wizard.php:817
8541
  #: includes/admin/settings/class-wc-settings-products.php:451
8542
  msgid "cm"
8543
  msgstr ""
8544
 
8545
+ #: includes/admin/class-wc-admin-setup-wizard.php:818
8546
  #: includes/admin/settings/class-wc-settings-products.php:452
8547
  msgid "mm"
8548
  msgstr ""
8549
 
8550
+ #: includes/admin/class-wc-admin-setup-wizard.php:819
8551
  #: includes/admin/settings/class-wc-settings-products.php:453
8552
  msgid "in"
8553
  msgstr ""
8554
 
8555
+ #: includes/admin/class-wc-admin-setup-wizard.php:820
8556
  #: includes/admin/settings/class-wc-settings-products.php:454
8557
  msgid "yd"
8558
  msgstr ""
8559
 
8560
+ #: includes/admin/class-wc-admin-setup-wizard.php:826
8561
+ #: includes/admin/class-wc-admin-setup-wizard.php:1249
8562
+ #: includes/admin/class-wc-admin-setup-wizard.php:1359
8563
  #: includes/admin/importers/views/html-product-csv-import-form.php:89
8564
  msgid "Continue"
8565
  msgstr ""
8566
 
8567
+ #: includes/admin/class-wc-admin-setup-wizard.php:989
8568
  msgid ""
8569
  "Accept all major debit &amp; credit cards from customers in 135+ countries "
8570
  "on your site. <a href=\"%s\" target=\"_blank\">Learn more</a>."
8571
  msgstr ""
8572
 
8573
+ #: includes/admin/class-wc-admin-setup-wizard.php:993
8574
+ #: includes/admin/class-wc-admin-setup-wizard.php:997
8575
  msgid ""
8576
  "Safe and secure payments using credit cards or your customer's PayPal "
8577
  "account. <a href=\"%s\" target=\"_blank\">Learn more</a>."
8578
  msgstr ""
8579
 
8580
+ #: includes/admin/class-wc-admin-setup-wizard.php:1003
8581
  msgid "Stripe"
8582
  msgstr ""
8583
 
8584
+ #: includes/admin/class-wc-admin-setup-wizard.php:1010
8585
  msgid "Create a new Stripe account for me"
8586
  msgstr ""
8587
 
8588
+ #: includes/admin/class-wc-admin-setup-wizard.php:1017
8589
  msgid "Stripe email address:"
8590
  msgstr ""
8591
 
8592
+ #: includes/admin/class-wc-admin-setup-wizard.php:1020
8593
  msgid "Stripe email address"
8594
  msgstr ""
8595
 
8596
+ #: includes/admin/class-wc-admin-setup-wizard.php:1021
8597
  msgid ""
8598
  "Enter your email address and we'll handle account creation. WooCommerce "
8599
  "Services and Jetpack will be installed and activated for you."
8600
  msgstr ""
8601
 
8602
+ #: includes/admin/class-wc-admin-setup-wizard.php:1029
8603
  msgid "PayPal by Braintree"
8604
  msgstr ""
8605
 
8606
+ #: includes/admin/class-wc-admin-setup-wizard.php:1035
8607
  msgid "PayPal Express Checkout"
8608
  msgstr ""
8609
 
8610
+ #: includes/admin/class-wc-admin-setup-wizard.php:1041
8611
  msgid "PayPal Standard"
8612
  msgstr ""
8613
 
8614
+ #: includes/admin/class-wc-admin-setup-wizard.php:1042
8615
  msgid "Accept payments via PayPal using account balance or credit card."
8616
  msgstr ""
8617
 
8618
+ #: includes/admin/class-wc-admin-setup-wizard.php:1046
8619
  msgid "PayPal email address:"
8620
  msgstr ""
8621
 
8622
+ #: includes/admin/class-wc-admin-setup-wizard.php:1049
8623
  msgid "PayPal email address"
8624
  msgstr ""
8625
 
8626
+ #: includes/admin/class-wc-admin-setup-wizard.php:1083
8627
  msgid "A simple offline gateway that lets you accept a check as method of payment."
8628
  msgstr ""
8629
 
8630
+ #: includes/admin/class-wc-admin-setup-wizard.php:1088
8631
  msgid "Bank transfer (BACS) payments"
8632
  msgstr ""
8633
 
8634
+ #: includes/admin/class-wc-admin-setup-wizard.php:1089
8635
  msgid "A simple offline gateway that lets you accept BACS payment."
8636
  msgstr ""
8637
 
8638
+ #: includes/admin/class-wc-admin-setup-wizard.php:1094
8639
  #: includes/gateways/cod/class-wc-gateway-cod.php:52
8640
  #: includes/gateways/cod/class-wc-gateway-cod.php:79
8641
  msgid "Cash on delivery"
8642
  msgstr ""
8643
 
8644
+ #: includes/admin/class-wc-admin-setup-wizard.php:1095
8645
  msgid "A simple offline gateway that lets you accept cash on delivery."
8646
  msgstr ""
8647
 
8648
+ #: includes/admin/class-wc-admin-setup-wizard.php:1212
8649
  msgid ""
8650
  "WooCommerce can accept both online and offline payments. <a href=\"%1$s\" "
8651
  "target=\"_blank\">Additional payment methods</a> can be installed later."
8652
  msgstr ""
8653
 
8654
+ #: includes/admin/class-wc-admin-setup-wizard.php:1234
8655
  msgid "Offline Payments"
8656
  msgstr ""
8657
 
8658
+ #: includes/admin/class-wc-admin-setup-wizard.php:1237
8659
  msgid "Collect payments from customers offline."
8660
  msgstr ""
8661
 
8662
+ #: includes/admin/class-wc-admin-setup-wizard.php:1302
8663
  msgid "Recommended Extras"
8664
  msgstr ""
8665
 
8666
+ #: includes/admin/class-wc-admin-setup-wizard.php:1308
8667
  msgid "Storefront Theme"
8668
  msgstr ""
8669
 
8670
+ #: includes/admin/class-wc-admin-setup-wizard.php:1310
8671
  msgid ""
8672
  "Your theme is not compatible with WooCommerce. We recommend you switch to "
8673
  "Storefront, a free WordPress theme built and maintained by the makers of "
8675
  "you."
8676
  msgstr ""
8677
 
8678
+ #: includes/admin/class-wc-admin-setup-wizard.php:1314
8679
  msgid "Learn more about Storefront"
8680
  msgstr ""
8681
 
8682
+ #: includes/admin/class-wc-admin-setup-wizard.php:1332
8683
  msgid "Automated Taxes (powered by WooCommerce Services)"
8684
  msgstr ""
8685
 
8686
+ #: includes/admin/class-wc-admin-setup-wizard.php:1334
8687
  msgid ""
8688
  "Automatically calculate and charge the correct rate of tax for each time a "
8689
  "customer checks out. If toggled on, WooCommerce Services and Jetpack will "
8690
  "be installed and activated for you."
8691
  msgstr ""
8692
 
8693
+ #: includes/admin/class-wc-admin-setup-wizard.php:1338
8694
  msgid "Learn more about WooCommerce Services"
8695
  msgstr ""
8696
 
8697
+ #: includes/admin/class-wc-admin-setup-wizard.php:1417
8698
  #. translators: %s: list of features, potentially comma separated
8699
  msgid ""
8700
  "Your store is almost ready! To activate services like %s, just connect with "
8701
  "Jetpack."
8702
  msgstr ""
8703
 
8704
+ #: includes/admin/class-wc-admin-setup-wizard.php:1420
8705
  msgid "Stripe payments, automated taxes, live rates and discounted shipping labels"
8706
  msgstr ""
8707
 
8708
+ #: includes/admin/class-wc-admin-setup-wizard.php:1422
8709
  msgid "Stripe payments and automated taxes"
8710
  msgstr ""
8711
 
8712
+ #: includes/admin/class-wc-admin-setup-wizard.php:1424
8713
  msgid "Stripe payments, live rates and discounted shipping labels"
8714
  msgstr ""
8715
 
8716
+ #: includes/admin/class-wc-admin-setup-wizard.php:1426
8717
  msgid "Stripe payments"
8718
  msgstr ""
8719
 
8720
+ #: includes/admin/class-wc-admin-setup-wizard.php:1428
8721
  msgid "automated taxes, live rates and discounted shipping labels"
8722
  msgstr ""
8723
 
8724
+ #: includes/admin/class-wc-admin-setup-wizard.php:1430
8725
  msgid "automated taxes"
8726
  msgstr ""
8727
 
8728
+ #: includes/admin/class-wc-admin-setup-wizard.php:1432
8729
  msgid "live rates and discounted shipping labels"
8730
  msgstr ""
8731
 
8732
+ #: includes/admin/class-wc-admin-setup-wizard.php:1448
8733
  msgid "Sorry, We couldn't connect your store to Jetpack"
8734
  msgstr ""
8735
 
8736
+ #: includes/admin/class-wc-admin-setup-wizard.php:1455
8737
  msgid "Connect your store to Jetpack"
8738
  msgstr ""
8739
 
8740
+ #: includes/admin/class-wc-admin-setup-wizard.php:1456
8741
  msgid "Connect your store to Jetpack to enable extra features"
8742
  msgstr ""
8743
 
8744
+ #: includes/admin/class-wc-admin-setup-wizard.php:1472
8745
  msgid "Finish setting up your store"
8746
  msgstr ""
8747
 
8748
+ #: includes/admin/class-wc-admin-setup-wizard.php:1479
8749
  msgid ""
8750
  "By connecting your site you agree to our fascinating <a href=\"%1$s\" "
8751
  "target=\"_blank\">Terms of Service</a> and to <a href=\"%2$s\" "
8752
  "target=\"_blank\">share details</a> with WordPress.com"
8753
  msgstr ""
8754
 
8755
+ #: includes/admin/class-wc-admin-setup-wizard.php:1487
8756
  msgid "Connect with Jetpack"
8757
  msgstr ""
8758
 
8759
+ #: includes/admin/class-wc-admin-setup-wizard.php:1492
8760
  msgid "Bonus reasons you'll love Jetpack"
8761
  msgstr ""
8762
 
8763
+ #: includes/admin/class-wc-admin-setup-wizard.php:1496
8764
  msgid "Better security"
8765
  msgstr ""
8766
 
8767
+ #: includes/admin/class-wc-admin-setup-wizard.php:1499
8768
  msgid "Protect your store from unauthorized access."
8769
  msgstr ""
8770
 
8771
+ #: includes/admin/class-wc-admin-setup-wizard.php:1504
8772
  msgid "Store stats"
8773
  msgstr ""
8774
 
8775
+ #: includes/admin/class-wc-admin-setup-wizard.php:1507
8776
  msgid ""
8777
  "Get insights on how your store is doing, including total sales, top "
8778
  "products, and more."
8779
  msgstr ""
8780
 
8781
+ #: includes/admin/class-wc-admin-setup-wizard.php:1512
8782
  msgid "Store monitoring"
8783
  msgstr ""
8784
 
8785
+ #: includes/admin/class-wc-admin-setup-wizard.php:1515
8786
  msgid "Get an alert if your store is down for even a few minutes."
8787
  msgstr ""
8788
 
8789
+ #: includes/admin/class-wc-admin-setup-wizard.php:1520
8790
  msgid "Product promotion"
8791
  msgstr ""
8792
 
8793
+ #: includes/admin/class-wc-admin-setup-wizard.php:1523
8794
  msgid "Share new items on social media the moment they're live in your store."
8795
  msgstr ""
8796
 
8797
+ #: includes/admin/class-wc-admin-setup-wizard.php:1533
8798
  msgid ""
8799
  "Sorry! We tried, but we couldn't connect Jetpack just now 😭. Please go to "
8800
  "the Plugins tab to connect Jetpack, so that you can finish setting up your "
8801
  "store."
8802
  msgstr ""
8803
 
8804
+ #: includes/admin/class-wc-admin-setup-wizard.php:1534
8805
  msgid ""
8806
  "Sorry! We tried, but we couldn't install Jetpack for you 😭. Please go to "
8807
  "the Plugins tab to install it, and finish setting up your store."
8808
  msgstr ""
8809
 
8810
+ #: includes/admin/class-wc-admin-setup-wizard.php:1535
8811
  msgid ""
8812
  "Sorry! We couldn't contact Jetpack just now 😭. Please make sure that your "
8813
  "site is visible over the internet, and that it accepts incoming and "
8815
  "and if you run into any more issues, please contact support."
8816
  msgstr ""
8817
 
8818
+ #: includes/admin/class-wc-admin-setup-wizard.php:1536
8819
  msgid ""
8820
  "Your site might be on a private network. Jetpack can only connect to public "
8821
  "sites. Please make sure your site is visible over the internet, and then "
8822
  "try connecting again 🙏."
8823
  msgstr ""
8824
 
8825
+ #: includes/admin/class-wc-admin-setup-wizard.php:1602
8826
  #. translators: %1$s: link to videos, %2$s: link to docs
8827
  msgid ""
8828
  "Watch our <a href=\"%1$s\" target=\"_blank\">guided tour videos</a> to "
8830
  "<a href=\"%2$s\" target=\"_blank\">getting started</a>."
8831
  msgstr ""
8832
 
8833
+ #: includes/admin/class-wc-admin-setup-wizard.php:1607
8834
  msgid "You're ready to start selling!"
8835
  msgstr ""
8836
 
8837
+ #: includes/admin/class-wc-admin-setup-wizard.php:1610
8838
  msgid ""
8839
  "We're here for you — get tips, product updates, and inspiration straight to "
8840
  "your mailbox."
8841
  msgstr ""
8842
 
8843
+ #: includes/admin/class-wc-admin-setup-wizard.php:1624
8844
  msgid "Yes please!"
8845
  msgstr ""
8846
 
8847
+ #: includes/admin/class-wc-admin-setup-wizard.php:1637
8848
  msgid "Next step"
8849
  msgstr ""
8850
 
8851
+ #: includes/admin/class-wc-admin-setup-wizard.php:1638
8852
  msgid "Create your first product"
8853
  msgstr ""
8854
 
8855
+ #: includes/admin/class-wc-admin-setup-wizard.php:1639
8856
  msgid "You're ready to add your first product."
8857
  msgstr ""
8858
 
8859
+ #: includes/admin/class-wc-admin-setup-wizard.php:1644
8860
  msgid "Create a product"
8861
  msgstr ""
8862
 
8863
+ #: includes/admin/class-wc-admin-setup-wizard.php:1651
8864
  msgid "Have an existing store?"
8865
  msgstr ""
8866
 
8867
+ #: includes/admin/class-wc-admin-setup-wizard.php:1652
8868
+ #: includes/admin/class-wc-admin-setup-wizard.php:1658
8869
  msgid "Import products"
8870
  msgstr ""
8871
 
8872
+ #: includes/admin/class-wc-admin-setup-wizard.php:1653
8873
  msgid "Transfer existing products to your new store — just import a CSV file."
8874
  msgstr ""
8875
 
9240
  #: includes/class-wc-emails.php:364
9241
  #: includes/legacy/abstract-wc-legacy-order.php:507
9242
  #: includes/wc-account-functions.php:205
9243
+ #: includes/wc-template-functions.php:2559
9244
  msgid "Download"
9245
  msgstr ""
9246
 
9539
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:559
9540
  #: includes/admin/meta-boxes/views/html-order-items.php:320
9541
  #: includes/admin/meta-boxes/views/html-product-data-general.php:148
9542
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:287
9543
  #: includes/admin/settings/class-wc-settings-tax.php:190
9544
  #: includes/admin/views/html-bulk-edit-product.php:89
9545
  #: includes/admin/views/html-quick-edit-product.php:68
9632
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:444
9633
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:579
9634
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:50
9635
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:270
9636
  #: includes/admin/settings/class-wc-settings-shipping.php:343
9637
  #: includes/admin/views/html-bulk-edit-product.php:166
9638
  #: includes/admin/views/html-quick-edit-product.php:124
9651
  #: includes/admin/importers/class-wc-product-csv-importer-controller.php:597
9652
  #: includes/admin/meta-boxes/views/html-product-data-general.php:102
9653
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:76
9654
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:365
9655
  #: includes/export/class-wc-product-csv-exporter.php:109
9656
  msgid "Download limit"
9657
  msgstr ""
10097
 
10098
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:120
10099
  msgid ""
10100
+ "This field allows you to set the minimum spend (subtotal) allowed to use "
10101
+ "the coupon."
10102
  msgstr ""
10103
 
10104
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:128
10111
 
10112
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:130
10113
  msgid ""
10114
+ "This field allows you to set the maximum spend (subtotal) allowed when "
10115
+ "using the coupon."
10116
  msgstr ""
10117
 
10118
  #: includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php:138
10358
  #: includes/shipping/legacy-flat-rate/includes/settings-flat-rate.php:93
10359
  #: includes/shipping/legacy-free-shipping/class-wc-shipping-legacy-free-shipping.php:122
10360
  #: includes/wc-account-functions.php:331
10361
+ #: includes/wc-formatting-functions.php:1109
10362
+ #: includes/wc-formatting-functions.php:1128
10363
  #: templates/emails/email-addresses.php:31
10364
  #: templates/order/order-details-customer.php:36
10365
  #: templates/order/order-details-customer.php:54
10541
 
10542
  #: includes/admin/meta-boxes/views/html-order-download-permission.php:27
10543
  #: includes/admin/meta-boxes/views/html-product-data-general.php:103
10544
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:366
10545
  msgid "Unlimited"
10546
  msgstr ""
10547
 
10551
 
10552
  #: includes/admin/meta-boxes/views/html-order-download-permission.php:31
10553
  #: includes/admin/meta-boxes/views/html-product-data-general.php:116
10554
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:382
10555
  #: templates/emails/email-downloads.php:56
10556
  #: templates/emails/plain/email-downloads.php:43
10557
  #: templates/order/order-downloads.php:60
10864
  msgstr ""
10865
 
10866
  #: includes/admin/meta-boxes/views/html-product-data-general.php:61
10867
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:322
10868
  msgid "Downloadable files"
10869
  msgstr ""
10870
 
10871
  #: includes/admin/meta-boxes/views/html-product-data-general.php:66
10872
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:326
10873
  msgid "This is the name of the download shown to the customer."
10874
  msgstr ""
10875
 
10876
  #: includes/admin/meta-boxes/views/html-product-data-general.php:67
10877
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:327
10878
  msgid "File URL"
10879
  msgstr ""
10880
 
10881
  #: includes/admin/meta-boxes/views/html-product-data-general.php:67
10882
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:327
10883
  msgid ""
10884
  "This is the URL or absolute path to the file which customers will get "
10885
  "access to. URLs entered here should already be encoded."
10890
  msgstr ""
10891
 
10892
  #: includes/admin/meta-boxes/views/html-product-data-general.php:104
10893
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:367
10894
  msgid "Leave blank for unlimited re-downloads."
10895
  msgstr ""
10896
 
10897
  #: includes/admin/meta-boxes/views/html-product-data-general.php:115
10898
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:77
10899
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:381
10900
  msgid "Download expiry"
10901
  msgstr ""
10902
 
10903
  #: includes/admin/meta-boxes/views/html-product-data-general.php:117
10904
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:383
10905
  msgid "Enter the number of days before a download link expires, or leave blank."
10906
  msgstr ""
10907
 
10927
  msgstr ""
10928
 
10929
  #: includes/admin/meta-boxes/views/html-product-data-general.php:151
10930
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:290
10931
  msgid ""
10932
  "Choose a tax class for this product. Tax classes are used to apply "
10933
  "different tax rates specific to certain types of product."
11043
 
11044
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:26
11045
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:70
11046
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:249
11047
  #: includes/admin/views/html-quick-edit-product.php:112
11048
  msgid "Length"
11049
  msgstr ""
11050
 
11051
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:27
11052
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:71
11053
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:250
11054
  #: includes/admin/views/html-quick-edit-product.php:113
11055
  msgid "Width"
11056
  msgstr ""
11057
 
11058
  #: includes/admin/meta-boxes/views/html-product-data-shipping.php:28
11059
  #: includes/admin/meta-boxes/views/html-product-data-variations.php:72
11060
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:251
11061
  #: includes/admin/views/html-quick-edit-product.php:114
11062
  msgid "Height"
11063
  msgstr ""
11312
  "blank to use the parent product's options."
11313
  msgstr ""
11314
 
11315
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:243
11316
  #. translators: %s: dimension unit
11317
  msgid "Dimensions (L&times;W&times;H) (%s)"
11318
  msgstr ""
11319
 
11320
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:247
11321
  msgid "Length x width x height in decimal form"
11322
  msgstr ""
11323
 
11324
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:274
11325
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:288
11326
  msgid "Same as parent"
11327
  msgstr ""
11328
 
11329
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:315
11330
  msgid "Enter an optional description for this variation."
11331
  msgstr ""
11332
 
11333
+ #: includes/admin/meta-boxes/views/html-variation-admin.php:352
11334
  msgid "Add file"
11335
  msgstr ""
11336
 
11702
 
11703
  #: includes/admin/reports/class-wc-report-sales-by-date.php:676
11704
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:150
11705
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:184
11706
  msgid "Number of orders"
11707
  msgstr ""
11708
 
11810
  msgstr ""
11811
 
11812
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:153
11813
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:187
11814
  msgid "Total tax"
11815
  msgstr ""
11816
 
11817
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:153
11818
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:187
11819
  msgid "This is the total tax for the rate (shipping tax + product tax)."
11820
  msgstr ""
11821
 
11822
  #: includes/admin/reports/class-wc-report-taxes-by-code.php:185
11823
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:229
11824
  msgid "No taxes found in this period"
11825
  msgstr ""
11826
 
11827
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:183
11828
  msgid "Period"
11829
  msgstr ""
11830
 
11831
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:185
11832
  msgid "Total sales"
11833
  msgstr ""
11834
 
11835
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:185
11836
  msgid "This is the sum of the 'Order total' field within your orders."
11837
  msgstr ""
11838
 
11839
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:186
11840
  msgid "Total shipping"
11841
  msgstr ""
11842
 
11843
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:186
11844
  msgid "This is the sum of the 'Shipping total' field within your orders."
11845
  msgstr ""
11846
 
11847
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:188
11848
  msgid "Net profit"
11849
  msgstr ""
11850
 
11851
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:188
11852
  msgid "Total sales minus shipping and tax."
11853
  msgstr ""
11854
 
11855
+ #: includes/admin/reports/class-wc-report-taxes-by-date.php:218
11856
  #: templates/checkout/form-pay.php:31
11857
  msgid "Totals"
11858
  msgstr ""
12108
  #: includes/admin/settings/class-wc-settings-checkout.php:197
12109
  #: includes/class-wc-query.php:123
12110
  #: templates/myaccount/form-add-payment-method.php:53
12111
+ #: templates/myaccount/payment-methods.php:80
12112
  msgid "Add payment method"
12113
  msgstr ""
12114
 
14741
 
14742
  #: includes/api/class-wc-rest-coupons-controller.php:63
14743
  #: includes/api/class-wc-rest-coupons-controller.php:337
14744
+ #: includes/api/class-wc-rest-orders-controller.php:1530
14745
  #: includes/api/v1/class-wc-rest-coupons-controller.php:70
14746
  #: includes/api/v1/class-wc-rest-coupons-controller.php:421
14747
  #: includes/api/v1/class-wc-rest-orders-controller.php:1530
14908
  #: includes/api/class-wc-rest-customers-controller.php:338
14909
  #: includes/api/class-wc-rest-order-refunds-controller.php:384
14910
  #: includes/api/class-wc-rest-order-refunds-controller.php:496
14911
+ #: includes/api/class-wc-rest-orders-controller.php:1101
14912
+ #: includes/api/class-wc-rest-orders-controller.php:1213
14913
+ #: includes/api/class-wc-rest-orders-controller.php:1304
14914
+ #: includes/api/class-wc-rest-orders-controller.php:1390
14915
+ #: includes/api/class-wc-rest-orders-controller.php:1488
14916
+ #: includes/api/class-wc-rest-orders-controller.php:1546
14917
  #: includes/api/class-wc-rest-product-variations-controller.php:929
14918
  #: includes/api/class-wc-rest-products-controller.php:1972
14919
  msgid "Meta data."
14923
  #: includes/api/class-wc-rest-customers-controller.php:345
14924
  #: includes/api/class-wc-rest-order-refunds-controller.php:391
14925
  #: includes/api/class-wc-rest-order-refunds-controller.php:503
14926
+ #: includes/api/class-wc-rest-orders-controller.php:1108
14927
+ #: includes/api/class-wc-rest-orders-controller.php:1220
14928
+ #: includes/api/class-wc-rest-orders-controller.php:1311
14929
+ #: includes/api/class-wc-rest-orders-controller.php:1397
14930
+ #: includes/api/class-wc-rest-orders-controller.php:1495
14931
+ #: includes/api/class-wc-rest-orders-controller.php:1553
14932
  #: includes/api/class-wc-rest-product-variations-controller.php:936
14933
  #: includes/api/class-wc-rest-products-controller.php:1979
14934
  msgid "Meta ID."
14938
  #: includes/api/class-wc-rest-customers-controller.php:351
14939
  #: includes/api/class-wc-rest-order-refunds-controller.php:397
14940
  #: includes/api/class-wc-rest-order-refunds-controller.php:509
14941
+ #: includes/api/class-wc-rest-orders-controller.php:1114
14942
+ #: includes/api/class-wc-rest-orders-controller.php:1226
14943
+ #: includes/api/class-wc-rest-orders-controller.php:1317
14944
+ #: includes/api/class-wc-rest-orders-controller.php:1403
14945
+ #: includes/api/class-wc-rest-orders-controller.php:1501
14946
+ #: includes/api/class-wc-rest-orders-controller.php:1559
14947
  #: includes/api/class-wc-rest-product-variations-controller.php:942
14948
  #: includes/api/class-wc-rest-products-controller.php:1985
14949
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:476
14955
  #: includes/api/class-wc-rest-customers-controller.php:356
14956
  #: includes/api/class-wc-rest-order-refunds-controller.php:402
14957
  #: includes/api/class-wc-rest-order-refunds-controller.php:514
14958
+ #: includes/api/class-wc-rest-orders-controller.php:1119
14959
+ #: includes/api/class-wc-rest-orders-controller.php:1231
14960
+ #: includes/api/class-wc-rest-orders-controller.php:1322
14961
+ #: includes/api/class-wc-rest-orders-controller.php:1408
14962
+ #: includes/api/class-wc-rest-orders-controller.php:1506
14963
+ #: includes/api/class-wc-rest-orders-controller.php:1564
14964
  #: includes/api/class-wc-rest-product-variations-controller.php:947
14965
  #: includes/api/class-wc-rest-products-controller.php:1990
14966
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:488
14990
 
14991
  #: includes/api/class-wc-rest-customer-downloads-controller.php:103
14992
  #: includes/api/class-wc-rest-order-refunds-controller.php:423
14993
+ #: includes/api/class-wc-rest-orders-controller.php:1140
14994
  #: includes/api/class-wc-rest-products-controller.php:1404
14995
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:380
14996
  #: includes/api/v1/class-wc-rest-orders-controller.php:1213
15011
  msgstr ""
15012
 
15013
  #: includes/api/class-wc-rest-customer-downloads-controller.php:121
15014
+ #: includes/api/class-wc-rest-orders-controller.php:814
15015
  #: includes/api/v1/class-wc-rest-customer-downloads-controller.php:199
15016
  #: includes/api/v1/class-wc-rest-orders-controller.php:932
15017
  msgid "Order key."
15059
  msgstr ""
15060
 
15061
  #: includes/api/class-wc-rest-customers-controller.php:140
15062
+ #: includes/api/class-wc-rest-orders-controller.php:852
15063
  #: includes/api/v1/class-wc-rest-orders-controller.php:963
15064
  msgid "The date the order was created, as GMT."
15065
  msgstr ""
15109
 
15110
  #: includes/api/class-wc-rest-customers-controller.php:204
15111
  #: includes/api/class-wc-rest-customers-controller.php:267
15112
+ #: includes/api/class-wc-rest-orders-controller.php:946
15113
+ #: includes/api/class-wc-rest-orders-controller.php:1009
15114
  #: includes/api/v1/class-wc-rest-customers-controller.php:728
15115
  #: includes/api/v1/class-wc-rest-customers-controller.php:791
15116
  #: includes/api/v1/class-wc-rest-orders-controller.php:1028
15120
 
15121
  #: includes/api/class-wc-rest-customers-controller.php:209
15122
  #: includes/api/class-wc-rest-customers-controller.php:272
15123
+ #: includes/api/class-wc-rest-orders-controller.php:951
15124
+ #: includes/api/class-wc-rest-orders-controller.php:1014
15125
  #: includes/api/v1/class-wc-rest-customers-controller.php:733
15126
  #: includes/api/v1/class-wc-rest-customers-controller.php:796
15127
  #: includes/api/v1/class-wc-rest-orders-controller.php:1033
15131
 
15132
  #: includes/api/class-wc-rest-customers-controller.php:214
15133
  #: includes/api/class-wc-rest-customers-controller.php:277
15134
+ #: includes/api/class-wc-rest-orders-controller.php:956
15135
+ #: includes/api/class-wc-rest-orders-controller.php:1019
15136
  #: includes/api/v1/class-wc-rest-customers-controller.php:738
15137
  #: includes/api/v1/class-wc-rest-customers-controller.php:801
15138
  #: includes/api/v1/class-wc-rest-orders-controller.php:1038
15142
 
15143
  #: includes/api/class-wc-rest-customers-controller.php:229
15144
  #: includes/api/class-wc-rest-customers-controller.php:292
15145
+ #: includes/api/class-wc-rest-orders-controller.php:971
15146
+ #: includes/api/class-wc-rest-orders-controller.php:1034
15147
  #: includes/api/v1/class-wc-rest-customers-controller.php:753
15148
  #: includes/api/v1/class-wc-rest-customers-controller.php:816
15149
  #: includes/api/v1/class-wc-rest-orders-controller.php:1053
15154
 
15155
  #: includes/api/class-wc-rest-customers-controller.php:234
15156
  #: includes/api/class-wc-rest-customers-controller.php:297
15157
+ #: includes/api/class-wc-rest-orders-controller.php:976
15158
+ #: includes/api/class-wc-rest-orders-controller.php:1039
15159
  #: includes/api/v1/class-wc-rest-customers-controller.php:758
15160
  #: includes/api/v1/class-wc-rest-customers-controller.php:821
15161
  #: includes/api/v1/class-wc-rest-orders-controller.php:1058
15165
 
15166
  #: includes/api/class-wc-rest-customers-controller.php:239
15167
  #: includes/api/class-wc-rest-customers-controller.php:302
15168
+ #: includes/api/class-wc-rest-orders-controller.php:981
15169
+ #: includes/api/class-wc-rest-orders-controller.php:1044
15170
  #: includes/api/v1/class-wc-rest-customers-controller.php:763
15171
  #: includes/api/v1/class-wc-rest-customers-controller.php:826
15172
  #: includes/api/v1/class-wc-rest-orders-controller.php:1063
15182
  msgstr ""
15183
 
15184
  #: includes/api/class-wc-rest-customers-controller.php:249
15185
+ #: includes/api/class-wc-rest-orders-controller.php:991
15186
  #: includes/api/v1/class-wc-rest-customers-controller.php:773
15187
  #: includes/api/v1/class-wc-rest-orders-controller.php:1073
15188
  msgid "Email address."
15189
  msgstr ""
15190
 
15191
  #: includes/api/class-wc-rest-customers-controller.php:255
15192
+ #: includes/api/class-wc-rest-orders-controller.php:997
15193
  #: includes/api/v1/class-wc-rest-customers-controller.php:779
15194
  #: includes/api/v1/class-wc-rest-orders-controller.php:1079
15195
  msgid "Phone number."
15312
  msgstr ""
15313
 
15314
  #: includes/api/class-wc-rest-order-refunds-controller.php:410
15315
+ #: includes/api/class-wc-rest-orders-controller.php:1127
15316
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:367
15317
  #: includes/api/v1/class-wc-rest-orders-controller.php:1200
15318
  msgid "Line items data."
15319
  msgstr ""
15320
 
15321
  #: includes/api/class-wc-rest-order-refunds-controller.php:417
15322
+ #: includes/api/class-wc-rest-orders-controller.php:1134
15323
+ #: includes/api/class-wc-rest-orders-controller.php:1262
15324
+ #: includes/api/class-wc-rest-orders-controller.php:1340
15325
+ #: includes/api/class-wc-rest-orders-controller.php:1426
15326
+ #: includes/api/class-wc-rest-orders-controller.php:1524
15327
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:374
15328
  #: includes/api/v1/class-wc-rest-orders-controller.php:1207
15329
  #: includes/api/v1/class-wc-rest-orders-controller.php:1341
15334
  msgstr ""
15335
 
15336
  #: includes/api/class-wc-rest-order-refunds-controller.php:428
15337
+ #: includes/api/class-wc-rest-orders-controller.php:1145
15338
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:392
15339
  #: includes/api/v1/class-wc-rest-orders-controller.php:1225
15340
  #: includes/api/v1/class-wc-rest-report-top-sellers-controller.php:158
15343
  msgstr ""
15344
 
15345
  #: includes/api/class-wc-rest-order-refunds-controller.php:433
15346
+ #: includes/api/class-wc-rest-orders-controller.php:1150
15347
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:397
15348
  #: includes/api/v1/class-wc-rest-orders-controller.php:1230
15349
  msgid "Variation ID, if applicable."
15350
  msgstr ""
15351
 
15352
  #: includes/api/class-wc-rest-order-refunds-controller.php:438
15353
+ #: includes/api/class-wc-rest-orders-controller.php:1155
15354
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:402
15355
  #: includes/api/v1/class-wc-rest-orders-controller.php:1235
15356
  msgid "Quantity ordered."
15357
  msgstr ""
15358
 
15359
  #: includes/api/class-wc-rest-order-refunds-controller.php:443
15360
+ #: includes/api/class-wc-rest-orders-controller.php:1160
15361
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:407
15362
  #: includes/api/v1/class-wc-rest-orders-controller.php:1240
15363
  msgid "Tax class of product."
15364
  msgstr ""
15365
 
15366
  #: includes/api/class-wc-rest-order-refunds-controller.php:448
15367
+ #: includes/api/class-wc-rest-orders-controller.php:1165
15368
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:419
15369
  #: includes/api/v1/class-wc-rest-orders-controller.php:1252
15370
  msgid "Line subtotal (before discounts)."
15371
  msgstr ""
15372
 
15373
  #: includes/api/class-wc-rest-order-refunds-controller.php:453
15374
+ #: includes/api/class-wc-rest-orders-controller.php:1170
15375
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:424
15376
  #: includes/api/v1/class-wc-rest-orders-controller.php:1257
15377
  msgid "Line subtotal tax (before discounts)."
15378
  msgstr ""
15379
 
15380
  #: includes/api/class-wc-rest-order-refunds-controller.php:459
15381
+ #: includes/api/class-wc-rest-orders-controller.php:1176
15382
+ #: includes/api/class-wc-rest-orders-controller.php:1356
15383
+ #: includes/api/class-wc-rest-orders-controller.php:1448
15384
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:429
15385
  #: includes/api/v1/class-wc-rest-orders-controller.php:1262
15386
  #: includes/api/v1/class-wc-rest-orders-controller.php:1409
15389
  msgstr ""
15390
 
15391
  #: includes/api/class-wc-rest-order-refunds-controller.php:464
15392
+ #: includes/api/class-wc-rest-orders-controller.php:1181
15393
+ #: includes/api/class-wc-rest-orders-controller.php:1361
15394
+ #: includes/api/class-wc-rest-orders-controller.php:1453
15395
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:434
15396
  #: includes/api/v1/class-wc-rest-orders-controller.php:1267
15397
  #: includes/api/v1/class-wc-rest-orders-controller.php:1414
15400
  msgstr ""
15401
 
15402
  #: includes/api/class-wc-rest-order-refunds-controller.php:470
15403
+ #: includes/api/class-wc-rest-orders-controller.php:1187
15404
+ #: includes/api/class-wc-rest-orders-controller.php:1367
15405
+ #: includes/api/class-wc-rest-orders-controller.php:1459
15406
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:439
15407
  #: includes/api/v1/class-wc-rest-orders-controller.php:1272
15408
  #: includes/api/v1/class-wc-rest-orders-controller.php:1420
15411
  msgstr ""
15412
 
15413
  #: includes/api/class-wc-rest-order-refunds-controller.php:478
15414
+ #: includes/api/class-wc-rest-orders-controller.php:1195
15415
+ #: includes/api/class-wc-rest-orders-controller.php:1274
15416
+ #: includes/api/class-wc-rest-orders-controller.php:1375
15417
+ #: includes/api/class-wc-rest-orders-controller.php:1467
15418
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:447
15419
  #: includes/api/v1/class-wc-rest-orders-controller.php:1280
15420
  #: includes/api/v1/class-wc-rest-orders-controller.php:1353
15424
  msgstr ""
15425
 
15426
  #: includes/api/class-wc-rest-order-refunds-controller.php:483
15427
+ #: includes/api/class-wc-rest-orders-controller.php:1200
15428
+ #: includes/api/class-wc-rest-orders-controller.php:1381
15429
+ #: includes/api/class-wc-rest-orders-controller.php:1473
15430
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:453
15431
  #: includes/api/v1/class-wc-rest-orders-controller.php:1286
15432
  #: includes/api/v1/class-wc-rest-orders-controller.php:1434
15435
  msgstr ""
15436
 
15437
  #: includes/api/class-wc-rest-order-refunds-controller.php:488
15438
+ #: includes/api/class-wc-rest-orders-controller.php:1205
15439
+ #: includes/api/class-wc-rest-orders-controller.php:1479
15440
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:459
15441
  #: includes/api/v1/class-wc-rest-orders-controller.php:1292
15442
  #: includes/api/v1/class-wc-rest-orders-controller.php:1505
15444
  msgstr ""
15445
 
15446
  #: includes/api/class-wc-rest-order-refunds-controller.php:522
15447
+ #: includes/api/class-wc-rest-orders-controller.php:1239
15448
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:386
15449
  #: includes/api/v1/class-wc-rest-orders-controller.php:1219
15450
  msgid "Product SKU."
15451
  msgstr ""
15452
 
15453
  #: includes/api/class-wc-rest-order-refunds-controller.php:528
15454
+ #: includes/api/class-wc-rest-orders-controller.php:1245
15455
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:413
15456
  #: includes/api/v1/class-wc-rest-orders-controller.php:1246
15457
  msgid "Product price."
15495
  msgid "Coupon code is required."
15496
  msgstr ""
15497
 
15498
+ #: includes/api/class-wc-rest-orders-controller.php:735
15499
  #: includes/api/legacy/v2/class-wc-api-orders.php:851
15500
  #: includes/api/legacy/v3/class-wc-api-orders.php:897
15501
  #: includes/api/v1/class-wc-rest-orders-controller.php:772
15502
  msgid "Order item ID provided is not associated with order."
15503
  msgstr ""
15504
 
15505
+ #: includes/api/class-wc-rest-orders-controller.php:803
15506
  #: includes/api/v1/class-wc-rest-orders-controller.php:920
15507
  msgid "Parent order ID."
15508
  msgstr ""
15509
 
15510
+ #: includes/api/class-wc-rest-orders-controller.php:808
15511
  #: includes/api/v1/class-wc-rest-orders-controller.php:938
15512
  msgid "Order number."
15513
  msgstr ""
15514
 
15515
+ #: includes/api/class-wc-rest-orders-controller.php:820
15516
  #: includes/api/v1/class-wc-rest-orders-controller.php:1171
15517
  msgid "Shows where the order was created."
15518
  msgstr ""
15519
 
15520
+ #: includes/api/class-wc-rest-orders-controller.php:826
15521
  #: includes/api/v1/class-wc-rest-orders-controller.php:951
15522
  msgid "Version of WooCommerce which last updated the order."
15523
  msgstr ""
15524
 
15525
+ #: includes/api/class-wc-rest-orders-controller.php:832
15526
  #: includes/api/v1/class-wc-rest-orders-controller.php:925
15527
  msgid "Order status."
15528
  msgstr ""
15529
 
15530
+ #: includes/api/class-wc-rest-orders-controller.php:839
15531
  #: includes/api/v1/class-wc-rest-orders-controller.php:944
15532
  msgid "Currency the order was created with, in ISO format."
15533
  msgstr ""
15534
 
15535
+ #: includes/api/class-wc-rest-orders-controller.php:846
15536
  msgid "The date the order was created, in the site's timezone."
15537
  msgstr ""
15538
 
15539
+ #: includes/api/class-wc-rest-orders-controller.php:858
15540
  msgid "The date the order was last modified, in the site's timezone."
15541
  msgstr ""
15542
 
15543
+ #: includes/api/class-wc-rest-orders-controller.php:864
15544
  #: includes/api/v1/class-wc-rest-orders-controller.php:969
15545
  msgid "The date the order was last modified, as GMT."
15546
  msgstr ""
15547
 
15548
+ #: includes/api/class-wc-rest-orders-controller.php:870
15549
  #: includes/api/v1/class-wc-rest-orders-controller.php:981
15550
  msgid "Total discount amount for the order."
15551
  msgstr ""
15552
 
15553
+ #: includes/api/class-wc-rest-orders-controller.php:876
15554
  #: includes/api/v1/class-wc-rest-orders-controller.php:987
15555
  msgid "Total discount tax amount for the order."
15556
  msgstr ""
15557
 
15558
+ #: includes/api/class-wc-rest-orders-controller.php:882
15559
  #: includes/api/v1/class-wc-rest-orders-controller.php:993
15560
  msgid "Total shipping amount for the order."
15561
  msgstr ""
15562
 
15563
+ #: includes/api/class-wc-rest-orders-controller.php:888
15564
  #: includes/api/v1/class-wc-rest-orders-controller.php:999
15565
  msgid "Total shipping tax amount for the order."
15566
  msgstr ""
15567
 
15568
+ #: includes/api/class-wc-rest-orders-controller.php:894
15569
  #: includes/api/v1/class-wc-rest-orders-controller.php:1005
15570
  msgid "Sum of line item taxes only."
15571
  msgstr ""
15572
 
15573
+ #: includes/api/class-wc-rest-orders-controller.php:900
15574
  #: includes/api/v1/class-wc-rest-orders-controller.php:1011
15575
  msgid "Grand total."
15576
  msgstr ""
15577
 
15578
+ #: includes/api/class-wc-rest-orders-controller.php:906
15579
  #: includes/api/v1/class-wc-rest-orders-controller.php:1017
15580
  msgid "Sum of all taxes."
15581
  msgstr ""
15582
 
15583
+ #: includes/api/class-wc-rest-orders-controller.php:912
15584
  #: includes/api/v1/class-wc-rest-orders-controller.php:957
15585
  msgid "True the prices included tax during checkout."
15586
  msgstr ""
15587
 
15588
+ #: includes/api/class-wc-rest-orders-controller.php:918
15589
  #: includes/api/v1/class-wc-rest-orders-controller.php:975
15590
  msgid "User ID who owns the order. 0 for guests."
15591
  msgstr ""
15592
 
15593
+ #: includes/api/class-wc-rest-orders-controller.php:924
15594
  #: includes/api/v1/class-wc-rest-orders-controller.php:1159
15595
  msgid "Customer's IP address."
15596
  msgstr ""
15597
 
15598
+ #: includes/api/class-wc-rest-orders-controller.php:930
15599
  #: includes/api/v1/class-wc-rest-orders-controller.php:1165
15600
  msgid "User agent of the customer."
15601
  msgstr ""
15602
 
15603
+ #: includes/api/class-wc-rest-orders-controller.php:936
15604
  #: includes/api/v1/class-wc-rest-orders-controller.php:1177
15605
  msgid "Note left by customer during checkout."
15606
  msgstr ""
15607
 
15608
+ #: includes/api/class-wc-rest-orders-controller.php:941
15609
  #: includes/api/v1/class-wc-rest-orders-controller.php:1023
15610
  msgid "Billing address."
15611
  msgstr ""
15612
 
15613
+ #: includes/api/class-wc-rest-orders-controller.php:986
15614
+ #: includes/api/class-wc-rest-orders-controller.php:1049
15615
  #: includes/api/v1/class-wc-rest-orders-controller.php:1068
15616
  #: includes/api/v1/class-wc-rest-orders-controller.php:1131
15617
  msgid "Country code in ISO 3166-1 alpha-2 format."
15618
  msgstr ""
15619
 
15620
+ #: includes/api/class-wc-rest-orders-controller.php:1004
15621
  #: includes/api/v1/class-wc-rest-orders-controller.php:1086
15622
  msgid "Shipping address."
15623
  msgstr ""
15624
 
15625
+ #: includes/api/class-wc-rest-orders-controller.php:1056
15626
  #: includes/api/v1/class-wc-rest-orders-controller.php:1138
15627
  msgid "Payment method ID."
15628
  msgstr ""
15629
 
15630
+ #: includes/api/class-wc-rest-orders-controller.php:1061
15631
  #: includes/api/v1/class-wc-rest-orders-controller.php:1143
15632
  msgid "Payment method title."
15633
  msgstr ""
15634
 
15635
+ #: includes/api/class-wc-rest-orders-controller.php:1066
15636
  #: includes/api/v1/class-wc-rest-orders-controller.php:1154
15637
  msgid "Unique transaction ID."
15638
  msgstr ""
15639
 
15640
+ #: includes/api/class-wc-rest-orders-controller.php:1071
15641
  #: includes/api/v1/class-wc-rest-orders-controller.php:1188
15642
  msgid "The date the order was paid, in the site's timezone."
15643
  msgstr ""
15644
 
15645
+ #: includes/api/class-wc-rest-orders-controller.php:1077
15646
  msgid "The date the order was paid, as GMT."
15647
  msgstr ""
15648
 
15649
+ #: includes/api/class-wc-rest-orders-controller.php:1083
15650
  #: includes/api/v1/class-wc-rest-orders-controller.php:1182
15651
  msgid "The date the order was completed, in the site's timezone."
15652
  msgstr ""
15653
 
15654
+ #: includes/api/class-wc-rest-orders-controller.php:1089
15655
  msgid "The date the order was completed, as GMT."
15656
  msgstr ""
15657
 
15658
+ #: includes/api/class-wc-rest-orders-controller.php:1095
15659
  #: includes/api/v1/class-wc-rest-orders-controller.php:1194
15660
  msgid "MD5 hash of cart items to ensure orders are not modified."
15661
  msgstr ""
15662
 
15663
+ #: includes/api/class-wc-rest-orders-controller.php:1254
15664
  #: includes/api/v1/class-wc-rest-orders-controller.php:1333
15665
  msgid "Tax lines data."
15666
  msgstr ""
15667
 
15668
+ #: includes/api/class-wc-rest-orders-controller.php:1268
15669
  #: includes/api/v1/class-wc-rest-orders-controller.php:1347
15670
  msgid "Tax rate code."
15671
  msgstr ""
15672
 
15673
+ #: includes/api/class-wc-rest-orders-controller.php:1280
15674
  #: includes/api/v1/class-wc-rest-orders-controller.php:1359
15675
  msgid "Tax rate label."
15676
  msgstr ""
15677
 
15678
+ #: includes/api/class-wc-rest-orders-controller.php:1286
15679
  #: includes/api/v1/class-wc-rest-orders-controller.php:1365
15680
  msgid "Show if is a compound tax rate."
15681
  msgstr ""
15682
 
15683
+ #: includes/api/class-wc-rest-orders-controller.php:1292
15684
  #: includes/api/v1/class-wc-rest-orders-controller.php:1371
15685
  msgid "Tax total (not including shipping taxes)."
15686
  msgstr ""
15687
 
15688
+ #: includes/api/class-wc-rest-orders-controller.php:1298
15689
  #: includes/api/v1/class-wc-rest-orders-controller.php:1377
15690
  msgid "Shipping tax total."
15691
  msgstr ""
15692
 
15693
+ #: includes/api/class-wc-rest-orders-controller.php:1333
15694
  #: includes/api/v1/class-wc-rest-orders-controller.php:1386
15695
  msgid "Shipping lines data."
15696
  msgstr ""
15697
 
15698
+ #: includes/api/class-wc-rest-orders-controller.php:1346
15699
  #: includes/api/v1/class-wc-rest-orders-controller.php:1399
15700
  msgid "Shipping method name."
15701
  msgstr ""
15702
 
15703
+ #: includes/api/class-wc-rest-orders-controller.php:1351
15704
  #: includes/api/class-wc-rest-shipping-zone-methods-controller.php:49
15705
  #: includes/api/class-wc-rest-shipping-zone-methods-controller.php:462
15706
  #: includes/api/v1/class-wc-rest-orders-controller.php:1404
15707
  msgid "Shipping method ID."
15708
  msgstr ""
15709
 
15710
+ #: includes/api/class-wc-rest-orders-controller.php:1419
15711
  #: includes/api/v1/class-wc-rest-orders-controller.php:1446
15712
  msgid "Fee lines data."
15713
  msgstr ""
15714
 
15715
+ #: includes/api/class-wc-rest-orders-controller.php:1432
15716
  #: includes/api/v1/class-wc-rest-orders-controller.php:1459
15717
  msgid "Fee name."
15718
  msgstr ""
15719
 
15720
+ #: includes/api/class-wc-rest-orders-controller.php:1437
15721
  #: includes/api/v1/class-wc-rest-orders-controller.php:1464
15722
  msgid "Tax class of fee."
15723
  msgstr ""
15724
 
15725
+ #: includes/api/class-wc-rest-orders-controller.php:1442
15726
  #: includes/api/v1/class-wc-rest-orders-controller.php:1469
15727
  msgid "Tax status of fee."
15728
  msgstr ""
15729
 
15730
+ #: includes/api/class-wc-rest-orders-controller.php:1517
15731
  #: includes/api/v1/class-wc-rest-orders-controller.php:1517
15732
  msgid "Coupons line data."
15733
  msgstr ""
15734
 
15735
+ #: includes/api/class-wc-rest-orders-controller.php:1535
15736
  #: includes/api/v1/class-wc-rest-orders-controller.php:1535
15737
  msgid "Discount total."
15738
  msgstr ""
15739
 
15740
+ #: includes/api/class-wc-rest-orders-controller.php:1540
15741
  #: includes/api/v1/class-wc-rest-orders-controller.php:1540
15742
  msgid "Discount total tax."
15743
  msgstr ""
15744
 
15745
+ #: includes/api/class-wc-rest-orders-controller.php:1575
15746
  #: includes/api/v1/class-wc-rest-orders-controller.php:1549
15747
  msgid "List of refunds."
15748
  msgstr ""
15749
 
15750
+ #: includes/api/class-wc-rest-orders-controller.php:1583
15751
  #: includes/api/v1/class-wc-rest-orders-controller.php:1557
15752
  #: includes/cli/class-wc-cli-runner.php:104
15753
  msgid "Refund ID."
15754
  msgstr ""
15755
 
15756
+ #: includes/api/class-wc-rest-orders-controller.php:1589
15757
  #: includes/api/v1/class-wc-rest-orders-controller.php:1563
15758
  msgid "Refund reason."
15759
  msgstr ""
15760
 
15761
+ #: includes/api/class-wc-rest-orders-controller.php:1595
15762
  #: includes/api/v1/class-wc-rest-orders-controller.php:1569
15763
  msgid "Refund total."
15764
  msgstr ""
15765
 
15766
+ #: includes/api/class-wc-rest-orders-controller.php:1604
15767
  #: includes/api/v1/class-wc-rest-orders-controller.php:1148
15768
  msgid ""
15769
  "Define if the order is paid. It will set the status to processing and "
15770
  "reduce stock items."
15771
  msgstr ""
15772
 
15773
+ #: includes/api/class-wc-rest-orders-controller.php:1625
15774
  #: includes/api/v1/class-wc-rest-orders-controller.php:1593
15775
  msgid "Limit result set to orders assigned a specific status."
15776
  msgstr ""
15777
 
15778
+ #: includes/api/class-wc-rest-orders-controller.php:1632
15779
  #: includes/api/v1/class-wc-rest-orders-controller.php:1600
15780
  msgid "Limit result set to orders assigned a specific customer."
15781
  msgstr ""
15782
 
15783
+ #: includes/api/class-wc-rest-orders-controller.php:1638
15784
  #: includes/api/v1/class-wc-rest-orders-controller.php:1606
15785
  msgid "Limit result set to orders assigned a specific product."
15786
  msgstr ""
15787
 
15788
+ #: includes/api/class-wc-rest-orders-controller.php:1645
15789
  #: includes/api/v1/class-wc-rest-order-refunds-controller.php:515
15790
  #: includes/api/v1/class-wc-rest-orders-controller.php:1613
15791
  msgid "Number of decimal points to use in each resource."
18907
  msgid "Page %d"
18908
  msgstr ""
18909
 
18910
+ #: includes/class-wc-cache-helper.php:199
18911
  msgid ""
18912
  "In order for <strong>database caching</strong> to work with WooCommerce you "
18913
  "must add %1$s to the \"Ignored Query Strings\" option in <a "
18957
  msgstr ""
18958
 
18959
  #: includes/class-wc-cart.php:1089 includes/class-wc-frontend-scripts.php:539
18960
+ #: includes/wc-cart-functions.php:117 includes/wc-template-functions.php:1504
18961
  #. translators: %s: product name
18962
  msgid "View cart"
18963
  msgstr ""
19223
  msgid "Coupon code removed successfully."
19224
  msgstr ""
19225
 
19226
+ #: includes/class-wc-coupon.php:898 includes/class-wc-discounts.php:901
19227
  msgid "Coupon is not valid."
19228
  msgstr ""
19229
 
19262
  msgid "This coupon has expired."
19263
  msgstr ""
19264
 
19265
+ #: includes/class-wc-coupon.php:927 includes/class-wc-discounts.php:617
19266
  #. translators: %s: coupon minimum amount
19267
  msgid "The minimum spend for this coupon is %s."
19268
  msgstr ""
19269
 
19270
+ #: includes/class-wc-coupon.php:931 includes/class-wc-discounts.php:635
19271
  #. translators: %s: coupon maximum amount
19272
  msgid "The maximum spend for this coupon is %s."
19273
  msgstr ""
19276
  msgid "Sorry, this coupon is not applicable to your cart contents."
19277
  msgstr ""
19278
 
19279
+ #: includes/class-wc-coupon.php:948 includes/class-wc-discounts.php:798
19280
  #. translators: %s: products list
19281
  msgid "Sorry, this coupon is not applicable to the products: %s."
19282
  msgstr ""
19283
 
19284
+ #: includes/class-wc-coupon.php:968 includes/class-wc-discounts.php:839
19285
  #. translators: %s: categories list
19286
  msgid "Sorry, this coupon is not applicable to the categories: %s."
19287
  msgstr ""
19288
 
19289
+ #: includes/class-wc-coupon.php:971 includes/class-wc-discounts.php:726
19290
  msgid "Sorry, this coupon is not valid for sale items."
19291
  msgstr ""
19292
 
19316
  msgid "Invalid data store."
19317
  msgstr ""
19318
 
19319
+ #: includes/class-wc-discounts.php:661 includes/class-wc-discounts.php:699
19320
+ #: includes/class-wc-discounts.php:753
19321
  msgid "Sorry, this coupon is not applicable to selected products."
19322
  msgstr ""
19323
 
19403
  msgid "Buy now"
19404
  msgstr ""
19405
 
19406
+ #: includes/class-wc-embed.php:130 includes/wc-template-functions.php:2673
19407
  #: includes/widgets/class-wc-widget-layered-nav-filters.php:166
19408
  #. translators: %s: average rating
19409
  #. translators: %s: rating
19523
  msgid "Please choose product options&hellip;"
19524
  msgstr ""
19525
 
19526
+ #: includes/class-wc-form-handler.php:900
19527
  msgid "Invalid value posted for %s"
19528
  msgstr ""
19529
 
19530
+ #: includes/class-wc-form-handler.php:907
19531
  msgid "%s is a required field"
19532
  msgid_plural "%s are required fields"
19533
  msgstr[0] ""
19534
  msgstr[1] ""
19535
 
 
19536
  #: includes/class-wc-form-handler.php:944
19537
+ #: includes/class-wc-form-handler.php:948
19538
+ #: includes/class-wc-form-handler.php:961
19539
+ #: includes/class-wc-form-handler.php:1105 includes/wc-user-functions.php:111
19540
  msgid "Error:"
19541
  msgstr ""
19542
 
19543
+ #: includes/class-wc-form-handler.php:948
19544
  msgid "Username is required."
19545
  msgstr ""
19546
 
19547
+ #: includes/class-wc-form-handler.php:961
19548
  msgid "A user could not be found with this email address."
19549
  msgstr ""
19550
 
19551
+ #: includes/class-wc-form-handler.php:1039
19552
  msgid "Please enter your password."
19553
  msgstr ""
19554
 
19555
+ #: includes/class-wc-form-handler.php:1043
19556
  msgid "Passwords do not match."
19557
  msgstr ""
19558
 
19565
  msgstr ""
19566
 
19567
  #: includes/class-wc-frontend-scripts.php:516
19568
+ #: includes/wc-template-functions.php:1986
19569
  msgid "required"
19570
  msgstr ""
19571
 
20242
  msgid "Order &ndash; %s"
20243
  msgstr ""
20244
 
20245
+ #: includes/data-stores/abstract-wc-order-item-type-data-store.php:121
20246
  msgid "Invalid order item."
20247
  msgstr ""
20248
 
21485
  msgstr ""
21486
 
21487
  #: includes/legacy/abstract-wc-legacy-order.php:507
21488
+ #: includes/wc-template-functions.php:2559
21489
  #. translators: 1: current item count
21490
  msgid "Download %d"
21491
  msgstr ""
22160
  msgstr ""
22161
 
22162
  #: includes/wc-core-functions.php:318
22163
+ msgid "Belarusian ruble (old)"
22164
  msgstr ""
22165
 
22166
  #: includes/wc-core-functions.php:319
22167
+ msgid "Belarusian ruble"
22168
  msgstr ""
22169
 
22170
  #: includes/wc-core-functions.php:320
22171
+ msgid "Belize dollar"
22172
  msgstr ""
22173
 
22174
  #: includes/wc-core-functions.php:321
22175
+ msgid "Canadian dollar"
22176
  msgstr ""
22177
 
22178
  #: includes/wc-core-functions.php:322
22179
+ msgid "Congolese franc"
22180
  msgstr ""
22181
 
22182
  #: includes/wc-core-functions.php:323
22183
+ msgid "Swiss franc"
22184
  msgstr ""
22185
 
22186
  #: includes/wc-core-functions.php:324
22187
+ msgid "Chilean peso"
22188
  msgstr ""
22189
 
22190
  #: includes/wc-core-functions.php:325
22191
+ msgid "Chinese yuan"
22192
  msgstr ""
22193
 
22194
  #: includes/wc-core-functions.php:326
22195
+ msgid "Colombian peso"
22196
  msgstr ""
22197
 
22198
  #: includes/wc-core-functions.php:327
22199
+ msgid "Costa Rican col&oacute;n"
22200
  msgstr ""
22201
 
22202
  #: includes/wc-core-functions.php:328
22203
+ msgid "Cuban convertible peso"
22204
  msgstr ""
22205
 
22206
  #: includes/wc-core-functions.php:329
22207
+ msgid "Cuban peso"
22208
  msgstr ""
22209
 
22210
  #: includes/wc-core-functions.php:330
22211
+ msgid "Cape Verdean escudo"
22212
  msgstr ""
22213
 
22214
  #: includes/wc-core-functions.php:331
22215
+ msgid "Czech koruna"
22216
  msgstr ""
22217
 
22218
  #: includes/wc-core-functions.php:332
22219
+ msgid "Djiboutian franc"
22220
  msgstr ""
22221
 
22222
  #: includes/wc-core-functions.php:333
22223
+ msgid "Danish krone"
22224
  msgstr ""
22225
 
22226
  #: includes/wc-core-functions.php:334
22227
+ msgid "Dominican peso"
22228
  msgstr ""
22229
 
22230
  #: includes/wc-core-functions.php:335
22231
+ msgid "Algerian dinar"
22232
  msgstr ""
22233
 
22234
  #: includes/wc-core-functions.php:336
22235
+ msgid "Egyptian pound"
22236
  msgstr ""
22237
 
22238
  #: includes/wc-core-functions.php:337
22239
+ msgid "Eritrean nakfa"
22240
  msgstr ""
22241
 
22242
  #: includes/wc-core-functions.php:338
22243
+ msgid "Ethiopian birr"
22244
  msgstr ""
22245
 
22246
  #: includes/wc-core-functions.php:339
22247
+ msgid "Euro"
22248
  msgstr ""
22249
 
22250
  #: includes/wc-core-functions.php:340
22251
+ msgid "Fijian dollar"
22252
  msgstr ""
22253
 
22254
  #: includes/wc-core-functions.php:341
22255
+ msgid "Falkland Islands pound"
22256
  msgstr ""
22257
 
22258
  #: includes/wc-core-functions.php:342
22259
+ msgid "Pound sterling"
22260
  msgstr ""
22261
 
22262
  #: includes/wc-core-functions.php:343
22263
+ msgid "Georgian lari"
22264
  msgstr ""
22265
 
22266
  #: includes/wc-core-functions.php:344
22267
+ msgid "Guernsey pound"
22268
  msgstr ""
22269
 
22270
  #: includes/wc-core-functions.php:345
22271
+ msgid "Ghana cedi"
22272
  msgstr ""
22273
 
22274
  #: includes/wc-core-functions.php:346
22275
+ msgid "Gibraltar pound"
22276
  msgstr ""
22277
 
22278
  #: includes/wc-core-functions.php:347
22279
+ msgid "Gambian dalasi"
22280
  msgstr ""
22281
 
22282
  #: includes/wc-core-functions.php:348
22283
+ msgid "Guinean franc"
22284
  msgstr ""
22285
 
22286
  #: includes/wc-core-functions.php:349
22287
+ msgid "Guatemalan quetzal"
22288
  msgstr ""
22289
 
22290
  #: includes/wc-core-functions.php:350
22291
+ msgid "Guyanese dollar"
22292
  msgstr ""
22293
 
22294
  #: includes/wc-core-functions.php:351
22295
+ msgid "Hong Kong dollar"
22296
  msgstr ""
22297
 
22298
  #: includes/wc-core-functions.php:352
22299
+ msgid "Honduran lempira"
22300
  msgstr ""
22301
 
22302
  #: includes/wc-core-functions.php:353
22303
+ msgid "Croatian kuna"
22304
  msgstr ""
22305
 
22306
  #: includes/wc-core-functions.php:354
22307
+ msgid "Haitian gourde"
22308
  msgstr ""
22309
 
22310
  #: includes/wc-core-functions.php:355
22311
+ msgid "Hungarian forint"
22312
  msgstr ""
22313
 
22314
  #: includes/wc-core-functions.php:356
22315
+ msgid "Indonesian rupiah"
22316
  msgstr ""
22317
 
22318
  #: includes/wc-core-functions.php:357
22319
+ msgid "Israeli new shekel"
22320
  msgstr ""
22321
 
22322
  #: includes/wc-core-functions.php:358
22323
+ msgid "Manx pound"
22324
  msgstr ""
22325
 
22326
  #: includes/wc-core-functions.php:359
22327
+ msgid "Indian rupee"
22328
  msgstr ""
22329
 
22330
  #: includes/wc-core-functions.php:360
22331
+ msgid "Iraqi dinar"
22332
  msgstr ""
22333
 
22334
  #: includes/wc-core-functions.php:361
22335
+ msgid "Iranian rial"
22336
  msgstr ""
22337
 
22338
  #: includes/wc-core-functions.php:362
22339
+ msgid "Iranian toman"
22340
  msgstr ""
22341
 
22342
  #: includes/wc-core-functions.php:363
22343
+ msgid "Icelandic kr&oacute;na"
22344
  msgstr ""
22345
 
22346
  #: includes/wc-core-functions.php:364
22347
+ msgid "Jersey pound"
22348
  msgstr ""
22349
 
22350
  #: includes/wc-core-functions.php:365
22351
+ msgid "Jamaican dollar"
22352
  msgstr ""
22353
 
22354
  #: includes/wc-core-functions.php:366
22355
+ msgid "Jordanian dinar"
22356
  msgstr ""
22357
 
22358
  #: includes/wc-core-functions.php:367
22359
+ msgid "Japanese yen"
22360
  msgstr ""
22361
 
22362
  #: includes/wc-core-functions.php:368
22363
+ msgid "Kenyan shilling"
22364
  msgstr ""
22365
 
22366
  #: includes/wc-core-functions.php:369
22367
+ msgid "Kyrgyzstani som"
22368
  msgstr ""
22369
 
22370
  #: includes/wc-core-functions.php:370
22371
+ msgid "Cambodian riel"
22372
  msgstr ""
22373
 
22374
  #: includes/wc-core-functions.php:371
22375
+ msgid "Comorian franc"
22376
  msgstr ""
22377
 
22378
  #: includes/wc-core-functions.php:372
22379
+ msgid "North Korean won"
22380
  msgstr ""
22381
 
22382
  #: includes/wc-core-functions.php:373
22383
+ msgid "South Korean won"
22384
  msgstr ""
22385
 
22386
  #: includes/wc-core-functions.php:374
22387
+ msgid "Kuwaiti dinar"
22388
  msgstr ""
22389
 
22390
  #: includes/wc-core-functions.php:375
22391
+ msgid "Cayman Islands dollar"
22392
  msgstr ""
22393
 
22394
  #: includes/wc-core-functions.php:376
22395
+ msgid "Kazakhstani tenge"
22396
  msgstr ""
22397
 
22398
  #: includes/wc-core-functions.php:377
22399
+ msgid "Lao kip"
22400
  msgstr ""
22401
 
22402
  #: includes/wc-core-functions.php:378
22403
+ msgid "Lebanese pound"
22404
  msgstr ""
22405
 
22406
  #: includes/wc-core-functions.php:379
22407
+ msgid "Sri Lankan rupee"
22408
  msgstr ""
22409
 
22410
  #: includes/wc-core-functions.php:380
22411
+ msgid "Liberian dollar"
22412
  msgstr ""
22413
 
22414
  #: includes/wc-core-functions.php:381
22415
+ msgid "Lesotho loti"
22416
  msgstr ""
22417
 
22418
  #: includes/wc-core-functions.php:382
22419
+ msgid "Libyan dinar"
22420
  msgstr ""
22421
 
22422
  #: includes/wc-core-functions.php:383
22423
+ msgid "Moroccan dirham"
22424
  msgstr ""
22425
 
22426
  #: includes/wc-core-functions.php:384
22427
+ msgid "Moldovan leu"
22428
  msgstr ""
22429
 
22430
  #: includes/wc-core-functions.php:385
22431
+ msgid "Malagasy ariary"
22432
  msgstr ""
22433
 
22434
  #: includes/wc-core-functions.php:386
22435
+ msgid "Macedonian denar"
22436
  msgstr ""
22437
 
22438
  #: includes/wc-core-functions.php:387
22439
+ msgid "Burmese kyat"
22440
  msgstr ""
22441
 
22442
  #: includes/wc-core-functions.php:388
22443
+ msgid "Mongolian t&ouml;gr&ouml;g"
22444
  msgstr ""
22445
 
22446
  #: includes/wc-core-functions.php:389
22447
+ msgid "Macanese pataca"
22448
  msgstr ""
22449
 
22450
  #: includes/wc-core-functions.php:390
22451
+ msgid "Mauritanian ouguiya"
22452
  msgstr ""
22453
 
22454
  #: includes/wc-core-functions.php:391
22455
+ msgid "Mauritian rupee"
22456
  msgstr ""
22457
 
22458
  #: includes/wc-core-functions.php:392
22459
+ msgid "Maldivian rufiyaa"
22460
  msgstr ""
22461
 
22462
  #: includes/wc-core-functions.php:393
22463
+ msgid "Malawian kwacha"
22464
  msgstr ""
22465
 
22466
  #: includes/wc-core-functions.php:394
22467
+ msgid "Mexican peso"
22468
  msgstr ""
22469
 
22470
  #: includes/wc-core-functions.php:395
22471
+ msgid "Malaysian ringgit"
22472
  msgstr ""
22473
 
22474
  #: includes/wc-core-functions.php:396
22475
+ msgid "Mozambican metical"
22476
  msgstr ""
22477
 
22478
  #: includes/wc-core-functions.php:397
22479
+ msgid "Namibian dollar"
22480
  msgstr ""
22481
 
22482
  #: includes/wc-core-functions.php:398
22483
+ msgid "Nigerian naira"
22484
  msgstr ""
22485
 
22486
  #: includes/wc-core-functions.php:399
22487
+ msgid "Nicaraguan c&oacute;rdoba"
22488
  msgstr ""
22489
 
22490
  #: includes/wc-core-functions.php:400
22491
+ msgid "Norwegian krone"
22492
  msgstr ""
22493
 
22494
  #: includes/wc-core-functions.php:401
22495
+ msgid "Nepalese rupee"
22496
  msgstr ""
22497
 
22498
  #: includes/wc-core-functions.php:402
22499
+ msgid "New Zealand dollar"
22500
  msgstr ""
22501
 
22502
  #: includes/wc-core-functions.php:403
22503
+ msgid "Omani rial"
22504
  msgstr ""
22505
 
22506
  #: includes/wc-core-functions.php:404
22507
+ msgid "Panamanian balboa"
22508
  msgstr ""
22509
 
22510
  #: includes/wc-core-functions.php:405
22511
+ msgid "Peruvian nuevo sol"
22512
  msgstr ""
22513
 
22514
  #: includes/wc-core-functions.php:406
22515
+ msgid "Papua New Guinean kina"
22516
  msgstr ""
22517
 
22518
  #: includes/wc-core-functions.php:407
22519
+ msgid "Philippine peso"
22520
  msgstr ""
22521
 
22522
  #: includes/wc-core-functions.php:408
22523
+ msgid "Pakistani rupee"
22524
  msgstr ""
22525
 
22526
  #: includes/wc-core-functions.php:409
22527
+ msgid "Polish z&#x142;oty"
22528
  msgstr ""
22529
 
22530
  #: includes/wc-core-functions.php:410
22531
+ msgid "Transnistrian ruble"
22532
  msgstr ""
22533
 
22534
  #: includes/wc-core-functions.php:411
22535
+ msgid "Paraguayan guaran&iacute;"
22536
  msgstr ""
22537
 
22538
  #: includes/wc-core-functions.php:412
22539
+ msgid "Qatari riyal"
22540
  msgstr ""
22541
 
22542
  #: includes/wc-core-functions.php:413
22543
+ msgid "Romanian leu"
22544
  msgstr ""
22545
 
22546
  #: includes/wc-core-functions.php:414
22547
+ msgid "Serbian dinar"
22548
  msgstr ""
22549
 
22550
  #: includes/wc-core-functions.php:415
22551
+ msgid "Russian ruble"
22552
  msgstr ""
22553
 
22554
  #: includes/wc-core-functions.php:416
22555
+ msgid "Rwandan franc"
22556
  msgstr ""
22557
 
22558
  #: includes/wc-core-functions.php:417
22559
+ msgid "Saudi riyal"
22560
  msgstr ""
22561
 
22562
  #: includes/wc-core-functions.php:418
22563
+ msgid "Solomon Islands dollar"
22564
  msgstr ""
22565
 
22566
  #: includes/wc-core-functions.php:419
22567
+ msgid "Seychellois rupee"
22568
  msgstr ""
22569
 
22570
  #: includes/wc-core-functions.php:420
22571
+ msgid "Sudanese pound"
22572
  msgstr ""
22573
 
22574
  #: includes/wc-core-functions.php:421
22575
+ msgid "Swedish krona"
22576
  msgstr ""
22577
 
22578
  #: includes/wc-core-functions.php:422
22579
+ msgid "Singapore dollar"
22580
  msgstr ""
22581
 
22582
  #: includes/wc-core-functions.php:423
22583
+ msgid "Saint Helena pound"
22584
  msgstr ""
22585
 
22586
  #: includes/wc-core-functions.php:424
22587
+ msgid "Sierra Leonean leone"
22588
  msgstr ""
22589
 
22590
  #: includes/wc-core-functions.php:425
22591
+ msgid "Somali shilling"
22592
  msgstr ""
22593
 
22594
  #: includes/wc-core-functions.php:426
22595
+ msgid "Surinamese dollar"
22596
  msgstr ""
22597
 
22598
  #: includes/wc-core-functions.php:427
22599
+ msgid "South Sudanese pound"
22600
  msgstr ""
22601
 
22602
  #: includes/wc-core-functions.php:428
22603
+ msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe dobra"
22604
  msgstr ""
22605
 
22606
  #: includes/wc-core-functions.php:429
22607
+ msgid "Syrian pound"
22608
  msgstr ""
22609
 
22610
  #: includes/wc-core-functions.php:430
22611
+ msgid "Swazi lilangeni"
22612
  msgstr ""
22613
 
22614
  #: includes/wc-core-functions.php:431
22615
+ msgid "Thai baht"
22616
  msgstr ""
22617
 
22618
  #: includes/wc-core-functions.php:432
22619
+ msgid "Tajikistani somoni"
22620
  msgstr ""
22621
 
22622
  #: includes/wc-core-functions.php:433
22623
+ msgid "Turkmenistan manat"
22624
  msgstr ""
22625
 
22626
  #: includes/wc-core-functions.php:434
22627
+ msgid "Tunisian dinar"
22628
  msgstr ""
22629
 
22630
  #: includes/wc-core-functions.php:435
22631
+ msgid "Tongan pa&#x2bb;anga"
22632
  msgstr ""
22633
 
22634
  #: includes/wc-core-functions.php:436
22635
+ msgid "Turkish lira"
22636
  msgstr ""
22637
 
22638
  #: includes/wc-core-functions.php:437
22639
+ msgid "Trinidad and Tobago dollar"
22640
  msgstr ""
22641
 
22642
  #: includes/wc-core-functions.php:438
22643
+ msgid "New Taiwan dollar"
22644
  msgstr ""
22645
 
22646
  #: includes/wc-core-functions.php:439
22647
+ msgid "Tanzanian shilling"
22648
  msgstr ""
22649
 
22650
  #: includes/wc-core-functions.php:440
22651
+ msgid "Ukrainian hryvnia"
22652
  msgstr ""
22653
 
22654
  #: includes/wc-core-functions.php:441
22655
+ msgid "Ugandan shilling"
22656
  msgstr ""
22657
 
22658
  #: includes/wc-core-functions.php:442
22659
+ msgid "United States dollar"
22660
  msgstr ""
22661
 
22662
  #: includes/wc-core-functions.php:443
22663
+ msgid "Uruguayan peso"
22664
  msgstr ""
22665
 
22666
  #: includes/wc-core-functions.php:444
22667
+ msgid "Uzbekistani som"
22668
  msgstr ""
22669
 
22670
  #: includes/wc-core-functions.php:445
22671
+ msgid "Venezuelan bol&iacute;var"
22672
  msgstr ""
22673
 
22674
  #: includes/wc-core-functions.php:446
22675
+ msgid "Vietnamese &#x111;&#x1ed3;ng"
22676
  msgstr ""
22677
 
22678
  #: includes/wc-core-functions.php:447
22679
+ msgid "Vanuatu vatu"
22680
  msgstr ""
22681
 
22682
  #: includes/wc-core-functions.php:448
22683
+ msgid "Samoan t&#x101;l&#x101;"
22684
  msgstr ""
22685
 
22686
  #: includes/wc-core-functions.php:449
22687
+ msgid "Central African CFA franc"
22688
  msgstr ""
22689
 
22690
  #: includes/wc-core-functions.php:450
22691
+ msgid "East Caribbean dollar"
22692
  msgstr ""
22693
 
22694
  #: includes/wc-core-functions.php:451
22695
+ msgid "West African CFA franc"
22696
  msgstr ""
22697
 
22698
  #: includes/wc-core-functions.php:452
22699
+ msgid "CFP franc"
22700
  msgstr ""
22701
 
22702
  #: includes/wc-core-functions.php:453
22703
+ msgid "Yemeni rial"
22704
  msgstr ""
22705
 
22706
  #: includes/wc-core-functions.php:454
22707
+ msgid "South African rand"
22708
+ msgstr ""
22709
+
22710
+ #: includes/wc-core-functions.php:455
22711
  msgid "Zambian kwacha"
22712
  msgstr ""
22713
 
22714
+ #: includes/wc-core-functions.php:1245
22715
  msgid "MasterCard"
22716
  msgstr ""
22717
 
22718
+ #: includes/wc-core-functions.php:1246
22719
  msgid "Visa"
22720
  msgstr ""
22721
 
22722
+ #: includes/wc-core-functions.php:1247
22723
  msgid "Discover"
22724
  msgstr ""
22725
 
22726
+ #: includes/wc-core-functions.php:1248
22727
  msgid "American Express"
22728
  msgstr ""
22729
 
22730
+ #: includes/wc-core-functions.php:1249
22731
  msgid "Diners"
22732
  msgstr ""
22733
 
22734
+ #: includes/wc-core-functions.php:1250
22735
  msgid "JCB"
22736
  msgstr ""
22737
 
22738
+ #: includes/wc-core-functions.php:1569
22739
  #. translators: 1: class name 2: woocommerce_logging_class 3:
22740
  #. WC_Logger_Interface
22741
  msgid "The class %1$s provided by %2$s filter must implement %3$s."
22753
  msgid "Fixed product discount"
22754
  msgstr ""
22755
 
22756
+ #: includes/wc-formatting-functions.php:1046
22757
  msgid "Only %s left in stock"
22758
  msgstr ""
22759
 
22760
+ #: includes/wc-formatting-functions.php:1050
22761
  msgid "%s in stock"
22762
  msgstr ""
22763
 
22764
+ #: includes/wc-formatting-functions.php:1055
22765
  msgid "(can be backordered)"
22766
  msgstr ""
22767
 
22850
  msgid "&nbsp;&ndash; Page %s"
22851
  msgstr ""
22852
 
22853
+ #: includes/wc-template-functions.php:841
22854
  msgid "Default sorting"
22855
  msgstr ""
22856
 
22857
+ #: includes/wc-template-functions.php:842
22858
  msgid "Sort by popularity"
22859
  msgstr ""
22860
 
22861
+ #: includes/wc-template-functions.php:843
22862
  msgid "Sort by average rating"
22863
  msgstr ""
22864
 
22865
+ #: includes/wc-template-functions.php:844
22866
  msgid "Sort by newness"
22867
  msgstr ""
22868
 
22869
+ #: includes/wc-template-functions.php:845
22870
  msgid "Sort by price: low to high"
22871
  msgstr ""
22872
 
22873
+ #: includes/wc-template-functions.php:846
22874
  msgid "Sort by price: high to low"
22875
  msgstr ""
22876
 
22877
+ #: includes/wc-template-functions.php:850
22878
  msgid "Relevance"
22879
  msgstr ""
22880
 
22881
+ #: includes/wc-template-functions.php:1196
22882
  #: templates/checkout/form-shipping.php:63
22883
  #: templates/single-product/tabs/additional-information.php:25
22884
  msgid "Additional information"
22885
  msgstr ""
22886
 
22887
+ #: includes/wc-template-functions.php:1205
22888
  msgid "Reviews (%d)"
22889
  msgstr ""
22890
 
22891
+ #: includes/wc-template-functions.php:1516
22892
  msgid "Checkout"
22893
  msgstr ""
22894
 
22895
+ #: includes/wc-template-functions.php:1645
22896
  msgid "Place order"
22897
  msgstr ""
22898
 
22899
+ #: includes/wc-template-functions.php:2053
22900
  msgid "Update country"
22901
  msgstr ""
22902
 
22903
+ #: includes/wc-template-functions.php:2072
22904
  #: templates/cart/shipping-calculator.php:64
22905
  msgid "Select a state&hellip;"
22906
  msgstr ""
22907
 
22908
+ #: includes/wc-template-functions.php:2117
22909
+ #: includes/wc-template-functions.php:2269
22910
+ #: includes/wc-template-functions.php:2279
22911
  msgid "Choose an option"
22912
  msgstr ""
22913
 
22914
+ #: includes/wc-template-functions.php:2670
22915
  #. translators: 1: rating 2: rating count
22916
  msgid "Rated %1$s out of 5 based on %2$s customer rating"
22917
  msgid_plural "Rated %1$s out of 5 based on %2$s customer ratings"
22918
  msgstr[0] ""
22919
  msgstr[1] ""
22920
 
22921
+ #: includes/wc-template-functions.php:2717
22922
  msgid "Your cart is currently empty."
22923
  msgstr ""
22924
 
23594
  msgid "No downloads available yet."
23595
  msgstr ""
23596
 
23597
+ #: templates/myaccount/form-add-payment-method.php:59
23598
+ msgid ""
23599
+ "New payment methods can only be added during checkout. Please contact us if "
23600
+ "you require assistance."
23601
+ msgstr ""
23602
+
23603
  #: templates/myaccount/form-edit-account.php:45
23604
  msgid "Password change"
23605
  msgstr ""
24044
  msgstr ""
24045
 
24046
  #: includes/admin/class-wc-admin-permalink-settings.php:76
24047
+ #: includes/wc-core-functions.php:1724 includes/wc-update-functions.php:51
24048
  msgctxt "slug"
24049
  msgid "product-category"
24050
  msgstr ""
24051
 
24052
  #: includes/admin/class-wc-admin-permalink-settings.php:85
24053
+ #: includes/wc-core-functions.php:1725 includes/wc-update-functions.php:52
24054
  msgctxt "slug"
24055
  msgid "product-tag"
24056
  msgstr ""
24057
 
24058
  #: includes/admin/class-wc-admin-permalink-settings.php:194
24059
+ #: includes/wc-core-functions.php:1723 includes/wc-update-functions.php:60
24060
  msgctxt "slug"
24061
  msgid "product"
24062
  msgstr ""
24084
  msgid "%1$s %2$s"
24085
  msgstr ""
24086
 
24087
+ #: includes/admin/class-wc-admin-setup-wizard.php:1082
24088
  #: includes/gateways/cheque/class-wc-gateway-cheque.php:27
24089
  #: includes/gateways/cheque/class-wc-gateway-cheque.php:63
24090
  msgctxt "Check payment method"
24298
  msgid "%1$s&ndash;%2$s"
24299
  msgstr ""
24300
 
24301
+ #: includes/wc-formatting-functions.php:1092
24302
  msgctxt "Price range: from-to"
24303
  msgid "%1$s &ndash; %2$s"
24304
  msgstr ""
24320
  msgstr[0] ""
24321
  msgstr[1] ""
24322
 
24323
+ #: includes/wc-template-functions.php:1591
24324
  msgctxt "breadcrumb"
24325
  msgid "Home"
24326
  msgstr ""
24327
 
24328
+ #: includes/wc-template-functions.php:2688
24329
  msgctxt "min_price"
24330
  msgid "From:"
24331
  msgstr ""
i18n/locale-info.php CHANGED
@@ -774,7 +774,7 @@ return array(
774
  array(
775
  'country' => 'US',
776
  'state' => 'NJ',
777
- 'rate' => '7.0000',
778
  'name' => 'State Tax',
779
  'shipping' => true,
780
  ),
774
  array(
775
  'country' => 'US',
776
  'state' => 'NJ',
777
+ 'rate' => '6.8750',
778
  'name' => 'State Tax',
779
  'shipping' => true,
780
  ),
includes/abstracts/abstract-wc-order.php CHANGED
@@ -842,17 +842,17 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
842
  /**
843
  * Remove item from the order.
844
  *
845
- * @param int $item_id
846
  * @return false|void
847
  */
848
  public function remove_item( $item_id ) {
849
- $item = $this->get_item( $item_id );
850
 
851
  if ( ! $item || ! ( $items_key = $this->get_items_key( $item ) ) ) {
852
  return false;
853
  }
854
 
855
- // Unset and remove later
856
  $this->items_to_delete[] = $item;
857
  unset( $this->items[ $items_key ][ $item->get_id() ] );
858
  }
842
  /**
843
  * Remove item from the order.
844
  *
845
+ * @param int $item_id Item ID to delete.
846
  * @return false|void
847
  */
848
  public function remove_item( $item_id ) {
849
+ $item = $this->get_item( $item_id, false );
850
 
851
  if ( ! $item || ! ( $items_key = $this->get_items_key( $item ) ) ) {
852
  return false;
853
  }
854
 
855
+ // Unset and remove later.
856
  $this->items_to_delete[] = $item;
857
  unset( $this->items[ $items_key ][ $item->get_id() ] );
858
  }
includes/admin/class-wc-admin-assets.php CHANGED
@@ -299,7 +299,7 @@ class WC_Admin_Assets {
299
  'currency_format_thousand_sep' => esc_attr( wc_get_price_thousand_separator() ),
300
  'currency_format' => esc_attr( str_replace( array( '%1$s', '%2$s' ), array( '%s', '%v' ), get_woocommerce_price_format() ) ), // For accounting JS
301
  'rounding_precision' => wc_get_rounding_precision(),
302
- 'tax_rounding_mode' => WC_TAX_ROUNDING_MODE,
303
  'product_types' => array_unique( array_merge( array( 'simple', 'grouped', 'variable', 'external' ), array_keys( wc_get_product_types() ) ) ),
304
  'i18n_download_permission_fail' => __( 'Could not grant access - the user may already have permission for this file or billing email is not set. Ensure the billing email is set, and the order has been saved.', 'woocommerce' ),
305
  'i18n_permission_revoke' => __( 'Are you sure you want to revoke access to this download?', 'woocommerce' ),
299
  'currency_format_thousand_sep' => esc_attr( wc_get_price_thousand_separator() ),
300
  'currency_format' => esc_attr( str_replace( array( '%1$s', '%2$s' ), array( '%s', '%v' ), get_woocommerce_price_format() ) ), // For accounting JS
301
  'rounding_precision' => wc_get_rounding_precision(),
302
+ 'tax_rounding_mode' => wc_get_tax_rounding_mode(),
303
  'product_types' => array_unique( array_merge( array( 'simple', 'grouped', 'variable', 'external' ), array_keys( wc_get_product_types() ) ) ),
304
  'i18n_download_permission_fail' => __( 'Could not grant access - the user may already have permission for this file or billing email is not set. Ensure the billing email is set, and the order has been saved.', 'woocommerce' ),
305
  'i18n_permission_revoke' => __( 'Are you sure you want to revoke access to this download?', 'woocommerce' ),
includes/admin/class-wc-admin-setup-wizard.php CHANGED
@@ -292,7 +292,7 @@ class WC_Admin_Setup_Wizard {
292
  $country = WC()->countries->get_base_country();
293
  $postcode = WC()->countries->get_base_postcode();
294
  $currency = get_option( 'woocommerce_currency', 'GBP' );
295
- $product_type = get_option( 'woocommerce_product_type' );
296
 
297
  if ( empty( $country ) ) {
298
  $user_location = WC_Geolocation::geolocate_ip();
@@ -403,13 +403,11 @@ class WC_Admin_Setup_Wizard {
403
  id="product_type"
404
  name="product_type"
405
  required
406
- data-placeholder="<?php esc_attr_e( 'Please choose one&hellip;', 'woocommerce' ); ?>"
407
  class="location-input wc-enhanced-select dropdown"
408
  >
409
- <option value="" <?php selected( $product_type, '' ); ?>><?php esc_html_e( 'Please choose one&hellip;', 'woocommerce' ); ?></option>
410
  <option value="physical" <?php selected( $product_type, 'physical' ); ?>><?php esc_html_e( 'I plan to sell physical products', 'woocommerce' ); ?></option>
411
  <option value="virtual" <?php selected( $product_type, 'virtual' ); ?>><?php esc_html_e( 'I plan to sell digital products', 'woocommerce' ); ?></option>
412
- <option value="both" <?php selected( $product_type, 'both' ); ?>><?php esc_html_e( 'I plan to sell both physical and digital products', 'woocommerce' ); ?></option>
413
  </select>
414
  <?php if ( 'unknown' === get_option( 'woocommerce_allow_tracking', 'unknown' ) ) : ?>
415
  <div class="allow-tracking">
292
  $country = WC()->countries->get_base_country();
293
  $postcode = WC()->countries->get_base_postcode();
294
  $currency = get_option( 'woocommerce_currency', 'GBP' );
295
+ $product_type = get_option( 'woocommerce_product_type', 'both' );
296
 
297
  if ( empty( $country ) ) {
298
  $user_location = WC_Geolocation::geolocate_ip();
403
  id="product_type"
404
  name="product_type"
405
  required
 
406
  class="location-input wc-enhanced-select dropdown"
407
  >
408
+ <option value="both" <?php selected( $product_type, 'both' ); ?>><?php esc_html_e( 'I plan to sell both physical and digital products', 'woocommerce' ); ?></option>
409
  <option value="physical" <?php selected( $product_type, 'physical' ); ?>><?php esc_html_e( 'I plan to sell physical products', 'woocommerce' ); ?></option>
410
  <option value="virtual" <?php selected( $product_type, 'virtual' ); ?>><?php esc_html_e( 'I plan to sell digital products', 'woocommerce' ); ?></option>
 
411
  </select>
412
  <?php if ( 'unknown' === get_option( 'woocommerce_allow_tracking', 'unknown' ) ) : ?>
413
  <div class="allow-tracking">
includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php CHANGED
@@ -117,7 +117,7 @@ class WC_Meta_Box_Coupon_Data {
117
  'id' => 'minimum_amount',
118
  'label' => __( 'Minimum spend', 'woocommerce' ),
119
  'placeholder' => __( 'No minimum', 'woocommerce' ),
120
- 'description' => __( 'This field allows you to set the minimum spend (subtotal, including taxes) allowed to use the coupon.', 'woocommerce' ),
121
  'data_type' => 'price',
122
  'desc_tip' => true,
123
  ) );
@@ -127,7 +127,7 @@ class WC_Meta_Box_Coupon_Data {
127
  'id' => 'maximum_amount',
128
  'label' => __( 'Maximum spend', 'woocommerce' ),
129
  'placeholder' => __( 'No maximum', 'woocommerce' ),
130
- 'description' => __( 'This field allows you to set the maximum spend (subtotal, including taxes) allowed when using the coupon.', 'woocommerce' ),
131
  'data_type' => 'price',
132
  'desc_tip' => true,
133
  ) );
117
  'id' => 'minimum_amount',
118
  'label' => __( 'Minimum spend', 'woocommerce' ),
119
  'placeholder' => __( 'No minimum', 'woocommerce' ),
120
+ 'description' => __( 'This field allows you to set the minimum spend (subtotal) allowed to use the coupon.', 'woocommerce' ),
121
  'data_type' => 'price',
122
  'desc_tip' => true,
123
  ) );
127
  'id' => 'maximum_amount',
128
  'label' => __( 'Maximum spend', 'woocommerce' ),
129
  'placeholder' => __( 'No maximum', 'woocommerce' ),
130
+ 'description' => __( 'This field allows you to set the maximum spend (subtotal) allowed when using the coupon.', 'woocommerce' ),
131
  'data_type' => 'price',
132
  'desc_tip' => true,
133
  ) );
includes/admin/meta-boxes/views/html-order-item.php CHANGED
@@ -18,7 +18,7 @@ $thumbnail = $product ? apply_filters( 'woocommerce_admin_order_item_thumbnai
18
  </td>
19
  <td class="name" data-sort-value="<?php echo esc_attr( $item->get_name() ); ?>">
20
  <?php
21
- echo $product_link ? '<a href="' . esc_url( $product_link ) . '" class="wc-order-item-name">' . esc_html( $item->get_name() ) . '</a>' : '<div class="class="wc-order-item-name"">' . esc_html( $item->get_name() ) . '</div>';
22
 
23
  if ( $product && $product->get_sku() ) {
24
  echo '<div class="wc-order-item-sku"><strong>' . __( 'SKU:', 'woocommerce' ) . '</strong> ' . esc_html( $product->get_sku() ) . '</div>';
18
  </td>
19
  <td class="name" data-sort-value="<?php echo esc_attr( $item->get_name() ); ?>">
20
  <?php
21
+ echo $product_link ? '<a href="' . esc_url( $product_link ) . '" class="wc-order-item-name">' . esc_html( $item->get_name() ) . '</a>' : '<div class="wc-order-item-name">' . esc_html( $item->get_name() ) . '</div>';
22
 
23
  if ( $product && $product->get_sku() ) {
24
  echo '<div class="wc-order-item-sku"><strong>' . __( 'SKU:', 'woocommerce' ) . '</strong> ' . esc_html( $product->get_sku() ) . '</div>';
includes/admin/meta-boxes/views/html-variation-admin.php CHANGED
@@ -232,6 +232,10 @@ if ( ! defined( 'ABSPATH' ) ) {
232
  }
233
 
234
  if ( wc_product_dimensions_enabled() ) {
 
 
 
 
235
  ?><p class="form-field form-row dimensions_field hide_if_variation_virtual form-row-last">
236
  <label for="product_length"><?php
237
  /* translators: %s: dimension unit */
@@ -242,9 +246,9 @@ if ( ! defined( 'ABSPATH' ) ) {
242
  ?></label>
243
  <?php echo wc_help_tip( __( 'Length x width x height in decimal form', 'woocommerce' ) ); ?>
244
  <span class="wrap">
245
- <input id="product_length" placeholder="<?php esc_attr_e( 'Length', 'woocommerce' ); ?>" class="input-text wc_input_decimal" size="6" type="text" name="variable_length[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_length( 'edit' ) ) ); ?>" />
246
- <input placeholder="<?php esc_attr_e( 'Width', 'woocommerce' ); ?>" class="input-text wc_input_decimal" size="6" type="text" name="variable_width[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_width( 'edit' ) ) ); ?>" />
247
- <input placeholder="<?php esc_attr_e( 'Height', 'woocommerce' ); ?>" class="input-text wc_input_decimal last" size="6" type="text" name="variable_height[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_height( 'edit' ) ) ); ?>" />
248
  </span>
249
  </p><?php
250
  }
232
  }
233
 
234
  if ( wc_product_dimensions_enabled() ) {
235
+ $parent_length = wc_format_localized_decimal( $product_object->get_length() );
236
+ $parent_width = wc_format_localized_decimal( $product_object->get_width() );
237
+ $parent_height = wc_format_localized_decimal( $product_object->get_height() );
238
+
239
  ?><p class="form-field form-row dimensions_field hide_if_variation_virtual form-row-last">
240
  <label for="product_length"><?php
241
  /* translators: %s: dimension unit */
246
  ?></label>
247
  <?php echo wc_help_tip( __( 'Length x width x height in decimal form', 'woocommerce' ) ); ?>
248
  <span class="wrap">
249
+ <input id="product_length" placeholder="<?php echo $parent_length ? esc_attr( $parent_length ) : esc_attr__( 'Length', 'woocommerce' ); ?>" class="input-text wc_input_decimal" size="6" type="text" name="variable_length[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_length( 'edit' ) ) ); ?>" />
250
+ <input placeholder="<?php echo $parent_width ? esc_attr( $parent_width ) : esc_attr__( 'Width', 'woocommerce' ); ?>" class="input-text wc_input_decimal" size="6" type="text" name="variable_width[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_width( 'edit' ) ) ); ?>" />
251
+ <input placeholder="<?php echo $parent_height ? esc_attr( $parent_height ) : esc_attr__( 'Height', 'woocommerce' ); ?>" class="input-text wc_input_decimal last" size="6" type="text" name="variable_height[<?php echo $loop; ?>]" value="<?php echo esc_attr( wc_format_localized_decimal( $variation_object->get_height( 'edit' ) ) ); ?>" />
252
  </span>
253
  </p><?php
254
  }
includes/admin/reports/class-wc-report-taxes-by-date.php CHANGED
@@ -157,7 +157,6 @@ class WC_Report_Taxes_By_Date extends WC_Admin_Report {
157
  $tax_rows[ $key ]->shipping_tax_amount += $tax_row->shipping_tax_amount;
158
  $tax_rows[ $key ]->total_sales += $tax_row->total_sales;
159
  $tax_rows[ $key ]->total_shipping += $tax_row->total_shipping;
160
- $tax_rows[ $key ]->total_orders += $tax_row->total_orders;
161
  }
162
 
163
  foreach ( $tax_rows_orders as $tax_row ) {
157
  $tax_rows[ $key ]->shipping_tax_amount += $tax_row->shipping_tax_amount;
158
  $tax_rows[ $key ]->total_sales += $tax_row->total_sales;
159
  $tax_rows[ $key ]->total_shipping += $tax_row->total_shipping;
 
160
  }
161
 
162
  foreach ( $tax_rows_orders as $tax_row ) {
includes/admin/views/html-notice-theme-support.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  <div id="message" class="updated woocommerce-message wc-connect">
12
  <a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'theme_support' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php _e( 'Dismiss', 'woocommerce' ); ?></a>
13
 
14
- <p><?php printf( __( '<strong>Your theme does not declare WooCommerce support</strong> &#8211; Please read our <a href="%1$s" target="_blank">integration</a> guide or check out our <a href="%2$s" target="_blank">Storefront</a> theme which is totally free to download and designed specifically for use with WooCommerce.', 'woocommerce' ), esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/', 'theme-compatibility' ) ), esc_url( admin_url( 'theme-install.php?theme=storefront' ) ) ); ?></p>
15
  <p class="submit">
16
  <a href="https://woocommerce.com/storefront/?utm_source=notice&amp;utm_medium=product&amp;utm_content=storefront&amp;utm_campaign=woocommerceplugin" class="button-primary" target="_blank"><?php _e( 'Read more about Storefront', 'woocommerce' ); ?></a>
17
  <a href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'http://docs.woocommerce.com/document/third-party-custom-theme-compatibility/?utm_source=notice&utm_medium=product&utm_content=themecompatibility&utm_campaign=woocommerceplugin' ) ); ?>" class="button-secondary" target="_blank"><?php _e( 'Theme integration guide', 'woocommerce' ); ?></a>
11
  <div id="message" class="updated woocommerce-message wc-connect">
12
  <a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'theme_support' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php _e( 'Dismiss', 'woocommerce' ); ?></a>
13
 
14
+ <p><?php printf( __( '<strong>Your theme does not declare WooCommerce support</strong> &#8211; Please read our <a href="%1$s" target="_blank">integration</a> guide or check out our <a href="%2$s" target="_blank">Storefront</a> theme which is totally free to download and designed specifically for use with WooCommerce.', 'woocommerce' ), esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/', 'theme-compatibility' ) ), esc_url( self_admin_url( 'theme-install.php?theme=storefront' ) ) ); ?></p>
15
  <p class="submit">
16
  <a href="https://woocommerce.com/storefront/?utm_source=notice&amp;utm_medium=product&amp;utm_content=storefront&amp;utm_campaign=woocommerceplugin" class="button-primary" target="_blank"><?php _e( 'Read more about Storefront', 'woocommerce' ); ?></a>
17
  <a href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'http://docs.woocommerce.com/document/third-party-custom-theme-compatibility/?utm_source=notice&utm_medium=product&utm_content=themecompatibility&utm_campaign=woocommerceplugin' ) ); ?>" class="button-secondary" target="_blank"><?php _e( 'Theme integration guide', 'woocommerce' ); ?></a>
includes/admin/wc-admin-functions.php CHANGED
@@ -234,7 +234,8 @@ function wc_save_order_items( $order_id, $items ) {
234
 
235
  if ( isset( $items['meta_key'][ $item_id ], $items['meta_value'][ $item_id ] ) ) {
236
  foreach ( $items['meta_key'][ $item_id ] as $meta_id => $meta_key ) {
237
- $meta_value = isset( $items['meta_value'][ $item_id ][ $meta_id ] ) ? wp_unslash( $items['meta_value'][ $item_id ][ $meta_id ] ) : '';
 
238
 
239
  if ( '' === $meta_key && '' === $meta_value ) {
240
  if ( ! strstr( $meta_id, 'new-' ) ) {
234
 
235
  if ( isset( $items['meta_key'][ $item_id ], $items['meta_value'][ $item_id ] ) ) {
236
  foreach ( $items['meta_key'][ $item_id ] as $meta_id => $meta_key ) {
237
+ $meta_key = wp_unslash( $meta_key );
238
+ $meta_value = isset( $items['meta_value'][ $item_id ][ $meta_id ] ) ? wp_unslash( $items['meta_value'][ $item_id ][ $meta_id ] ): '';
239
 
240
  if ( '' === $meta_key && '' === $meta_value ) {
241
  if ( ! strstr( $meta_id, 'new-' ) ) {
includes/api/class-wc-rest-orders-controller.php CHANGED
@@ -606,14 +606,14 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
606
  /**
607
  * Create or update a line item.
608
  *
609
- * @param array $posted Line item data.
610
  * @param string $action 'create' to add line item or 'update' to update it.
611
- *
612
  * @return WC_Order_Item_Product
613
  * @throws WC_REST_Exception Invalid data, server error.
614
  */
615
- protected function prepare_line_items( $posted, $action = 'create' ) {
616
- $item = new WC_Order_Item_Product( ! empty( $posted['id'] ) ? $posted['id'] : '' );
617
  $product = wc_get_product( $this->get_product_id( $posted ) );
618
 
619
  if ( $product !== $item->get_product() ) {
@@ -636,14 +636,14 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
636
  /**
637
  * Create or update an order shipping method.
638
  *
639
- * @param $posted $shipping Item data.
640
  * @param string $action 'create' to add shipping or 'update' to update it.
641
- *
642
  * @return WC_Order_Item_Shipping
643
  * @throws WC_REST_Exception Invalid data, server error.
644
  */
645
- protected function prepare_shipping_lines( $posted, $action ) {
646
- $item = new WC_Order_Item_Shipping( ! empty( $posted['id'] ) ? $posted['id'] : '' );
647
 
648
  if ( 'create' === $action ) {
649
  if ( empty( $posted['method_id'] ) ) {
@@ -660,14 +660,14 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
660
  /**
661
  * Create or update an order fee.
662
  *
663
- * @param array $posted Item data.
664
  * @param string $action 'create' to add fee or 'update' to update it.
665
- *
666
  * @return WC_Order_Item_Fee
667
  * @throws WC_REST_Exception Invalid data, server error.
668
  */
669
- protected function prepare_fee_lines( $posted, $action ) {
670
- $item = new WC_Order_Item_Fee( ! empty( $posted['id'] ) ? $posted['id'] : '' );
671
 
672
  if ( 'create' === $action ) {
673
  if ( empty( $posted['name'] ) ) {
@@ -684,14 +684,14 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
684
  /**
685
  * Create or update an order coupon.
686
  *
687
- * @param array $posted Item data.
688
  * @param string $action 'create' to add coupon or 'update' to update it.
689
- *
690
  * @return WC_Order_Item_Coupon
691
  * @throws WC_REST_Exception Invalid data, server error.
692
  */
693
- protected function prepare_coupon_lines( $posted, $action ) {
694
- $item = new WC_Order_Item_Coupon( ! empty( $posted['id'] ) ? $posted['id'] : '' );
695
 
696
  if ( 'create' === $action ) {
697
  if ( empty( $posted['code'] ) ) {
@@ -710,10 +710,10 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
710
  * When updating, the item ID provided is checked to ensure it is associated
711
  * with the order.
712
  *
713
- * @param WC_Order $order order
714
- * @param string $item_type
715
- * @param array $posted item provided in the request body
716
- * @throws WC_REST_Exception If item ID is not associated with order
717
  */
718
  protected function set_item( $order, $item_type, $posted ) {
719
  global $wpdb;
@@ -725,29 +725,23 @@ class WC_REST_Orders_Controller extends WC_REST_Legacy_Orders_Controller {
725
  }
726
 
727
  $method = 'prepare_' . $item_type;
 
728
 
729
  // Verify provided line item ID is associated with order.
730
  if ( 'update' === $action ) {
731
- $result = $wpdb->get_row(
732
- $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_id = %d AND order_id = %d",
733
- absint( $posted['id'] ),
734
- absint( $order->get_id() )
735
- ) );
736
- if ( is_null( $result ) ) {
737
  throw new WC_REST_Exception( 'woocommerce_rest_invalid_item_id', __( 'Order item ID provided is not associated with order.', 'woocommerce' ), 400 );
738
  }
739
  }
740
 
741
- // Prepare item data
742
- $item = $this->$method( $posted, $action );
743
 
744
- /**
745
- * Action hook to adjust item before save.
746
- * @since 3.0.0
747
- */
748
  do_action( 'woocommerce_rest_set_order_item', $item, $posted );
749
 
750
- // Save or add to order
751
  if ( 'create' === $action ) {
752
  $order->add_item( $item );
753
  } else {
606
  /**
607
  * Create or update a line item.
608
  *
609
+ * @param array $posted Line item data.
610
  * @param string $action 'create' to add line item or 'update' to update it.
611
+ * @param object $item Passed when updating an item. Null during creation.
612
  * @return WC_Order_Item_Product
613
  * @throws WC_REST_Exception Invalid data, server error.
614
  */
615
+ protected function prepare_line_items( $posted, $action = 'create', $item = null ) {
616
+ $item = is_null( $item ) ? new WC_Order_Item_Product( ! empty( $posted['id'] ) ? $posted['id'] : '' ) : $item;
617
  $product = wc_get_product( $this->get_product_id( $posted ) );
618
 
619
  if ( $product !== $item->get_product() ) {
636
  /**
637
  * Create or update an order shipping method.
638
  *
639
+ * @param array $posted $shipping Item data.
640
  * @param string $action 'create' to add shipping or 'update' to update it.
641
+ * @param object $item Passed when updating an item. Null during creation.
642
  * @return WC_Order_Item_Shipping
643
  * @throws WC_REST_Exception Invalid data, server error.
644
  */
645
+ protected function prepare_shipping_lines( $posted, $action = 'create', $item = null ) {
646
+ $item = is_null( $item ) ? new WC_Order_Item_Shipping( ! empty( $posted['id'] ) ? $posted['id'] : '' ) : $item;
647
 
648
  if ( 'create' === $action ) {
649
  if ( empty( $posted['method_id'] ) ) {
660
  /**
661
  * Create or update an order fee.
662
  *
663
+ * @param array $posted Item data.
664
  * @param string $action 'create' to add fee or 'update' to update it.
665
+ * @param object $item Passed when updating an item. Null during creation.
666
  * @return WC_Order_Item_Fee
667
  * @throws WC_REST_Exception Invalid data, server error.
668
  */
669
+ protected function prepare_fee_lines( $posted, $action = 'create', $item = null ) {
670
+ $item = is_null( $item ) ? new WC_Order_Item_Fee( ! empty( $posted['id'] ) ? $posted['id'] : '' ) : $item;
671
 
672
  if ( 'create' === $action ) {
673
  if ( empty( $posted['name'] ) ) {
684
  /**
685
  * Create or update an order coupon.
686
  *
687
+ * @param array $posted Item data.
688
  * @param string $action 'create' to add coupon or 'update' to update it.
689
+ * @param object $item Passed when updating an item. Null during creation.
690
  * @return WC_Order_Item_Coupon
691
  * @throws WC_REST_Exception Invalid data, server error.
692
  */
693
+ protected function prepare_coupon_lines( $posted, $action = 'create', $item = null ) {
694
+ $item = is_null( $item ) ? new WC_Order_Item_Coupon( ! empty( $posted['id'] ) ? $posted['id'] : '' ) : $item;
695
 
696
  if ( 'create' === $action ) {
697
  if ( empty( $posted['code'] ) ) {
710
  * When updating, the item ID provided is checked to ensure it is associated
711
  * with the order.
712
  *
713
+ * @param WC_Order $order order object.
714
+ * @param string $item_type The item type.
715
+ * @param array $posted item provided in the request body.
716
+ * @throws WC_REST_Exception If item ID is not associated with order.
717
  */
718
  protected function set_item( $order, $item_type, $posted ) {
719
  global $wpdb;
725
  }
726
 
727
  $method = 'prepare_' . $item_type;
728
+ $item = null;
729
 
730
  // Verify provided line item ID is associated with order.
731
  if ( 'update' === $action ) {
732
+ $item = $order->get_item( absint( $posted['id'] ), false );
733
+
734
+ if ( ! $item ) {
 
 
 
735
  throw new WC_REST_Exception( 'woocommerce_rest_invalid_item_id', __( 'Order item ID provided is not associated with order.', 'woocommerce' ), 400 );
736
  }
737
  }
738
 
739
+ // Prepare item data.
740
+ $item = $this->$method( $posted, $action, $item );
741
 
 
 
 
 
742
  do_action( 'woocommerce_rest_set_order_item', $item, $posted );
743
 
744
+ // If creating the order, add the item to it.
745
  if ( 'create' === $action ) {
746
  $order->add_item( $item );
747
  } else {
includes/api/class-wc-rest-products-controller.php CHANGED
@@ -1917,6 +1917,9 @@ class WC_REST_Products_Controller extends WC_REST_Legacy_Products_Controller {
1917
  'description' => __( 'List of available term names of the attribute.', 'woocommerce' ),
1918
  'type' => 'array',
1919
  'context' => array( 'view', 'edit' ),
 
 
 
1920
  ),
1921
  ),
1922
  ),
1917
  'description' => __( 'List of available term names of the attribute.', 'woocommerce' ),
1918
  'type' => 'array',
1919
  'context' => array( 'view', 'edit' ),
1920
+ 'items' => array(
1921
+ 'type' => 'string',
1922
+ ),
1923
  ),
1924
  ),
1925
  ),
includes/api/class-wc-rest-system-status-tools-controller.php CHANGED
@@ -406,15 +406,15 @@ class WC_REST_System_Status_Tools_Controller extends WC_REST_Controller {
406
  * that don't have address indexes yet.
407
  */
408
  $sql = "INSERT INTO {$wpdb->postmeta}( post_id, meta_key, meta_value )
409
- SELECT post_id, '%1\$s', GROUP_CONCAT( meta_value SEPARATOR ' ' )
410
  FROM {$wpdb->postmeta}
411
- WHERE meta_key IN ( '%2\$s', '%3\$s' )
412
  AND post_id IN ( SELECT DISTINCT post_id FROM {$wpdb->postmeta}
413
- WHERE post_id NOT IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='%1\$s' )
414
- AND post_id IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='%3\$s' ) )
415
  GROUP BY post_id";
416
- $rows = $wpdb->query( $wpdb->prepare( $sql, '_billing_address_index', '_billing_first_name', '_billing_last_name' ) );
417
- $rows += $wpdb->query( $wpdb->prepare( $sql, '_shipping_address_index', '_shipping_first_name', '_shipping_last_name' ) );
418
 
419
  $message = sprintf( __( '%d indexes added', 'woocommerce' ), $rows );
420
  break;
406
  * that don't have address indexes yet.
407
  */
408
  $sql = "INSERT INTO {$wpdb->postmeta}( post_id, meta_key, meta_value )
409
+ SELECT post_id, '%s', GROUP_CONCAT( meta_value SEPARATOR ' ' )
410
  FROM {$wpdb->postmeta}
411
+ WHERE meta_key IN ( '%s', '%s' )
412
  AND post_id IN ( SELECT DISTINCT post_id FROM {$wpdb->postmeta}
413
+ WHERE post_id NOT IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='%s' )
414
+ AND post_id IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='%s' ) )
415
  GROUP BY post_id";
416
+ $rows = $wpdb->query( $wpdb->prepare( $sql, '_billing_address_index', '_billing_first_name', '_billing_last_name', '_billing_address_index', '_billing_last_name' ) );
417
+ $rows += $wpdb->query( $wpdb->prepare( $sql, '_shipping_address_index', '_shipping_first_name', '_shipping_last_name', '_shipping_address_index', '_shipping_last_name') );
418
 
419
  $message = sprintf( __( '%d indexes added', 'woocommerce' ), $rows );
420
  break;
includes/class-wc-ajax.php CHANGED
@@ -59,7 +59,7 @@ class WC_AJAX {
59
  @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
60
  @header( 'X-Robots-Tag: noindex' );
61
  send_nosniff_header();
62
- nocache_headers();
63
  status_header( 200 );
64
  }
65
 
@@ -580,14 +580,13 @@ class WC_AJAX {
580
  * Add variation via ajax function.
581
  */
582
  public static function add_variation() {
583
-
584
  check_ajax_referer( 'add-variation', 'security' );
585
 
586
  if ( ! current_user_can( 'edit_products' ) ) {
587
  wp_die( -1 );
588
  }
589
 
590
- global $post; // Set $post global so its available, like within the admin screens
591
 
592
  $product_id = intval( $_POST['post_id'] );
593
  $post = get_post( $product_id );
@@ -595,6 +594,7 @@ class WC_AJAX {
595
  $product_object = wc_get_product( $product_id );
596
  $variation_object = new WC_Product_Variation();
597
  $variation_object->set_parent_id( $product_id );
 
598
  $variation_id = $variation_object->save();
599
  $variation = get_post( $variation_id );
600
  $variation_data = array_merge( array_map( 'maybe_unserialize', get_post_custom( $variation_id ) ), wc_get_product_variation_attributes( $variation_id ) ); // kept for BW compatibility.
59
  @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
60
  @header( 'X-Robots-Tag: noindex' );
61
  send_nosniff_header();
62
+ wc_nocache_headers();
63
  status_header( 200 );
64
  }
65
 
580
  * Add variation via ajax function.
581
  */
582
  public static function add_variation() {
 
583
  check_ajax_referer( 'add-variation', 'security' );
584
 
585
  if ( ! current_user_can( 'edit_products' ) ) {
586
  wp_die( -1 );
587
  }
588
 
589
+ global $post; // Set $post global so its available, like within the admin screens.
590
 
591
  $product_id = intval( $_POST['post_id'] );
592
  $post = get_post( $product_id );
594
  $product_object = wc_get_product( $product_id );
595
  $variation_object = new WC_Product_Variation();
596
  $variation_object->set_parent_id( $product_id );
597
+ $variation_object->set_attributes( array_fill_keys( array_keys( $product_object->get_variation_attributes() ), '' ) );
598
  $variation_id = $variation_object->save();
599
  $variation = get_post( $variation_id );
600
  $variation_data = array_merge( array_map( 'maybe_unserialize', get_post_custom( $variation_id ) ), wc_get_product_variation_attributes( $variation_id ) ); // kept for BW compatibility.
includes/class-wc-api.php CHANGED
@@ -81,7 +81,7 @@ class WC_API extends WC_Legacy_API {
81
  ob_start();
82
 
83
  // No cache headers.
84
- nocache_headers();
85
 
86
  // Clean the API request.
87
  $api_request = strtolower( wc_clean( $wp->query_vars['wc-api'] ) );
81
  ob_start();
82
 
83
  // No cache headers.
84
+ wc_nocache_headers();
85
 
86
  // Clean the API request.
87
  $api_request = strtolower( wc_clean( $wp->query_vars['wc-api'] ) );
includes/class-wc-cache-helper.php CHANGED
@@ -1,9 +1,4 @@
1
  <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly
5
- }
6
-
7
  /**
8
  * WC_Cache_Helper class.
9
  *
@@ -13,6 +8,14 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  * @category Class
14
  * @author WooThemes
15
  */
 
 
 
 
 
 
 
 
16
  class WC_Cache_Helper {
17
 
18
  /**
@@ -20,18 +23,19 @@ class WC_Cache_Helper {
20
  */
21
  public static function init() {
22
  add_action( 'template_redirect', array( __CLASS__, 'geolocation_ajax_redirect' ) );
23
- add_action( 'wp', array( __CLASS__, 'prevent_caching' ) );
24
  add_action( 'admin_notices', array( __CLASS__, 'notices' ) );
25
  add_action( 'delete_version_transients', array( __CLASS__, 'delete_version_transients' ) );
 
26
  }
27
 
28
  /**
29
  * Get prefix for use with wp_cache_set. Allows all cache in a group to be invalidated at once.
30
- * @param string $group
 
31
  * @return string
32
  */
33
  public static function get_cache_prefix( $group ) {
34
- // Get cache key - uses cache key wc_orders_cache_prefix to invalidate when needed
35
  $prefix = wp_cache_get( 'wc_' . $group . '_cache_prefix', $group );
36
 
37
  if ( false === $prefix ) {
@@ -44,7 +48,8 @@ class WC_Cache_Helper {
44
 
45
  /**
46
  * Increment group cache prefix (invalidates cache).
47
- * @param string $group
 
48
  */
49
  public static function incr_cache_prefix( $group ) {
50
  wp_cache_incr( 'wc_' . $group . '_cache_prefix', 1, $group );
@@ -52,6 +57,7 @@ class WC_Cache_Helper {
52
 
53
  /**
54
  * Get a hash of the customer location.
 
55
  * @return string
56
  */
57
  public static function geolocation_ajax_get_location_hash() {
@@ -64,22 +70,37 @@ class WC_Cache_Helper {
64
  return substr( md5( implode( '', $location ) ), 0, 12 );
65
  }
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  /**
68
  * When using geolocation via ajax, to bust cache, redirect if the location hash does not equal the querystring.
69
  *
70
  * This prevents caching of the wrong data for this request.
71
  */
72
  public static function geolocation_ajax_redirect() {
73
- if ( 'geolocation_ajax' === get_option( 'woocommerce_default_customer_address' ) && ! is_checkout() && ! is_cart() && ! is_account_page() && ! is_ajax() && empty( $_POST ) ) {
74
  $location_hash = self::geolocation_ajax_get_location_hash();
75
- $current_hash = isset( $_GET['v'] ) ? wc_clean( $_GET['v'] ) : '';
76
  if ( empty( $current_hash ) || $current_hash !== $location_hash ) {
77
  global $wp;
78
 
79
  $redirect_url = trailingslashit( home_url( $wp->request ) );
80
 
81
- if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
82
- $redirect_url = add_query_arg( $_SERVER['QUERY_STRING'], '', $redirect_url );
83
  }
84
 
85
  if ( ! get_option( 'permalink_structure' ) ) {
@@ -110,9 +131,9 @@ class WC_Cache_Helper {
110
  * Raised in issue https://github.com/woocommerce/woocommerce/issues/5777.
111
  * Adapted from ideas in http://tollmanz.com/invalidation-schemes/.
112
  *
113
- * @param string $group Name for the group of transients we need to invalidate
114
- * @param boolean $refresh true to force a new version
115
- * @return string transient version based on time(), 10 digits
116
  */
117
  public static function get_transient_version( $group, $refresh = false ) {
118
  $transient_name = $group . '-transient-version';
@@ -131,15 +152,14 @@ class WC_Cache_Helper {
131
  * Note; this only works on transients appended with the transient version, and when object caching is not being used.
132
  *
133
  * @since 2.3.10
134
- *
135
- * @param string $version
136
  */
137
  public static function delete_version_transients( $version = '' ) {
138
  if ( ! wp_using_ext_object_cache() && ! empty( $version ) ) {
139
  global $wpdb;
140
 
141
  $limit = apply_filters( 'woocommerce_delete_version_transients_limit', 1000 );
142
- $affected = $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s ORDER BY option_id LIMIT %d;", "\_transient\_%" . $version, $limit ) );
143
 
144
  // If affected rows is equal to limit, there are more rows to delete. Delete in 10 secs.
145
  if ( $affected === $limit ) {
@@ -148,38 +168,21 @@ class WC_Cache_Helper {
148
  }
149
  }
150
 
151
- /**
152
- * Prevent caching on dynamic pages.
153
- */
154
- public static function prevent_caching() {
155
- if ( ! is_blog_installed() ) {
156
- return;
157
- }
158
- $page_ids = array_filter( array( wc_get_page_id( 'cart' ), wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ) );
159
-
160
- if ( isset( $_GET['download_file'] ) || isset( $_GET['add-to-cart'] ) || is_page( $page_ids ) ) {
161
- add_filter( 'nocache_headers', array( __CLASS__, 'set_nocache_constants' ) );
162
- nocache_headers();
163
- }
164
- }
165
-
166
  /**
167
  * Set constants to prevent caching by some plugins.
168
  *
169
- * Hooked into nocache_headers filter but does not change headers.
170
- *
171
- * @param array $value
172
- * @return array
173
  */
174
- public static function set_nocache_constants( $value ) {
175
  wc_maybe_define_constant( 'DONOTCACHEPAGE', true );
176
  wc_maybe_define_constant( 'DONOTCACHEOBJECT', true );
177
  wc_maybe_define_constant( 'DONOTCACHEDB', true );
178
- return $value;
179
  }
180
 
181
  /**
182
- * notices function.
183
  */
184
  public static function notices() {
185
  if ( ! function_exists( 'w3tc_pgcache_flush' ) || ! function_exists( 'w3_instance' ) ) {
@@ -190,10 +193,10 @@ class WC_Cache_Helper {
190
  $enabled = $config->get_integer( 'dbcache.enabled' );
191
  $settings = array_map( 'trim', $config->get_array( 'dbcache.reject.sql' ) );
192
 
193
- if ( $enabled && ! in_array( '_wc_session_', $settings ) ) {
194
  ?>
195
  <div class="error">
196
- <p><?php printf( __( 'In order for <strong>database caching</strong> to work with WooCommerce you must add %1$s to the "Ignored Query Strings" option in <a href="%2$s">W3 Total Cache settings</a>.', 'woocommerce' ), '<code>_wc_session_</code>', admin_url( 'admin.php?page=w3tc_dbcache' ) ); ?></p>
197
  </div>
198
  <?php
199
  }
1
  <?php
 
 
 
 
 
2
  /**
3
  * WC_Cache_Helper class.
4
  *
8
  * @category Class
9
  * @author WooThemes
10
  */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * WC_Cache_Helper.
18
+ */
19
  class WC_Cache_Helper {
20
 
21
  /**
23
  */
24
  public static function init() {
25
  add_action( 'template_redirect', array( __CLASS__, 'geolocation_ajax_redirect' ) );
 
26
  add_action( 'admin_notices', array( __CLASS__, 'notices' ) );
27
  add_action( 'delete_version_transients', array( __CLASS__, 'delete_version_transients' ) );
28
+ add_action( 'wp', array( __CLASS__, 'prevent_caching' ) );
29
  }
30
 
31
  /**
32
  * Get prefix for use with wp_cache_set. Allows all cache in a group to be invalidated at once.
33
+ *
34
+ * @param string $group Group of cache to get.
35
  * @return string
36
  */
37
  public static function get_cache_prefix( $group ) {
38
+ // Get cache key - uses cache key wc_orders_cache_prefix to invalidate when needed.
39
  $prefix = wp_cache_get( 'wc_' . $group . '_cache_prefix', $group );
40
 
41
  if ( false === $prefix ) {
48
 
49
  /**
50
  * Increment group cache prefix (invalidates cache).
51
+ *
52
+ * @param string $group Group of cache to clear.
53
  */
54
  public static function incr_cache_prefix( $group ) {
55
  wp_cache_incr( 'wc_' . $group . '_cache_prefix', 1, $group );
57
 
58
  /**
59
  * Get a hash of the customer location.
60
+ *
61
  * @return string
62
  */
63
  public static function geolocation_ajax_get_location_hash() {
70
  return substr( md5( implode( '', $location ) ), 0, 12 );
71
  }
72
 
73
+ /**
74
+ * Prevent caching on certain pages
75
+ */
76
+ public static function prevent_caching() {
77
+ if ( ! is_blog_installed() ) {
78
+ return;
79
+ }
80
+ $page_ids = array_filter( array( wc_get_page_id( 'cart' ), wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ) );
81
+
82
+ if ( is_page( $page_ids ) ) {
83
+ self::set_nocache_constants();
84
+ nocache_headers();
85
+ }
86
+ }
87
+
88
  /**
89
  * When using geolocation via ajax, to bust cache, redirect if the location hash does not equal the querystring.
90
  *
91
  * This prevents caching of the wrong data for this request.
92
  */
93
  public static function geolocation_ajax_redirect() {
94
+ if ( 'geolocation_ajax' === get_option( 'woocommerce_default_customer_address' ) && ! is_checkout() && ! is_cart() && ! is_account_page() && ! is_ajax() && empty( $_POST ) ) { // WPCS: CSRF ok, input var ok.
95
  $location_hash = self::geolocation_ajax_get_location_hash();
96
+ $current_hash = isset( $_GET['v'] ) ? wc_clean( wp_unslash( $_GET['v'] ) ) : ''; // WPCS: sanitization ok, input var ok.
97
  if ( empty( $current_hash ) || $current_hash !== $location_hash ) {
98
  global $wp;
99
 
100
  $redirect_url = trailingslashit( home_url( $wp->request ) );
101
 
102
+ if ( ! empty( $_SERVER['QUERY_STRING'] ) ) { // WPCS: Input var ok.
103
+ $redirect_url = add_query_arg( wp_unslash( $_SERVER['QUERY_STRING'] ), '', $redirect_url ); // WPCS: sanitization ok, Input var ok.
104
  }
105
 
106
  if ( ! get_option( 'permalink_structure' ) ) {
131
  * Raised in issue https://github.com/woocommerce/woocommerce/issues/5777.
132
  * Adapted from ideas in http://tollmanz.com/invalidation-schemes/.
133
  *
134
+ * @param string $group Name for the group of transients we need to invalidate.
135
+ * @param boolean $refresh true to force a new version.
136
+ * @return string transient version based on time(), 10 digits.
137
  */
138
  public static function get_transient_version( $group, $refresh = false ) {
139
  $transient_name = $group . '-transient-version';
152
  * Note; this only works on transients appended with the transient version, and when object caching is not being used.
153
  *
154
  * @since 2.3.10
155
+ * @param string $version Version of the transient to remove.
 
156
  */
157
  public static function delete_version_transients( $version = '' ) {
158
  if ( ! wp_using_ext_object_cache() && ! empty( $version ) ) {
159
  global $wpdb;
160
 
161
  $limit = apply_filters( 'woocommerce_delete_version_transients_limit', 1000 );
162
+ $affected = $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s ORDER BY option_id LIMIT %d;", '\_transient\_%' . $version, $limit ) ); // WPCS: cache ok, db call ok.
163
 
164
  // If affected rows is equal to limit, there are more rows to delete. Delete in 10 secs.
165
  if ( $affected === $limit ) {
168
  }
169
  }
170
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  /**
172
  * Set constants to prevent caching by some plugins.
173
  *
174
+ * @param mixed $return Value to return. Previously hooked into a filter.
175
+ * @return mixed
 
 
176
  */
177
+ public static function set_nocache_constants( $return = true ) {
178
  wc_maybe_define_constant( 'DONOTCACHEPAGE', true );
179
  wc_maybe_define_constant( 'DONOTCACHEOBJECT', true );
180
  wc_maybe_define_constant( 'DONOTCACHEDB', true );
181
+ return $return;
182
  }
183
 
184
  /**
185
+ * Notices function.
186
  */
187
  public static function notices() {
188
  if ( ! function_exists( 'w3tc_pgcache_flush' ) || ! function_exists( 'w3_instance' ) ) {
193
  $enabled = $config->get_integer( 'dbcache.enabled' );
194
  $settings = array_map( 'trim', $config->get_array( 'dbcache.reject.sql' ) );
195
 
196
+ if ( $enabled && ! in_array( '_wc_session_', $settings, true ) ) {
197
  ?>
198
  <div class="error">
199
+ <p><?php echo wp_kses_post( sprintf( __( 'In order for <strong>database caching</strong> to work with WooCommerce you must add %1$s to the "Ignored Query Strings" option in <a href="%2$s">W3 Total Cache settings</a>.', 'woocommerce' ), '<code>_wc_session_</code>', esc_url( admin_url( 'admin.php?page=w3tc_dbcache' ) ) ) ); ?></p>
200
  </div>
201
  <?php
202
  }
includes/class-wc-cart-session.php CHANGED
@@ -104,7 +104,7 @@ final class WC_Cart_Session {
104
 
105
  do_action( 'woocommerce_cart_loaded_from_session', $this->cart );
106
 
107
- if ( $update_cart_session || is_null( $totals ) ) {
108
  WC()->session->set( 'cart', $this->get_cart_for_session() );
109
  $this->cart->calculate_totals();
110
  }
104
 
105
  do_action( 'woocommerce_cart_loaded_from_session', $this->cart );
106
 
107
+ if ( $update_cart_session || is_null( WC()->session->get( 'cart_totals', null ) ) ) {
108
  WC()->session->set( 'cart', $this->get_cart_for_session() );
109
  $this->cart->calculate_totals();
110
  }
includes/class-wc-cart.php CHANGED
@@ -1688,10 +1688,6 @@ class WC_Cart extends WC_Legacy_Cart {
1688
  * @return bool
1689
  */
1690
  public function remove_coupon( $coupon_code ) {
1691
- if ( ! wc_coupons_enabled() ) {
1692
- return false;
1693
- }
1694
-
1695
  $coupon_code = wc_format_coupon_code( $coupon_code );
1696
  $position = array_search( $coupon_code, $this->get_applied_coupons(), true );
1697
 
@@ -1768,7 +1764,7 @@ class WC_Cart extends WC_Legacy_Cart {
1768
  * @return string formatted price
1769
  */
1770
  public function get_total_ex_tax() {
1771
- return apply_filters( 'woocommerce_cart_total_ex_tax', wc_price( max( 0, $this->get_total( 'edit' ) - $this->get_cart_contents_tax() - $this->get_shipping_tax() ) ) );
1772
  }
1773
 
1774
  /**
1688
  * @return bool
1689
  */
1690
  public function remove_coupon( $coupon_code ) {
 
 
 
 
1691
  $coupon_code = wc_format_coupon_code( $coupon_code );
1692
  $position = array_search( $coupon_code, $this->get_applied_coupons(), true );
1693
 
1764
  * @return string formatted price
1765
  */
1766
  public function get_total_ex_tax() {
1767
+ return apply_filters( 'woocommerce_cart_total_ex_tax', wc_price( max( 0, $this->get_total( 'edit' ) - $this->get_total_tax() ) ) );
1768
  }
1769
 
1770
  /**
includes/class-wc-comments.php CHANGED
@@ -32,11 +32,11 @@ class WC_Comments {
32
 
33
  // Secure order notes
34
  add_filter( 'comments_clauses', array( __CLASS__, 'exclude_order_comments' ), 10, 1 );
35
- add_action( 'comment_feed_where', array( __CLASS__, 'exclude_order_comments_from_feed_where' ) );
36
 
37
  // Secure webhook comments
38
  add_filter( 'comments_clauses', array( __CLASS__, 'exclude_webhook_comments' ), 10, 1 );
39
- add_action( 'comment_feed_where', array( __CLASS__, 'exclude_webhook_comments_from_feed_where' ) );
40
 
41
  // Count comments
42
  add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 10, 2 );
32
 
33
  // Secure order notes
34
  add_filter( 'comments_clauses', array( __CLASS__, 'exclude_order_comments' ), 10, 1 );
35
+ add_filter( 'comment_feed_where', array( __CLASS__, 'exclude_order_comments_from_feed_where' ) );
36
 
37
  // Secure webhook comments
38
  add_filter( 'comments_clauses', array( __CLASS__, 'exclude_webhook_comments' ), 10, 1 );
39
+ add_filter( 'comment_feed_where', array( __CLASS__, 'exclude_webhook_comments_from_feed_where' ) );
40
 
41
  // Count comments
42
  add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 10, 2 );
includes/class-wc-customer-download.php CHANGED
@@ -345,7 +345,7 @@ class WC_Customer_Download extends WC_Data implements ArrayAccess {
345
  * @return bool
346
  */
347
  public function __isset( $key ) {
348
- return in_array( $offset, array_keys( $this->data ) );
349
  }
350
 
351
  /**
345
  * @return bool
346
  */
347
  public function __isset( $key ) {
348
+ return in_array( $key, array_keys( $this->data ) );
349
  }
350
 
351
  /**
includes/class-wc-discounts.php CHANGED
@@ -611,8 +611,7 @@ class WC_Discounts {
611
  * @return bool
612
  */
613
  protected function validate_coupon_minimum_amount( $coupon ) {
614
- $subtotal = wc_remove_number_precision( array_sum( wp_list_pluck( $this->items, 'price' ) ) );
615
-
616
  if ( $coupon->get_minimum_amount() > 0 && apply_filters( 'woocommerce_coupon_validate_minimum_amount', $coupon->get_minimum_amount() > $subtotal, $coupon, $subtotal ) ) {
617
  /* translators: %s: coupon minimum amount */
618
  throw new Exception( sprintf( __( 'The minimum spend for this coupon is %s.', 'woocommerce' ), wc_price( $coupon->get_minimum_amount() ) ), 108 );
@@ -630,8 +629,7 @@ class WC_Discounts {
630
  * @return bool
631
  */
632
  protected function validate_coupon_maximum_amount( $coupon ) {
633
- $subtotal = wc_remove_number_precision( array_sum( wp_list_pluck( $this->items, 'price' ) ) );
634
-
635
  if ( $coupon->get_maximum_amount() > 0 && apply_filters( 'woocommerce_coupon_validate_maximum_amount', $coupon->get_maximum_amount() < $subtotal, $coupon ) ) {
636
  /* translators: %s: coupon maximum amount */
637
  throw new Exception( sprintf( __( 'The maximum spend for this coupon is %s.', 'woocommerce' ), wc_price( $coupon->get_maximum_amount() ) ), 112 );
@@ -845,6 +843,21 @@ class WC_Discounts {
845
  return true;
846
  }
847
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
848
  /**
849
  * Check if a coupon is valid.
850
  *
611
  * @return bool
612
  */
613
  protected function validate_coupon_minimum_amount( $coupon ) {
614
+ $subtotal = wc_remove_number_precision( $this->get_object_subtotal() );
 
615
  if ( $coupon->get_minimum_amount() > 0 && apply_filters( 'woocommerce_coupon_validate_minimum_amount', $coupon->get_minimum_amount() > $subtotal, $coupon, $subtotal ) ) {
616
  /* translators: %s: coupon minimum amount */
617
  throw new Exception( sprintf( __( 'The minimum spend for this coupon is %s.', 'woocommerce' ), wc_price( $coupon->get_minimum_amount() ) ), 108 );
629
  * @return bool
630
  */
631
  protected function validate_coupon_maximum_amount( $coupon ) {
632
+ $subtotal = wc_remove_number_precision( $this->get_object_subtotal() );
 
633
  if ( $coupon->get_maximum_amount() > 0 && apply_filters( 'woocommerce_coupon_validate_maximum_amount', $coupon->get_maximum_amount() < $subtotal, $coupon ) ) {
634
  /* translators: %s: coupon maximum amount */
635
  throw new Exception( sprintf( __( 'The maximum spend for this coupon is %s.', 'woocommerce' ), wc_price( $coupon->get_maximum_amount() ) ), 112 );
843
  return true;
844
  }
845
 
846
+ /**
847
+ * Get the object subtotal
848
+ *
849
+ * @return int
850
+ */
851
+ protected function get_object_subtotal() {
852
+ if ( is_a( $this->object, 'WC_Cart' ) ) {
853
+ return wc_add_number_precision( $this->object->get_displayed_subtotal() );
854
+ } elseif ( is_a( $this->object, 'WC_Order' ) ) {
855
+ return wc_add_number_precision( $this->object->get_subtotal() );
856
+ } else {
857
+ return array_sum( wp_list_pluck( $this->items, 'price' ) );
858
+ }
859
+ }
860
+
861
  /**
862
  * Check if a coupon is valid.
863
  *
includes/class-wc-download-handler.php CHANGED
@@ -305,7 +305,7 @@ class WC_Download_Handler {
305
  private static function download_headers( $file_path, $filename ) {
306
  self::check_server_config();
307
  self::clean_buffers();
308
- nocache_headers();
309
 
310
  header( "X-Robots-Tag: noindex, nofollow", true );
311
  header( "Content-Type: " . self::get_download_content_type( $file_path ) );
305
  private static function download_headers( $file_path, $filename ) {
306
  self::check_server_config();
307
  self::clean_buffers();
308
+ wc_nocache_headers();
309
 
310
  header( "X-Robots-Tag: noindex, nofollow", true );
311
  header( "Content-Type: " . self::get_download_content_type( $file_path ) );
includes/class-wc-emails.php CHANGED
@@ -351,7 +351,7 @@ class WC_Emails {
351
  * @param string $email
352
  */
353
  public function order_downloads( $order, $sent_to_admin = false, $plain_text = false, $email = '' ) {
354
- $show_downloads = $order->has_downloadable_item() && $order->is_download_permitted();
355
 
356
  if ( ! $show_downloads ) {
357
  return;
351
  * @param string $email
352
  */
353
  public function order_downloads( $order, $sent_to_admin = false, $plain_text = false, $email = '' ) {
354
+ $show_downloads = $order->has_downloadable_item() && $order->is_download_permitted() && ! $sent_to_admin;
355
 
356
  if ( ! $show_downloads ) {
357
  return;
includes/class-wc-form-handler.php CHANGED
@@ -67,7 +67,7 @@ class WC_Form_Handler {
67
  return;
68
  }
69
 
70
- nocache_headers();
71
 
72
  $user_id = get_current_user_id();
73
 
@@ -181,7 +181,7 @@ class WC_Form_Handler {
181
  return;
182
  }
183
 
184
- nocache_headers();
185
 
186
  $errors = new WP_Error();
187
  $user = new stdClass();
@@ -278,7 +278,7 @@ class WC_Form_Handler {
278
  */
279
  public static function checkout_action() {
280
  if ( isset( $_POST['woocommerce_checkout_place_order'] ) || isset( $_POST['woocommerce_checkout_update_totals'] ) ) {
281
- nocache_headers();
282
 
283
  if ( WC()->cart->is_empty() ) {
284
  wp_redirect( wc_get_page_permalink( 'cart' ) );
@@ -298,7 +298,7 @@ class WC_Form_Handler {
298
  global $wp;
299
 
300
  if ( isset( $_POST['woocommerce_pay'] ) && isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-pay' ) ) {
301
- nocache_headers();
302
  ob_start();
303
 
304
  // Pay for existing order
@@ -377,7 +377,7 @@ class WC_Form_Handler {
377
  */
378
  public static function add_payment_method_action() {
379
  if ( isset( $_POST['woocommerce_add_payment_method'], $_POST['payment_method'], $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-add-payment-method' ) ) {
380
- nocache_headers();
381
  ob_start();
382
 
383
  $payment_method_id = wc_clean( wp_unslash( $_POST['payment_method'] ) );
@@ -422,7 +422,7 @@ class WC_Form_Handler {
422
  global $wp;
423
 
424
  if ( isset( $wp->query_vars['delete-payment-method'] ) ) {
425
- nocache_headers();
426
 
427
  $token_id = absint( $wp->query_vars['delete-payment-method'] );
428
  $token = WC_Payment_Tokens::get( $token_id );
@@ -447,7 +447,7 @@ class WC_Form_Handler {
447
  global $wp;
448
 
449
  if ( isset( $wp->query_vars['set-default-payment-method'] ) ) {
450
- nocache_headers();
451
 
452
  $token_id = absint( $wp->query_vars['set-default-payment-method'] );
453
  $token = WC_Payment_Tokens::get( $token_id );
@@ -473,7 +473,7 @@ class WC_Form_Handler {
473
  return;
474
  }
475
 
476
- nocache_headers();
477
 
478
  if ( ! empty( $_POST['apply_coupon'] ) && ! empty( $_POST['coupon_code'] ) ) {
479
  WC()->cart->add_discount( sanitize_text_field( $_POST['coupon_code'] ) );
@@ -587,7 +587,7 @@ class WC_Form_Handler {
587
  return;
588
  }
589
 
590
- nocache_headers();
591
 
592
  if ( apply_filters( 'woocommerce_empty_cart_when_order_again', true ) ) {
593
  WC()->cart->empty_cart();
@@ -678,7 +678,7 @@ class WC_Form_Handler {
678
  isset( $_GET['order_id'] ) &&
679
  ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'woocommerce-cancel_order' ) )
680
  ) {
681
- nocache_headers();
682
 
683
  $order_key = $_GET['order'];
684
  $order_id = absint( $_GET['order_id'] );
@@ -725,7 +725,7 @@ class WC_Form_Handler {
725
  return;
726
  }
727
 
728
- nocache_headers();
729
 
730
  $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
731
  $was_added_to_cart = false;
@@ -834,8 +834,8 @@ class WC_Form_Handler {
834
  */
835
  private static function add_to_cart_handler_variable( $product_id ) {
836
  try {
837
- $variation_id = empty( $_REQUEST['variation_id'] ) ? '' : absint( $_REQUEST['variation_id'] );
838
- $quantity = empty( $_REQUEST['quantity'] ) ? 1 : wc_stock_amount( $_REQUEST['quantity'] );
839
  $missing_attributes = array();
840
  $variations = array();
841
  $adding_to_cart = wc_get_product( $product_id );
@@ -873,19 +873,23 @@ class WC_Form_Handler {
873
  continue;
874
  }
875
 
876
- $taxonomy = 'attribute_' . sanitize_title( $attribute['name'] );
 
 
877
 
 
 
 
 
 
878
  if ( isset( $_REQUEST[ $taxonomy ] ) ) {
879
  if ( $attribute['is_taxonomy'] ) {
880
  // Don't use wc_clean as it destroys sanitized characters.
881
  $value = sanitize_title( wp_unslash( $_REQUEST[ $taxonomy ] ) );
882
  } else {
883
- $value = wc_clean( wp_unslash( $_REQUEST[ $taxonomy ] ) );
884
  }
885
 
886
- // Get valid value from variation data.
887
- $valid_value = isset( $variation_data[ $taxonomy ] ) ? $variation_data[ $taxonomy ] : '';
888
-
889
  // Allow if valid or show error.
890
  if ( $valid_value === $value ) {
891
  $variations[ $taxonomy ] = $value;
@@ -895,7 +899,7 @@ class WC_Form_Handler {
895
  } else {
896
  throw new Exception( sprintf( __( 'Invalid value posted for %s', 'woocommerce' ), wc_attribute_label( $attribute['name'] ) ) );
897
  }
898
- } else {
899
  $missing_attributes[] = wc_attribute_label( $attribute['name'] );
900
  }
901
  }
67
  return;
68
  }
69
 
70
+ wc_nocache_headers();
71
 
72
  $user_id = get_current_user_id();
73
 
181
  return;
182
  }
183
 
184
+ wc_nocache_headers();
185
 
186
  $errors = new WP_Error();
187
  $user = new stdClass();
278
  */
279
  public static function checkout_action() {
280
  if ( isset( $_POST['woocommerce_checkout_place_order'] ) || isset( $_POST['woocommerce_checkout_update_totals'] ) ) {
281
+ wc_nocache_headers();
282
 
283
  if ( WC()->cart->is_empty() ) {
284
  wp_redirect( wc_get_page_permalink( 'cart' ) );
298
  global $wp;
299
 
300
  if ( isset( $_POST['woocommerce_pay'] ) && isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-pay' ) ) {
301
+ wc_nocache_headers();
302
  ob_start();
303
 
304
  // Pay for existing order
377
  */
378
  public static function add_payment_method_action() {
379
  if ( isset( $_POST['woocommerce_add_payment_method'], $_POST['payment_method'], $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-add-payment-method' ) ) {
380
+ wc_nocache_headers();
381
  ob_start();
382
 
383
  $payment_method_id = wc_clean( wp_unslash( $_POST['payment_method'] ) );
422
  global $wp;
423
 
424
  if ( isset( $wp->query_vars['delete-payment-method'] ) ) {
425
+ wc_nocache_headers();
426
 
427
  $token_id = absint( $wp->query_vars['delete-payment-method'] );
428
  $token = WC_Payment_Tokens::get( $token_id );
447
  global $wp;
448
 
449
  if ( isset( $wp->query_vars['set-default-payment-method'] ) ) {
450
+ wc_nocache_headers();
451
 
452
  $token_id = absint( $wp->query_vars['set-default-payment-method'] );
453
  $token = WC_Payment_Tokens::get( $token_id );
473
  return;
474
  }
475
 
476
+ wc_nocache_headers();
477
 
478
  if ( ! empty( $_POST['apply_coupon'] ) && ! empty( $_POST['coupon_code'] ) ) {
479
  WC()->cart->add_discount( sanitize_text_field( $_POST['coupon_code'] ) );
587
  return;
588
  }
589
 
590
+ wc_nocache_headers();
591
 
592
  if ( apply_filters( 'woocommerce_empty_cart_when_order_again', true ) ) {
593
  WC()->cart->empty_cart();
678
  isset( $_GET['order_id'] ) &&
679
  ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'woocommerce-cancel_order' ) )
680
  ) {
681
+ wc_nocache_headers();
682
 
683
  $order_key = $_GET['order'];
684
  $order_id = absint( $_GET['order_id'] );
725
  return;
726
  }
727
 
728
+ wc_nocache_headers();
729
 
730
  $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
731
  $was_added_to_cart = false;
834
  */
835
  private static function add_to_cart_handler_variable( $product_id ) {
836
  try {
837
+ $variation_id = empty( $_REQUEST['variation_id'] ) ? '' : absint( wp_unslash( $_REQUEST['variation_id'] ) );
838
+ $quantity = empty( $_REQUEST['quantity'] ) ? 1 : wc_stock_amount( wp_unslash( $_REQUEST['quantity'] ) ); // WPCS: sanitization ok.
839
  $missing_attributes = array();
840
  $variations = array();
841
  $adding_to_cart = wc_get_product( $product_id );
873
  continue;
874
  }
875
 
876
+ // Get valid value from variation data.
877
+ $taxonomy = 'attribute_' . sanitize_title( $attribute['name'] );
878
+ $valid_value = isset( $variation_data[ $taxonomy ] ) ? $variation_data[ $taxonomy ] : '';
879
 
880
+ /**
881
+ * If the attribute value was posted, check if it's valid.
882
+ *
883
+ * If no attribute was posted, only error if the variation has an 'any' attribute which requires a value.
884
+ */
885
  if ( isset( $_REQUEST[ $taxonomy ] ) ) {
886
  if ( $attribute['is_taxonomy'] ) {
887
  // Don't use wc_clean as it destroys sanitized characters.
888
  $value = sanitize_title( wp_unslash( $_REQUEST[ $taxonomy ] ) );
889
  } else {
890
+ $value = wc_clean( wp_unslash( $_REQUEST[ $taxonomy ] ) ); // WPCS: sanitization ok.
891
  }
892
 
 
 
 
893
  // Allow if valid or show error.
894
  if ( $valid_value === $value ) {
895
  $variations[ $taxonomy ] = $value;
899
  } else {
900
  throw new Exception( sprintf( __( 'Invalid value posted for %s', 'woocommerce' ), wc_attribute_label( $attribute['name'] ) ) );
901
  }
902
+ } elseif ( '' === $valid_value ) {
903
  $missing_attributes[] = wc_attribute_label( $attribute['name'] );
904
  }
905
  }
includes/class-wc-order-item-product.php CHANGED
@@ -96,7 +96,7 @@ class WC_Order_Item_Product extends WC_Order_Item {
96
  * @throws WC_Data_Exception
97
  */
98
  public function set_subtotal( $value ) {
99
- $this->set_prop( 'subtotal', floatval( wc_format_decimal( $value ) ) );
100
  }
101
 
102
  /**
@@ -106,7 +106,7 @@ class WC_Order_Item_Product extends WC_Order_Item {
106
  * @throws WC_Data_Exception
107
  */
108
  public function set_total( $value ) {
109
- $this->set_prop( 'total', floatval( wc_format_decimal( $value ) ) );
110
 
111
  // Subtotal cannot be less than total
112
  if ( '' === $this->get_subtotal() || $this->get_subtotal() < $this->get_total() ) {
96
  * @throws WC_Data_Exception
97
  */
98
  public function set_subtotal( $value ) {
99
+ $this->set_prop( 'subtotal', wc_format_decimal( $value ) );
100
  }
101
 
102
  /**
106
  * @throws WC_Data_Exception
107
  */
108
  public function set_total( $value ) {
109
+ $this->set_prop( 'total', wc_format_decimal( $value ) );
110
 
111
  // Subtotal cannot be less than total
112
  if ( '' === $this->get_subtotal() || $this->get_subtotal() < $this->get_total() ) {
includes/class-wc-product-variable.php CHANGED
@@ -290,7 +290,7 @@ class WC_Product_Variable extends WC_Product {
290
  'attributes' => $variation->get_variation_attributes(),
291
  'availability_html' => wc_get_stock_html( $variation ),
292
  'backorders_allowed' => $variation->backorders_allowed(),
293
- 'dimensions' => wc_format_dimensions( $variation->get_dimensions( false ) ),
294
  'dimensions_html' => wc_format_dimensions( $variation->get_dimensions( false ) ),
295
  'display_price' => wc_get_price_to_display( $variation ),
296
  'display_regular_price' => wc_get_price_to_display( $variation, array( 'price' => $variation->get_regular_price() ) ),
@@ -309,7 +309,7 @@ class WC_Product_Variable extends WC_Product {
309
  'variation_id' => $variation->get_id(),
310
  'variation_is_active' => $variation->variation_is_active(),
311
  'variation_is_visible' => $variation->variation_is_visible(),
312
- 'weight' => wc_format_weight( $variation->get_weight() ),
313
  'weight_html' => wc_format_weight( $variation->get_weight() ),
314
  ), $this, $variation );
315
  }
290
  'attributes' => $variation->get_variation_attributes(),
291
  'availability_html' => wc_get_stock_html( $variation ),
292
  'backorders_allowed' => $variation->backorders_allowed(),
293
+ 'dimensions' => $variation->get_dimensions( false ),
294
  'dimensions_html' => wc_format_dimensions( $variation->get_dimensions( false ) ),
295
  'display_price' => wc_get_price_to_display( $variation ),
296
  'display_regular_price' => wc_get_price_to_display( $variation, array( 'price' => $variation->get_regular_price() ) ),
309
  'variation_id' => $variation->get_id(),
310
  'variation_is_active' => $variation->variation_is_active(),
311
  'variation_is_visible' => $variation->variation_is_visible(),
312
+ 'weight' => $variation->get_weight(),
313
  'weight_html' => wc_format_weight( $variation->get_weight() ),
314
  ), $this, $variation );
315
  }
includes/class-woocommerce.php CHANGED
@@ -25,7 +25,7 @@ final class WooCommerce {
25
  *
26
  * @var string
27
  */
28
- public $version = '3.2.3';
29
 
30
  /**
31
  * The single instance of the class.
25
  *
26
  * @var string
27
  */
28
+ public $version = '3.2.4';
29
 
30
  /**
31
  * The single instance of the class.
includes/data-stores/abstract-wc-order-item-type-data-store.php CHANGED
@@ -91,6 +91,7 @@ abstract class Abstract_WC_Order_Item_Type_Data_Store extends WC_Data_Store_WP i
91
  $wpdb->delete( $wpdb->prefix . 'woocommerce_order_items', array( 'order_item_id' => $item->get_id() ) );
92
  $wpdb->delete( $wpdb->prefix . 'woocommerce_order_itemmeta', array( 'order_item_id' => $item->get_id() ) );
93
  do_action( 'woocommerce_delete_order_item', $item->get_id() );
 
94
  }
95
  }
96
 
91
  $wpdb->delete( $wpdb->prefix . 'woocommerce_order_items', array( 'order_item_id' => $item->get_id() ) );
92
  $wpdb->delete( $wpdb->prefix . 'woocommerce_order_itemmeta', array( 'order_item_id' => $item->get_id() ) );
93
  do_action( 'woocommerce_delete_order_item', $item->get_id() );
94
+ $this->clear_cache( $item );
95
  }
96
  }
97
 
includes/data-stores/class-wc-customer-data-store-session.php CHANGED
@@ -97,7 +97,7 @@ class WC_Customer_Data_Store_Session extends WC_Data_Store_WP implements WC_Cust
97
  $session_key = str_replace( 'billing_', '', $session_key );
98
  }
99
  if ( ! empty( $data[ $session_key ] ) && is_callable( array( $customer, "set_{$function_key}" ) ) ) {
100
- $customer->{"set_{$function_key}"}( $data[ $session_key ] );
101
  }
102
  }
103
  }
97
  $session_key = str_replace( 'billing_', '', $session_key );
98
  }
99
  if ( ! empty( $data[ $session_key ] ) && is_callable( array( $customer, "set_{$function_key}" ) ) ) {
100
+ $customer->{"set_{$function_key}"}( wp_unslash( $data[ $session_key ] ) );
101
  }
102
  }
103
  }
includes/data-stores/class-wc-customer-data-store.php CHANGED
@@ -57,6 +57,7 @@ class WC_Customer_Data_Store extends WC_Data_Store_WP implements WC_Customer_Dat
57
  'shipping_company',
58
  'wptests_capabilities',
59
  'wptests_user_level',
 
60
  '_order_count',
61
  '_money_spent',
62
  );
57
  'shipping_company',
58
  'wptests_capabilities',
59
  'wptests_user_level',
60
+ 'syntax_highlighting',
61
  '_order_count',
62
  '_money_spent',
63
  );
includes/export/abstract-wc-csv-exporter.php CHANGED
@@ -168,7 +168,7 @@ abstract class WC_CSV_Exporter {
168
  @ini_set( 'output_handler', '' );
169
  ignore_user_abort( true );
170
  wc_set_time_limit( 0 );
171
- nocache_headers();
172
  header( 'Content-Type: text/csv; charset=utf-8' );
173
  header( 'Content-Disposition: attachment; filename=' . $this->get_filename() );
174
  header( 'Pragma: no-cache' );
168
  @ini_set( 'output_handler', '' );
169
  ignore_user_abort( true );
170
  wc_set_time_limit( 0 );
171
+ wc_nocache_headers();
172
  header( 'Content-Type: text/csv; charset=utf-8' );
173
  header( 'Content-Disposition: attachment; filename=' . $this->get_filename() );
174
  header( 'Pragma: no-cache' );
includes/shortcodes/class-wc-shortcode-cart.php CHANGED
@@ -23,10 +23,10 @@ class WC_Shortcode_Cart {
23
  try {
24
  WC()->shipping->reset_shipping();
25
 
26
- $country = wc_clean( $_POST['calc_shipping_country'] );
27
- $state = wc_clean( isset( $_POST['calc_shipping_state'] ) ? $_POST['calc_shipping_state'] : '' );
28
- $postcode = apply_filters( 'woocommerce_shipping_calculator_enable_postcode', true ) ? wc_clean( $_POST['calc_shipping_postcode'] ) : '';
29
- $city = apply_filters( 'woocommerce_shipping_calculator_enable_city', false ) ? wc_clean( $_POST['calc_shipping_city'] ) : '';
30
 
31
  if ( $postcode && ! WC_Validation::is_postcode( $postcode, $country ) ) {
32
  throw new Exception( __( 'Please enter a valid postcode / ZIP.', 'woocommerce' ) );
23
  try {
24
  WC()->shipping->reset_shipping();
25
 
26
+ $country = wc_clean( wp_unslash( $_POST['calc_shipping_country'] ) );
27
+ $state = wc_clean( wp_unslash( isset( $_POST['calc_shipping_state'] ) ? $_POST['calc_shipping_state'] : '' ) );
28
+ $postcode = apply_filters( 'woocommerce_shipping_calculator_enable_postcode', true ) ? wc_clean( wp_unslash( $_POST['calc_shipping_postcode'] ) ) : '';
29
+ $city = apply_filters( 'woocommerce_shipping_calculator_enable_city', false ) ? wc_clean( wp_unslash( $_POST['calc_shipping_city'] ) ) : '';
30
 
31
  if ( $postcode && ! WC_Validation::is_postcode( $postcode, $country ) ) {
32
  throw new Exception( __( 'Please enter a valid postcode / ZIP.', 'woocommerce' ) );
includes/shortcodes/class-wc-shortcode-products.php CHANGED
@@ -5,7 +5,7 @@
5
  * @author Automattic
6
  * @category Shortcodes
7
  * @package WooCommerce/Shortcodes
8
- * @version 3.2.0
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) {
@@ -195,7 +195,12 @@ class WC_Shortcode_Products {
195
  // Categories.
196
  $this->set_categories_query_args( $query_args );
197
 
198
- return apply_filters( 'woocommerce_shortcode_products_query', $query_args, $this->attributes, $this->type );
 
 
 
 
 
199
  }
200
 
201
  /**
@@ -432,14 +437,14 @@ class WC_Shortcode_Products {
432
  /**
433
  * Get products.
434
  *
435
- * @since 3.2.0
436
- * @return WP_Query
437
  */
438
- protected function get_products() {
439
  $transient_name = 'wc_loop' . substr( md5( wp_json_encode( $this->query_args ) . $this->type ), 28 ) . WC_Cache_Helper::get_transient_version( 'product_query' );
440
- $products = get_transient( $transient_name );
441
 
442
- if ( false === $products || ! is_a( $products, 'WP_Query' ) ) {
443
  if ( 'top_rated_products' === $this->type ) {
444
  add_filter( 'posts_clauses', array( __CLASS__, 'order_by_rating_post_clauses' ) );
445
  $products = new WP_Query( $this->query_args );
@@ -448,7 +453,9 @@ class WC_Shortcode_Products {
448
  $products = new WP_Query( $this->query_args );
449
  }
450
 
451
- set_transient( $transient_name, $products, DAY_IN_SECONDS * 30 );
 
 
452
  }
453
 
454
  // Remove ordering query arguments.
@@ -456,7 +463,7 @@ class WC_Shortcode_Products {
456
  WC()->query->remove_ordering_args();
457
  }
458
 
459
- return $products;
460
  }
461
 
462
  /**
@@ -472,20 +479,23 @@ class WC_Shortcode_Products {
472
  $classes = $this->get_wrapper_classes( $columns );
473
  $woocommerce_loop['columns'] = $columns;
474
  $woocommerce_loop['name'] = $this->type;
475
- $products = $this->get_products();
476
 
477
  ob_start();
478
 
479
- if ( $products->have_posts() ) {
480
- // Prime caches before grabbing objects.
481
- update_post_caches( $products->posts, array( 'product', 'product_variation' ) );
 
482
 
483
  do_action( "woocommerce_shortcode_before_{$this->type}_loop", $this->attributes );
484
 
485
  woocommerce_product_loop_start();
486
 
487
- while ( $products->have_posts() ) {
488
- $products->the_post();
 
 
489
 
490
  // Set custom product visibility when quering hidden products.
491
  add_action( 'woocommerce_product_is_visible', array( $this, 'set_product_as_visible' ) );
5
  * @author Automattic
6
  * @category Shortcodes
7
  * @package WooCommerce/Shortcodes
8
+ * @version 3.2.4
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) {
195
  // Categories.
196
  $this->set_categories_query_args( $query_args );
197
 
198
+ $query_args = apply_filters( 'woocommerce_shortcode_products_query', $query_args, $this->attributes, $this->type );
199
+
200
+ // Always query only IDs.
201
+ $query_args['fields'] = 'ids';
202
+
203
+ return $query_args;
204
  }
205
 
206
  /**
437
  /**
438
  * Get products.
439
  *
440
+ * @since 3.2.4
441
+ * @return array
442
  */
443
+ protected function get_products_ids() {
444
  $transient_name = 'wc_loop' . substr( md5( wp_json_encode( $this->query_args ) . $this->type ), 28 ) . WC_Cache_Helper::get_transient_version( 'product_query' );
445
+ $ids = get_transient( $transient_name );
446
 
447
+ if ( false === $ids ) {
448
  if ( 'top_rated_products' === $this->type ) {
449
  add_filter( 'posts_clauses', array( __CLASS__, 'order_by_rating_post_clauses' ) );
450
  $products = new WP_Query( $this->query_args );
453
  $products = new WP_Query( $this->query_args );
454
  }
455
 
456
+ $ids = wp_parse_id_list( $products->posts );
457
+
458
+ set_transient( $transient_name, $ids, DAY_IN_SECONDS * 30 );
459
  }
460
 
461
  // Remove ordering query arguments.
463
  WC()->query->remove_ordering_args();
464
  }
465
 
466
+ return $ids;
467
  }
468
 
469
  /**
479
  $classes = $this->get_wrapper_classes( $columns );
480
  $woocommerce_loop['columns'] = $columns;
481
  $woocommerce_loop['name'] = $this->type;
482
+ $products_ids = $this->get_products_ids();
483
 
484
  ob_start();
485
 
486
+ if ( $products_ids ) {
487
+ // Prime meta cache to reduce future queries.
488
+ update_meta_cache( 'post', $products_ids );
489
+ update_object_term_cache( $products_ids, 'product' );
490
 
491
  do_action( "woocommerce_shortcode_before_{$this->type}_loop", $this->attributes );
492
 
493
  woocommerce_product_loop_start();
494
 
495
+ foreach ( $products_ids as $product_id ) {
496
+ $post_object = get_post( $product_id );
497
+ $GLOBALS['post'] =& $post_object; // WPCS: override ok.
498
+ setup_postdata( $post_object );
499
 
500
  // Set custom product visibility when quering hidden products.
501
  add_action( 'woocommerce_product_is_visible', array( $this, 'set_product_as_visible' ) );
includes/wc-conditional-functions.php CHANGED
@@ -208,7 +208,7 @@ if ( ! function_exists( 'is_add_payment_method_page' ) ) {
208
  function is_add_payment_method_page() {
209
  global $wp;
210
 
211
- return ( is_page( wc_get_page_id( 'myaccount' ) ) && isset( $wp->query_vars['add-payment-method'] ) );
212
  }
213
  }
214
 
208
  function is_add_payment_method_page() {
209
  global $wp;
210
 
211
+ return ( is_page( wc_get_page_id( 'myaccount' ) ) && ( isset( $wp->query_vars['payment-methods'] ) || isset( $wp->query_vars['add-payment-method'] ) ) );
212
  }
213
  }
214
 
includes/wc-core-functions.php CHANGED
@@ -315,7 +315,8 @@ function get_woocommerce_currencies() {
315
  'BTC' => __( 'Bitcoin', 'woocommerce' ),
316
  'BTN' => __( 'Bhutanese ngultrum', 'woocommerce' ),
317
  'BWP' => __( 'Botswana pula', 'woocommerce' ),
318
- 'BYR' => __( 'Belarusian ruble', 'woocommerce' ),
 
319
  'BZD' => __( 'Belize dollar', 'woocommerce' ),
320
  'CAD' => __( 'Canadian dollar', 'woocommerce' ),
321
  'CDF' => __( 'Congolese franc', 'woocommerce' ),
@@ -498,6 +499,7 @@ function get_woocommerce_currency_symbol( $currency = '' ) {
498
  'BTN' => 'Nu.',
499
  'BWP' => 'P',
500
  'BYR' => 'Br',
 
501
  'BZD' => '&#36;',
502
  'CAD' => '&#36;',
503
  'CDF' => 'Fr',
@@ -1393,8 +1395,8 @@ function wc_get_shipping_method_count( $include_legacy = false ) {
1393
 
1394
  /**
1395
  * Wrapper for set_time_limit to see if it is enabled.
1396
- * @since 2.6.0
1397
  *
 
1398
  * @param int $limit
1399
  */
1400
  function wc_set_time_limit( $limit = 0 ) {
@@ -1403,6 +1405,16 @@ function wc_set_time_limit( $limit = 0 ) {
1403
  }
1404
  }
1405
 
 
 
 
 
 
 
 
 
 
 
1406
  /**
1407
  * Used to sort products attributes with uasort.
1408
  * @since 2.6.0
@@ -1435,6 +1447,21 @@ function wc_shipping_zone_method_order_uasort_comparison( $a, $b ) {
1435
  return ( $a->method_order < $b->method_order ) ? -1 : 1;
1436
  }
1437
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1438
 
1439
  /**
1440
  * Get rounding precision for internal WC calculations.
@@ -1460,7 +1487,7 @@ function wc_get_rounding_precision() {
1460
  */
1461
  function wc_add_number_precision( $value ) {
1462
  $precision = pow( 10, wc_get_price_decimals() );
1463
- return $value * $precision;
1464
  }
1465
 
1466
  /**
315
  'BTC' => __( 'Bitcoin', 'woocommerce' ),
316
  'BTN' => __( 'Bhutanese ngultrum', 'woocommerce' ),
317
  'BWP' => __( 'Botswana pula', 'woocommerce' ),
318
+ 'BYR' => __( 'Belarusian ruble (old)', 'woocommerce' ),
319
+ 'BYN' => __( 'Belarusian ruble', 'woocommerce' ),
320
  'BZD' => __( 'Belize dollar', 'woocommerce' ),
321
  'CAD' => __( 'Canadian dollar', 'woocommerce' ),
322
  'CDF' => __( 'Congolese franc', 'woocommerce' ),
499
  'BTN' => 'Nu.',
500
  'BWP' => 'P',
501
  'BYR' => 'Br',
502
+ 'BYN' => 'Br',
503
  'BZD' => '&#36;',
504
  'CAD' => '&#36;',
505
  'CDF' => 'Fr',
1395
 
1396
  /**
1397
  * Wrapper for set_time_limit to see if it is enabled.
 
1398
  *
1399
+ * @since 2.6.0
1400
  * @param int $limit
1401
  */
1402
  function wc_set_time_limit( $limit = 0 ) {
1405
  }
1406
  }
1407
 
1408
+ /**
1409
+ * Wrapper for nocache_headers which also disables page caching.
1410
+ *
1411
+ * @since 3.2.4
1412
+ */
1413
+ function wc_nocache_headers() {
1414
+ WC_Cache_Helper::set_nocache_constants();
1415
+ nocache_headers();
1416
+ }
1417
+
1418
  /**
1419
  * Used to sort products attributes with uasort.
1420
  * @since 2.6.0
1447
  return ( $a->method_order < $b->method_order ) ? -1 : 1;
1448
  }
1449
 
1450
+ /**
1451
+ * Get rounding mode for internal tax calculations.
1452
+ *
1453
+ * @since 3.2.4
1454
+ * @return int
1455
+ */
1456
+ function wc_get_tax_rounding_mode() {
1457
+ $constant = WC_TAX_ROUNDING_MODE;
1458
+
1459
+ if ( 'auto' === $constant ) {
1460
+ return 'yes' === get_option( 'woocommerce_prices_include_tax', 'no' ) ? 2 : 1;
1461
+ }
1462
+
1463
+ return intval( $constant );
1464
+ }
1465
 
1466
  /**
1467
  * Get rounding precision for internal WC calculations.
1487
  */
1488
  function wc_add_number_precision( $value ) {
1489
  $precision = pow( 10, wc_get_price_decimals() );
1490
+ return intval( round( $value * $precision ) );
1491
  }
1492
 
1493
  /**
includes/wc-formatting-functions.php CHANGED
@@ -224,10 +224,10 @@ function wc_round_tax_total( $value, $precision = null ) {
224
  $precision = is_null( $precision ) ? wc_get_price_decimals() : absint( $precision );
225
 
226
  if ( version_compare( PHP_VERSION, '5.3.0', '>=' ) ) {
227
- $rounded_tax = round( $value, $precision, WC_TAX_ROUNDING_MODE );
228
  } else {
229
  // Fake it in PHP 5.2.
230
- if ( 2 === WC_TAX_ROUNDING_MODE && strstr( $value, '.' ) ) {
231
  $value = (string) $value;
232
  $value = explode( '.', $value );
233
  $value[1] = substr( $value[1], 0, $precision + 1 );
@@ -283,7 +283,10 @@ function wc_format_decimal( $number, $dp = false, $trim_zeros = false ) {
283
 
284
  // DP is false - don't use number format, just return a string in our format
285
  } elseif ( is_float( $number ) ) {
286
- $number = wc_clean( str_replace( $decimals, '.', strval( $number ) ) );
 
 
 
287
  }
288
 
289
  if ( $trim_zeros && strstr( $number, '.' ) ) {
224
  $precision = is_null( $precision ) ? wc_get_price_decimals() : absint( $precision );
225
 
226
  if ( version_compare( PHP_VERSION, '5.3.0', '>=' ) ) {
227
+ $rounded_tax = round( $value, $precision, wc_get_tax_rounding_mode() );
228
  } else {
229
  // Fake it in PHP 5.2.
230
+ if ( 2 === wc_get_tax_rounding_mode() && strstr( $value, '.' ) ) {
231
  $value = (string) $value;
232
  $value = explode( '.', $value );
233
  $value[1] = substr( $value[1], 0, $precision + 1 );
283
 
284
  // DP is false - don't use number format, just return a string in our format
285
  } elseif ( is_float( $number ) ) {
286
+ // DP is false - don't use number format, just return a string using whatever is given. Remove scientific notation using sprintf.
287
+ $number = str_replace( $decimals, '.', sprintf( '%.' . wc_get_rounding_precision() . 'f', $number ) );
288
+ // We already had a float, so trailing zeros are not needed.
289
+ $trim_zeros = true;
290
  }
291
 
292
  if ( $trim_zeros && strstr( $number, '.' ) ) {
includes/wc-page-functions.php CHANGED
@@ -118,7 +118,7 @@ function wc_nav_menu_items( $items ) {
118
  if ( ! is_user_logged_in() ) {
119
  $customer_logout = get_option( 'woocommerce_logout_endpoint', 'customer-logout' );
120
 
121
- if ( ! empty( $customer_logout ) ) {
122
  foreach ( $items as $key => $item ) {
123
  if ( empty( $item->url ) ) {
124
  continue;
@@ -153,35 +153,36 @@ function wc_nav_menu_item_classes( $menu_items ) {
153
  $shop_page = (int) wc_get_page_id( 'shop' );
154
  $page_for_posts = (int) get_option( 'page_for_posts' );
155
 
156
- foreach ( (array) $menu_items as $key => $menu_item ) {
 
157
 
158
- $classes = (array) $menu_item->classes;
159
 
160
- // Unset active class for blog page
161
- if ( $page_for_posts == $menu_item->object_id ) {
162
- $menu_items[ $key ]->current = false;
163
 
164
- if ( in_array( 'current_page_parent', $classes ) ) {
165
- unset( $classes[ array_search( 'current_page_parent', $classes ) ] );
166
- }
167
-
168
- if ( in_array( 'current-menu-item', $classes ) ) {
169
- unset( $classes[ array_search( 'current-menu-item', $classes ) ] );
170
- }
171
 
172
- // Set active state if this is the shop page link
173
- } elseif ( is_shop() && $shop_page == $menu_item->object_id && 'page' === $menu_item->object ) {
174
- $menu_items[ $key ]->current = true;
175
- $classes[] = 'current-menu-item';
176
- $classes[] = 'current_page_item';
177
 
178
- // Set parent state if this is a product page
179
- } elseif ( is_singular( 'product' ) && $shop_page == $menu_item->object_id ) {
180
- $classes[] = 'current_page_parent';
181
- }
 
182
 
183
- $menu_items[ $key ]->classes = array_unique( $classes );
 
 
 
184
 
 
 
185
  }
186
 
187
  return $menu_items;
118
  if ( ! is_user_logged_in() ) {
119
  $customer_logout = get_option( 'woocommerce_logout_endpoint', 'customer-logout' );
120
 
121
+ if ( ! empty( $customer_logout ) && ! empty( $items ) && is_array( $items ) ) {
122
  foreach ( $items as $key => $item ) {
123
  if ( empty( $item->url ) ) {
124
  continue;
153
  $shop_page = (int) wc_get_page_id( 'shop' );
154
  $page_for_posts = (int) get_option( 'page_for_posts' );
155
 
156
+ if ( ! empty( $menu_items ) && is_array( $menu_items ) ) {
157
+ foreach ( $menu_items as $key => $menu_item ) {
158
 
159
+ $classes = (array) $menu_item->classes;
160
 
161
+ // Unset active class for blog page
162
+ if ( $page_for_posts == $menu_item->object_id ) {
163
+ $menu_items[ $key ]->current = false;
164
 
165
+ if ( in_array( 'current_page_parent', $classes ) ) {
166
+ unset( $classes[ array_search( 'current_page_parent', $classes ) ] );
167
+ }
 
 
 
 
168
 
169
+ if ( in_array( 'current-menu-item', $classes ) ) {
170
+ unset( $classes[ array_search( 'current-menu-item', $classes ) ] );
171
+ }
 
 
172
 
173
+ // Set active state if this is the shop page link
174
+ } elseif ( is_shop() && $shop_page == $menu_item->object_id && 'page' === $menu_item->object ) {
175
+ $menu_items[ $key ]->current = true;
176
+ $classes[] = 'current-menu-item';
177
+ $classes[] = 'current_page_item';
178
 
179
+ // Set parent state if this is a product page
180
+ } elseif ( is_singular( 'product' ) && $shop_page == $menu_item->object_id ) {
181
+ $classes[] = 'current_page_parent';
182
+ }
183
 
184
+ $menu_items[ $key ]->classes = array_unique( $classes );
185
+ }
186
  }
187
 
188
  return $menu_items;
includes/wc-template-functions.php CHANGED
@@ -684,9 +684,10 @@ if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
684
  */
685
  function woocommerce_taxonomy_archive_description() {
686
  if ( is_product_taxonomy() && 0 === absint( get_query_var( 'paged' ) ) ) {
687
- $description = wc_format_content( term_description() );
688
- if ( $description ) {
689
- echo '<div class="term-description">' . $description . '</div>'; // WPCS: XSS ok.
 
690
  }
691
  }
692
  }
684
  */
685
  function woocommerce_taxonomy_archive_description() {
686
  if ( is_product_taxonomy() && 0 === absint( get_query_var( 'paged' ) ) ) {
687
+ $term = get_queried_object();
688
+
689
+ if ( $term && ! empty( $term->description ) ) {
690
+ echo '<div class="term-description">' . wc_format_content( $term->description ) . '</div>'; // WPCS: XSS ok.
691
  }
692
  }
693
  }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: automattic, mikejolley, jameskoster, claudiosanches, jshreve, code
3
  Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, storefront, woo commerce
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
- Stable tag: 3.2.3
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -160,6 +160,34 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woocommerce/wo
160
 
161
  == Changelog ==
162
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  = 3.2.3 - 2017-11-02 =
164
  * Fix - Fixed a conflict with some slider plugins due to sanitization of archive/term descriptions.
165
  * Fix - Fixed a flexslider bug when there is only 1 image on the product page (no gallery).
3
  Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, storefront, woo commerce
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
+ Stable tag: 3.2.4
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
160
 
161
  == Changelog ==
162
 
163
+ = 3.2.4 - 2017-11-16 =
164
+ * Fix - Cache IDs in shortcodes rather than query objects.
165
+ * Fix - Fix float rounding issues in cart with currencies like Bitcoin.
166
+ * Fix - Prevent slashes appearing in shipping fields and inside meta keys when using quotes.
167
+ * Fix - Check valid data when filtering `wp_nav_menu_objects` to prevent conflicts.
168
+ * Fix - `get_total_ex_tax` should exclude fee taxes.
169
+ * Fix - Fix orders count in tax reports.
170
+ * Fix - Allow removing coupons from the cart, even if coupons are disabled.
171
+ * Fix - Prevent calculate_totals totals running too often.
172
+ * Fix - Set attributes during variation creation so all options are correctly displayed in cart forms.
173
+ * Fix - Grab description directly to pass through wc_format_content to prevent double sanitization.
174
+ * Fix - Fix db warnings when using the "Add Order Indexes" tool.
175
+ * Fix - Remove unnecessary html formatting in variation dimensions field.
176
+ * Fix - Fix WC_Customer_Download isset method.
177
+ * Fix - Removed class within class in admin meta boxes HTML.
178
+ * Fix - Fixed wrong `flex-control-nav` selector scope in `add-to-cart-variation.js`
179
+ * Fix - Allow variations to be added to cart from query string.
180
+ * Fix - Use `add_filter` for `comment_feed_where` hook.
181
+ * Fix - Change nocache_headers hook firing in the cache helper.
182
+ * Fix - Coupon min/max spend based on displayed subtotal.
183
+ * Fix - Fix event propagation on click in setup wizard and improve validation.
184
+ * Fix - API - Change how line items are saved in API so calculations are correct.
185
+ * Tweak - Hide downloads from admin emails.
186
+ * Tweak - Set placeholder for variation lxwxh field to that of the parent.
187
+ * Tweak - Improve the Add Payment Methods display so buttons are not shown when no payment methods support the feature.
188
+ * Localization - Update NJ tax rate.
189
+ * Localization - Add Belarusian ruble BYN.
190
+
191
  = 3.2.3 - 2017-11-02 =
192
  * Fix - Fixed a conflict with some slider plugins due to sanitization of archive/term descriptions.
193
  * Fix - Fixed a flexslider bug when there is only 1 image on the product page (no gallery).
templates/myaccount/form-add-payment-method.php CHANGED
@@ -55,4 +55,6 @@ if ( $available_gateways = WC()->payment_gateways->get_available_payment_gateway
55
  </div>
56
  </div>
57
  </form>
 
 
58
  <?php endif; ?>
55
  </div>
56
  </div>
57
  </form>
58
+ <?php else : ?>
59
+ <p class="woocommerce-notice woocommerce-notice--info woocommerce-info"><?php esc_html_e( 'New payment methods can only be added during checkout. Please contact us if you require assistance.', 'woocommerce' ); ?></p>
60
  <?php endif; ?>
templates/myaccount/payment-methods.php CHANGED
@@ -76,4 +76,6 @@ do_action( 'woocommerce_before_account_payment_methods', $has_methods ); ?>
76
 
77
  <?php do_action( 'woocommerce_after_account_payment_methods', $has_methods ); ?>
78
 
79
- <a class="button" href="<?php echo esc_url( wc_get_endpoint_url( 'add-payment-method' ) ); ?>"><?php esc_html_e( 'Add payment method', 'woocommerce' ); ?></a>
 
 
76
 
77
  <?php do_action( 'woocommerce_after_account_payment_methods', $has_methods ); ?>
78
 
79
+ <?php if ( WC()->payment_gateways->get_available_payment_gateways() ) : ?>
80
+ <a class="button" href="<?php echo esc_url( wc_get_endpoint_url( 'add-payment-method' ) ); ?>"><?php esc_html_e( 'Add payment method', 'woocommerce' ); ?></a>
81
+ <?php endif; ?>
woocommerce.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce
4
  * Plugin URI: https://woocommerce.com/
5
  * Description: An e-commerce toolkit that helps you sell anything. Beautifully.
6
- * Version: 3.2.3
7
  * Author: Automattic
8
  * Author URI: https://woocommerce.com
9
  * Requires at least: 4.4
3
  * Plugin Name: WooCommerce
4
  * Plugin URI: https://woocommerce.com/
5
  * Description: An e-commerce toolkit that helps you sell anything. Beautifully.
6
+ * Version: 3.2.4
7
  * Author: Automattic
8
  * Author URI: https://woocommerce.com
9
  * Requires at least: 4.4