improved structured data - patch2 - merge conflict fix
This commit is contained in:
commit
b59d512774
|
@ -95,5 +95,5 @@ By translating video tutorials you'll be helping non-English speaking users and
|
||||||
* [General GitHub documentation](https://help.github.com/)
|
* [General GitHub documentation](https://help.github.com/)
|
||||||
* [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
|
* [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
|
||||||
* [Translator Handbook](https://make.wordpress.org/polyglots/handbook/)
|
* [Translator Handbook](https://make.wordpress.org/polyglots/handbook/)
|
||||||
* [WooCommerce Docs](https://docs.woothemes.com/)
|
* [WooCommerce Docs](https://docs.woocommerce.com/)
|
||||||
* [WooThemes Support](https://support.woothemes.com)
|
* [WooThemes Support](https://support.woothemes.com)
|
||||||
|
|
|
@ -1,5 +1,38 @@
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 2.6.3 - 19/07/16 =
|
||||||
|
* Fix - Security - Escape captions in product-thumbnail and product-image templates (template versions have been bumped).
|
||||||
|
* Fix - Fixed how we calculate shipping tax rates when using more than one tax class.
|
||||||
|
* Fix - When duplicating product variations, set title, name, and guid.
|
||||||
|
* Fix - Normalized 'read more' buttons.
|
||||||
|
* Fix - Add to cart notices for grouped products.
|
||||||
|
* Fix - Do not sanitize passwords in the settings API.
|
||||||
|
* Fix - Handle shipping zone location range conversion during update (dashes to ...).
|
||||||
|
* Fix - Always remove commas while processing flat rate costs.
|
||||||
|
* Fix - Ensures account page layout is only applied to desktop-sized displays.
|
||||||
|
* Fix - When getting layered nav counts, take search parameters into consideration.
|
||||||
|
* Fix - Free shipping show/hide javascript.
|
||||||
|
* Fix - Strip hash characters when exporting reports.
|
||||||
|
* Fix - Use permission id to revoke access to downloads to prevent removing wrong rows.
|
||||||
|
* Fix - When duplicating product variations, set title, name, and guid.
|
||||||
|
* Fix - Set more appropriate default rounding precision based on currency decimal places.
|
||||||
|
* Fix - Fix message styles for empty carts.
|
||||||
|
* Fix - Fixed the load of the WC_Email_Customer_On_Hold_Order class.
|
||||||
|
* Fix - Don't perform cart update on search submit.
|
||||||
|
* Dev - API - Added support for WP REST API with custom URL prefixes.
|
||||||
|
* Dev - API - Delete variations when deleting a variable product.
|
||||||
|
* Dev - API - Fixed how we check for product types.
|
||||||
|
* Dev - Added woocommerce_cart_id filter.
|
||||||
|
* Dev - Add shortcode name param to shortcode_atts function calls.
|
||||||
|
* Dev - Post custom data when fetching a variation via ajax.
|
||||||
|
* Dev - Include child prices in grouped_price_html filter.
|
||||||
|
* Dev - Allow filtering of variation stock quantity.
|
||||||
|
* Dev - Added $_product argument to 'woocommerce_restock_refunded_item' hook.
|
||||||
|
* Dev - Added a filter hook for the wc_ajax endpoint url.
|
||||||
|
* Tweak - Include account page link in new customer account emails.
|
||||||
|
* Tweak - Updated all URLs from WooThemes.com to WooCommerce.com.
|
||||||
|
* Tweak - Cache the result of WC_Comments::wp_count_comments() in a transient (improves performance).
|
||||||
|
|
||||||
= 2.6.2 - 30/06/16 =
|
= 2.6.2 - 30/06/16 =
|
||||||
* Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
|
* Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
|
||||||
* Fix - is_available check for legacy shipping methods.
|
* Fix - is_available check for legacy shipping methods.
|
||||||
|
@ -475,7 +508,7 @@
|
||||||
* Fix - Datepicker range for variations.
|
* Fix - Datepicker range for variations.
|
||||||
|
|
||||||
= 2.3.12 - 06/07/2015 =
|
= 2.3.12 - 06/07/2015 =
|
||||||
* Fix - Fixed Google Chrome forcing to use SSL. This can cause some issues on websites behind load balancers or reverse proxies. [Read more](https://docs.woothemes.com/document/ssl-and-https/#websites-behind-load-balancers-or-reverse-proxies).
|
* Fix - Fixed Google Chrome forcing to use SSL. This can cause some issues on websites behind load balancers or reverse proxies. [Read more](https://docs.woocommerce.com/document/ssl-and-https/#websites-behind-load-balancers-or-reverse-proxies).
|
||||||
* Fix - Escaped shop url in empty cart template.
|
* Fix - Escaped shop url in empty cart template.
|
||||||
* Fix - Escaped product tabs titles.
|
* Fix - Escaped product tabs titles.
|
||||||
* Fix - Removed deprecated PHP4 constructor on Widget classes.
|
* Fix - Removed deprecated PHP4 constructor on Widget classes.
|
||||||
|
|
|
@ -5,9 +5,9 @@ Welcome to the WooCommerce repository on GitHub. Here you can browse the source,
|
||||||
If you are not a developer, please use the [WooCommerce plugin page](https://wordpress.org/plugins/woocommerce/) on WordPress.org.
|
If you are not a developer, please use the [WooCommerce plugin page](https://wordpress.org/plugins/woocommerce/) on WordPress.org.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
* [WooCommerce Documentation](https://docs.woothemes.com/documentation/plugins/woocommerce/)
|
* [WooCommerce Documentation](https://docs.woocommerce.com/documentation/plugins/woocommerce/)
|
||||||
* [WooCommerce Knowledge Base](https://support.woothemes.com/hc/en-us/categories/200146917-WooCommerce)
|
* [WooCommerce Knowledge Base](https://support.woothemes.com/hc/en-us/categories/200146917-WooCommerce)
|
||||||
* [WooCommerce Code Reference](https://docs.woothemes.com/wc-apidocs/)
|
* [WooCommerce Code Reference](https://docs.woocommerce.com/wc-apidocs/)
|
||||||
* [WooCommerce REST API Docs](https://woothemes.github.io/woocommerce-rest-api-docs/)
|
* [WooCommerce REST API Docs](https://woothemes.github.io/woocommerce-rest-api-docs/)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
|
@ -29,7 +29,7 @@ main: WC
|
||||||
title: WooCommerce 2.6.x Code Reference
|
title: WooCommerce 2.6.x Code Reference
|
||||||
|
|
||||||
# base url used for sitemap (useful for public doc)
|
# base url used for sitemap (useful for public doc)
|
||||||
baseUrl: https://docs.woothemes.com/wc-apidocs/
|
baseUrl: https://docs.woocommerce.com/wc-apidocs/
|
||||||
|
|
||||||
# choose ApiGen template theme
|
# choose ApiGen template theme
|
||||||
templateTheme: default
|
templateTheme: default
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -329,6 +329,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.woocommerce-account {
|
||||||
|
.woocommerce-MyAccount-navigation {
|
||||||
|
float: left;
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.woocommerce-MyAccount-content {
|
||||||
|
float: right;
|
||||||
|
width: 68%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Twenty Eleven specific styles
|
* Twenty Eleven specific styles
|
||||||
*/
|
*/
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -213,6 +213,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.woocommerce-account {
|
||||||
|
.woocommerce-MyAccount-navigation,
|
||||||
|
.woocommerce-MyAccount-content {
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Twenty Thirteen specific styles
|
* Twenty Thirteen specific styles
|
||||||
*/
|
*/
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1557,16 +1557,6 @@ p.demo_store {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
}
|
}
|
||||||
|
|
||||||
.woocommerce-MyAccount-navigation {
|
|
||||||
float: left;
|
|
||||||
width: 30%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.woocommerce-MyAccount-content {
|
|
||||||
float: right;
|
|
||||||
width: 68%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addresses {
|
.addresses {
|
||||||
.title {
|
.title {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
|
|
|
@ -3,7 +3,7 @@ jQuery(function( $ ) {
|
||||||
function showTooltip( x, y, contents ) {
|
function showTooltip( x, y, contents ) {
|
||||||
$( '<div class="chart-tooltip">' + contents + '</div>' ).css( {
|
$( '<div class="chart-tooltip">' + contents + '</div>' ).css( {
|
||||||
top: y - 16,
|
top: y - 16,
|
||||||
left: x + 20
|
left: x + 20
|
||||||
}).appendTo( 'body' ).fadeIn( 200 );
|
}).appendTo( 'body' ).fadeIn( 200 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ jQuery(function( $ ) {
|
||||||
$( this ).offsetParent().find( 'thead tr,tbody tr' ).each( function() {
|
$( this ).offsetParent().find( 'thead tr,tbody tr' ).each( function() {
|
||||||
$( this ).find( 'th, td' ).each( function() {
|
$( this ).find( 'th, td' ).each( function() {
|
||||||
var value = $( this ).text();
|
var value = $( this ).text();
|
||||||
value = value.replace( '[?]', '' );
|
value = value.replace( '[?]', '' ).replace( '#', '' );
|
||||||
csv_data += '"' + value + '"' + ',';
|
csv_data += '"' + value + '"' + ',';
|
||||||
});
|
});
|
||||||
csv_data = csv_data.substring( 0, csv_data.length - 1 );
|
csv_data = csv_data.substring( 0, csv_data.length - 1 );
|
||||||
|
@ -155,7 +155,7 @@ jQuery(function( $ ) {
|
||||||
$( this ).offsetParent().find( 'tfoot tr' ).each( function() {
|
$( this ).offsetParent().find( 'tfoot tr' ).each( function() {
|
||||||
$( this ).find( 'th, td' ).each( function() {
|
$( this ).find( 'th, td' ).each( function() {
|
||||||
var value = $( this ).text();
|
var value = $( this ).text();
|
||||||
value = value.replace( '[?]', '' );
|
value = value.replace( '[?]', '' ).replace( '#', '' );
|
||||||
csv_data += '"' + value + '"' + ',';
|
csv_data += '"' + value + '"' + ',';
|
||||||
if ( $( this ).attr( 'colspan' ) > 0 ) {
|
if ( $( this ).attr( 'colspan' ) > 0 ) {
|
||||||
for ( i = 1; i < $(this).attr('colspan'); i++ ) {
|
for ( i = 1; i < $(this).attr('colspan'); i++ ) {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
jQuery(function(a){function b(b,c,d){a('<div class="chart-tooltip">'+d+"</div>").css({top:c-16,left:b+20}).appendTo("body").fadeIn(200)}var c=null,d=null;a(".chart-placeholder").bind("plothover",function(e,f,g){if(g){if((c!==g.dataIndex||d!==g.seriesIndex)&&(c=g.dataIndex,d=g.seriesIndex,a(".chart-tooltip").remove(),g.series.points.show||g.series.enable_tooltip)){var h=g.series.data[g.dataIndex][1],i="";g.series.prepend_label&&(i=i+g.series.label+": "),g.series.prepend_tooltip&&(i+=g.series.prepend_tooltip),i+=h,g.series.append_tooltip&&(i+=g.series.append_tooltip),g.series.pie.show?b(f.pageX,f.pageY,i):b(g.pageX,g.pageY,i)}}else a(".chart-tooltip").remove(),c=null}),a(".wc_sparkline.bars").each(function(){var b=a(this).data("sparkline"),c={grid:{show:!1}},d=[{data:b,color:a(this).data("color"),bars:{fillColor:a(this).data("color"),fill:!0,show:!0,lineWidth:1,barWidth:a(this).data("barwidth"),align:"center"},shadowSize:0}];a.plot(a(this),d,c)}),a(".wc_sparkline.lines").each(function(){var b=a(this).data("sparkline"),c={grid:{show:!1}},d=[{data:b,color:a(this).data("color"),lines:{fill:!1,show:!0,lineWidth:1,align:"center"},shadowSize:0}];a.plot(a(this),d,c)});var e=a(".range_datepicker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,maxDate:"+0D",showButtonPanel:!0,showOn:"focus",buttonImageOnly:!0,onSelect:function(b){var c=a(this).is(".from")?"minDate":"maxDate",d=a(this).data("datepicker"),f=a.datepicker.parseDate(d.settings.dateFormat||a.datepicker._defaults.dateFormat,b,d.settings);e.not(this).datepicker("option",c,f)}}),f=document.createElement("a");"undefined"==typeof f.download&&a(".export_csv").hide(),a(".export_csv").click(function(){var b=a(this).data("exclude_series")||"";b=b.toString(),b=b.split(",");var c,d,e,f=a(this).data("xaxes"),g=a(this).data("groupby"),h=a(this).data("export"),i="data:application/csv;charset=utf-8,";if("table"===h)a(this).offsetParent().find("thead tr,tbody tr").each(function(){a(this).find("th, td").each(function(){var b=a(this).text();b=b.replace("[?]",""),i+='"'+b+'",'}),i=i.substring(0,i.length-1),i+="\n"}),a(this).offsetParent().find("tfoot tr").each(function(){a(this).find("th, td").each(function(){var b=a(this).text();if(b=b.replace("[?]",""),i+='"'+b+'",',a(this).attr("colspan")>0)for(m=1;m<a(this).attr("colspan");m++)i+='"",'}),i=i.substring(0,i.length-1),i+="\n"});else{if(!window.main_chart)return!1;var j=window.main_chart.getData(),k=[];for(i+='"'+f+'",',a.each(j,function(c,d){b&&a.inArray(c.toString(),b)!==-1||k.push(d)}),c=0;c<k.length;++c)i+='"'+k[c].label+'",';i=i.substring(0,i.length-1),i+="\n";var l={};for(c=0;c<k.length;++c)for(d=k[c].data,e=0;e<d.length;++e){l[d[e][0]]=[];for(var m=0;m<k.length;++m)l[d[e][0]].push(0)}for(c=0;c<k.length;++c)for(d=k[c].data,e=0;e<d.length;++e)l[d[e][0]][c]=d[e][1];a.each(l,function(a,b){var c=new Date(parseInt(a,10));i+="day"===g?'"'+c.getUTCFullYear()+"-"+parseInt(c.getUTCMonth()+1,10)+"-"+c.getUTCDate()+'",':'"'+c.getUTCFullYear()+"-"+parseInt(c.getUTCMonth()+1,10)+'",';for(var d=0;d<b.length;++d){var e=b[d];Math.round(e)!==e&&(e=parseFloat(e),e=e.toFixed(2)),i+='"'+e+'",'}i=i.substring(0,i.length-1),i+="\n"})}return a(this).attr("href",encodeURI(i)),!0})});
|
jQuery(function(a){function b(b,c,d){a('<div class="chart-tooltip">'+d+"</div>").css({top:c-16,left:b+20}).appendTo("body").fadeIn(200)}var c=null,d=null;a(".chart-placeholder").bind("plothover",function(e,f,g){if(g){if((c!==g.dataIndex||d!==g.seriesIndex)&&(c=g.dataIndex,d=g.seriesIndex,a(".chart-tooltip").remove(),g.series.points.show||g.series.enable_tooltip)){var h=g.series.data[g.dataIndex][1],i="";g.series.prepend_label&&(i=i+g.series.label+": "),g.series.prepend_tooltip&&(i+=g.series.prepend_tooltip),i+=h,g.series.append_tooltip&&(i+=g.series.append_tooltip),g.series.pie.show?b(f.pageX,f.pageY,i):b(g.pageX,g.pageY,i)}}else a(".chart-tooltip").remove(),c=null}),a(".wc_sparkline.bars").each(function(){var b=a(this).data("sparkline"),c={grid:{show:!1}},d=[{data:b,color:a(this).data("color"),bars:{fillColor:a(this).data("color"),fill:!0,show:!0,lineWidth:1,barWidth:a(this).data("barwidth"),align:"center"},shadowSize:0}];a.plot(a(this),d,c)}),a(".wc_sparkline.lines").each(function(){var b=a(this).data("sparkline"),c={grid:{show:!1}},d=[{data:b,color:a(this).data("color"),lines:{fill:!1,show:!0,lineWidth:1,align:"center"},shadowSize:0}];a.plot(a(this),d,c)});var e=a(".range_datepicker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,maxDate:"+0D",showButtonPanel:!0,showOn:"focus",buttonImageOnly:!0,onSelect:function(b){var c=a(this).is(".from")?"minDate":"maxDate",d=a(this).data("datepicker"),f=a.datepicker.parseDate(d.settings.dateFormat||a.datepicker._defaults.dateFormat,b,d.settings);e.not(this).datepicker("option",c,f)}}),f=document.createElement("a");"undefined"==typeof f.download&&a(".export_csv").hide(),a(".export_csv").click(function(){var b=a(this).data("exclude_series")||"";b=b.toString(),b=b.split(",");var c,d,e,f=a(this).data("xaxes"),g=a(this).data("groupby"),h=a(this).data("export"),i="data:application/csv;charset=utf-8,";if("table"===h)a(this).offsetParent().find("thead tr,tbody tr").each(function(){a(this).find("th, td").each(function(){var b=a(this).text();b=b.replace("[?]","").replace("#",""),i+='"'+b+'",'}),i=i.substring(0,i.length-1),i+="\n"}),a(this).offsetParent().find("tfoot tr").each(function(){a(this).find("th, td").each(function(){var b=a(this).text();if(b=b.replace("[?]","").replace("#",""),i+='"'+b+'",',a(this).attr("colspan")>0)for(m=1;m<a(this).attr("colspan");m++)i+='"",'}),i=i.substring(0,i.length-1),i+="\n"});else{if(!window.main_chart)return!1;var j=window.main_chart.getData(),k=[];for(i+='"'+f+'",',a.each(j,function(c,d){b&&a.inArray(c.toString(),b)!==-1||k.push(d)}),c=0;c<k.length;++c)i+='"'+k[c].label+'",';i=i.substring(0,i.length-1),i+="\n";var l={};for(c=0;c<k.length;++c)for(d=k[c].data,e=0;e<d.length;++e){l[d[e][0]]=[];for(var m=0;m<k.length;++m)l[d[e][0]].push(0)}for(c=0;c<k.length;++c)for(d=k[c].data,e=0;e<d.length;++e)l[d[e][0]][c]=d[e][1];a.each(l,function(a,b){var c=new Date(parseInt(a,10));i+="day"===g?'"'+c.getUTCFullYear()+"-"+parseInt(c.getUTCMonth()+1,10)+"-"+c.getUTCDate()+'",':'"'+c.getUTCFullYear()+"-"+parseInt(c.getUTCMonth()+1,10)+'",';for(var d=0;d<b.length;++d){var e=b[d];Math.round(e)!==e&&(e=parseFloat(e),e=e.toFixed(2)),i+='"'+e+'",'}i=i.substring(0,i.length-1),i+="\n"})}return a(this).attr("href",encodeURI(i)),!0})});
|
|
@ -116,7 +116,8 @@
|
||||||
|
|
||||||
if ( all_attributes_chosen ) {
|
if ( all_attributes_chosen ) {
|
||||||
// Get a matchihng variation via ajax
|
// Get a matchihng variation via ajax
|
||||||
data.product_id = $product_id;
|
data.product_id = $product_id;
|
||||||
|
data.custom_data = $form.data( 'custom_data' );
|
||||||
|
|
||||||
$form.block( {
|
$form.block( {
|
||||||
message: null,
|
message: null,
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -815,9 +815,7 @@ abstract class WC_Settings_API {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate Password Field.
|
* Validate Password Field. No input sanitization is used to avoid corrupting passwords.
|
||||||
*
|
|
||||||
* Make sure the data is escaped correctly, etc.
|
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @param string|null $value Posted Value
|
* @param string|null $value Posted Value
|
||||||
|
@ -825,7 +823,7 @@ abstract class WC_Settings_API {
|
||||||
*/
|
*/
|
||||||
public function validate_password_field( $key, $value ) {
|
public function validate_password_field( $key, $value ) {
|
||||||
$value = is_null( $value ) ? '' : $value;
|
$value = is_null( $value ) ? '' : $value;
|
||||||
return wp_kses_post( trim( stripslashes( $value ) ) );
|
return trim( stripslashes( $value ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -171,7 +171,7 @@ class WC_Admin_Help {
|
||||||
'id' => 'woocommerce_101_tab',
|
'id' => 'woocommerce_101_tab',
|
||||||
'title' => __( 'WooCommerce 101', 'woocommerce' ),
|
'title' => __( 'WooCommerce 101', 'woocommerce' ),
|
||||||
'content' =>
|
'content' =>
|
||||||
'<h2><a href="https://docs.woothemes.com/document/woocommerce-101-video-series/?utm_source=helptab&utm_medium=product&utm_content=videos&utm_campaign=woocommerceplugin">' . __( 'WooCommerce 101', 'woocommerce' ) . '</a> – ' . esc_html( $video_map[ $video_key ]['title'] ) . '</h2>' .
|
'<h2><a href="https://docs.woocommerce.com/document/woocommerce-101-video-series/?utm_source=helptab&utm_medium=product&utm_content=videos&utm_campaign=woocommerceplugin">' . __( 'WooCommerce 101', 'woocommerce' ) . '</a> – ' . esc_html( $video_map[ $video_key ]['title'] ) . '</h2>' .
|
||||||
'<iframe data-src="' . esc_url( $video_map[ $video_key ]['url'] ) . '" src="" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" allowfullscreen mozallowfullscreen webkitallowfullscreen oallowfullscreen msallowfullscreen width="480" height="298"></iframe>'
|
'<iframe data-src="' . esc_url( $video_map[ $video_key ]['url'] ) . '" src="" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" allowfullscreen mozallowfullscreen webkitallowfullscreen oallowfullscreen msallowfullscreen width="480" height="298"></iframe>'
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ class WC_Admin_Help {
|
||||||
'<h2>' . __( 'Help & Support', 'woocommerce' ) . '</h2>' .
|
'<h2>' . __( 'Help & Support', 'woocommerce' ) . '</h2>' .
|
||||||
'<p>' . sprintf(
|
'<p>' . sprintf(
|
||||||
__( 'Should you need help understanding, using, or extending WooCommerce, %splease read our documentation%s. You will find all kinds of resources including snippets, tutorials and much more.' , 'woocommerce' ),
|
__( 'Should you need help understanding, using, or extending WooCommerce, %splease read our documentation%s. You will find all kinds of resources including snippets, tutorials and much more.' , 'woocommerce' ),
|
||||||
'<a href="https://docs.woothemes.com/documentation/plugins/woocommerce/?utm_source=helptab&utm_medium=product&utm_content=docs&utm_campaign=woocommerceplugin">',
|
'<a href="https://docs.woocommerce.com/documentation/plugins/woocommerce/?utm_source=helptab&utm_medium=product&utm_content=docs&utm_campaign=woocommerceplugin">',
|
||||||
'</a>'
|
'</a>'
|
||||||
) . '</p>' .
|
) . '</p>' .
|
||||||
'<p>' . sprintf(
|
'<p>' . sprintf(
|
||||||
|
|
|
@ -2273,13 +2273,13 @@ class WC_Admin_Post_Types {
|
||||||
case 'shop_order' :
|
case 'shop_order' :
|
||||||
?>
|
?>
|
||||||
<h2 class="woocommerce-BlankState-message"><?php _e( 'When you receive a new order, it will appear here.', 'woocommerce' ); ?></h2>
|
<h2 class="woocommerce-BlankState-message"><?php _e( 'When you receive a new order, it will appear here.', 'woocommerce' ); ?></h2>
|
||||||
<a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="https://docs.woothemes.com/document/managing-orders/?utm_source=blankslate&utm_medium=product&utm_content=ordersdoc&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about orders', 'woocommerce' ); ?></a>
|
<a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="https://docs.woocommerce.com/document/managing-orders/?utm_source=blankslate&utm_medium=product&utm_content=ordersdoc&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about orders', 'woocommerce' ); ?></a>
|
||||||
<?php
|
<?php
|
||||||
break;
|
break;
|
||||||
case 'shop_coupon' :
|
case 'shop_coupon' :
|
||||||
?>
|
?>
|
||||||
<h2 class="woocommerce-BlankState-message"><?php _e( 'Coupons are a great way to offer discounts and rewards to your customers. They will appear here once created.', 'woocommerce' ); ?></h2>
|
<h2 class="woocommerce-BlankState-message"><?php _e( 'Coupons are a great way to offer discounts and rewards to your customers. They will appear here once created.', 'woocommerce' ); ?></h2>
|
||||||
<a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="https://docs.woothemes.com/document/coupon-management/?utm_source=blankslate&utm_medium=product&utm_content=couponsdoc&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about coupons', 'woocommerce' ); ?></a>
|
<a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="https://docs.woocommerce.com/document/coupon-management/?utm_source=blankslate&utm_medium=product&utm_content=couponsdoc&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about coupons', 'woocommerce' ); ?></a>
|
||||||
<?php
|
<?php
|
||||||
break;
|
break;
|
||||||
case 'product' :
|
case 'product' :
|
||||||
|
|
|
@ -313,7 +313,7 @@ class WC_Admin_Setup_Wizard {
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
<span class="description"><?php printf( __( 'If your currency is not listed you can %sadd it later%s.', 'woocommerce' ), '<a href="https://docs.woothemes.com/document/add-a-custom-currency-symbol/" target="_blank">', '</a>' ); ?></span>
|
<span class="description"><?php printf( __( 'If your currency is not listed you can %sadd it later%s.', 'woocommerce' ), '<a href="https://docs.woocommerce.com/document/add-a-custom-currency-symbol/" target="_blank">', '</a>' ); ?></span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -456,7 +456,7 @@ class WC_Admin_Setup_Wizard {
|
||||||
?>
|
?>
|
||||||
<tr class="tax-rates">
|
<tr class="tax-rates">
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<p><?php printf( __( 'The following tax rates will be imported automatically for you. You can read more about taxes in %1$sour documentation%2$s.', 'woocommerce' ), '<a href="https://docs.woothemes.com/document/setting-up-taxes-in-woocommerce/" target="_blank">', '</a>' ); ?></p>
|
<p><?php printf( __( 'The following tax rates will be imported automatically for you. You can read more about taxes in %1$sour documentation%2$s.', 'woocommerce' ), '<a href="https://docs.woocommerce.com/document/setting-up-taxes-in-woocommerce/" target="_blank">', '</a>' ); ?></p>
|
||||||
<div class="importing-tax-rates">
|
<div class="importing-tax-rates">
|
||||||
<table class="tax-rates">
|
<table class="tax-rates">
|
||||||
<thead>
|
<thead>
|
||||||
|
@ -770,9 +770,9 @@ class WC_Admin_Setup_Wizard {
|
||||||
<div class="wc-setup-next-steps-last">
|
<div class="wc-setup-next-steps-last">
|
||||||
<h2><?php _e( 'Learn More', 'woocommerce' ); ?></h2>
|
<h2><?php _e( 'Learn More', 'woocommerce' ); ?></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="video-walkthrough"><a href="https://docs.woothemes.com/document/woocommerce-101-video-series/?utm_source=setupwizard&utm_medium=product&utm_content=videos&utm_campaign=woocommerceplugin"><?php _e( 'Watch the WC 101 video walkthroughs', 'woocommerce' ); ?></a></li>
|
<li class="video-walkthrough"><a href="https://docs.woocommerce.com/document/woocommerce-101-video-series/?utm_source=setupwizard&utm_medium=product&utm_content=videos&utm_campaign=woocommerceplugin"><?php _e( 'Watch the WC 101 video walkthroughs', 'woocommerce' ); ?></a></li>
|
||||||
<li class="newsletter"><a href="https://woocommerce.com/woocommerce-onboarding-email/?utm_source=setupwizard&utm_medium=product&utm_content=newsletter&utm_campaign=woocommerceplugin"><?php _e( 'Get eCommerce advice in your inbox', 'woocommerce' ); ?></a></li>
|
<li class="newsletter"><a href="https://woocommerce.com/woocommerce-onboarding-email/?utm_source=setupwizard&utm_medium=product&utm_content=newsletter&utm_campaign=woocommerceplugin"><?php _e( 'Get eCommerce advice in your inbox', 'woocommerce' ); ?></a></li>
|
||||||
<li class="learn-more"><a href="https://docs.woothemes.com/documentation/plugins/woocommerce/getting-started/?utm_source=setupwizard&utm_medium=product&utm_content=docs&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about getting started', 'woocommerce' ); ?></a></li>
|
<li class="learn-more"><a href="https://docs.woocommerce.com/documentation/plugins/woocommerce/getting-started/?utm_source=setupwizard&utm_medium=product&utm_content=docs&utm_campaign=woocommerceplugin"><?php _e( 'Learn more about getting started', 'woocommerce' ); ?></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -70,7 +70,7 @@ class WC_Meta_Box_Coupon_Data {
|
||||||
woocommerce_wp_text_input( array( 'id' => 'coupon_amount', 'label' => __( 'Coupon amount', 'woocommerce' ), 'placeholder' => wc_format_localized_price( 0 ), 'description' => __( 'Value of the coupon.', 'woocommerce' ), 'data_type' => 'price', 'desc_tip' => true ) );
|
woocommerce_wp_text_input( array( 'id' => 'coupon_amount', 'label' => __( 'Coupon amount', 'woocommerce' ), 'placeholder' => wc_format_localized_price( 0 ), 'description' => __( 'Value of the coupon.', 'woocommerce' ), 'data_type' => 'price', 'desc_tip' => true ) );
|
||||||
|
|
||||||
// Free Shipping
|
// Free Shipping
|
||||||
woocommerce_wp_checkbox( array( 'id' => 'free_shipping', 'label' => __( 'Allow free shipping', 'woocommerce' ), 'description' => sprintf( __( 'Check this box if the coupon grants free shipping. A <a href="%s">free shipping method</a> must be enabled in your shipping zone and be set to require "a valid free shipping coupon" (see the "Free Shipping Requires" setting).', 'woocommerce' ), 'https://docs.woothemes.com/document/free-shipping/' ) ) );
|
woocommerce_wp_checkbox( array( 'id' => 'free_shipping', 'label' => __( 'Allow free shipping', 'woocommerce' ), 'description' => sprintf( __( 'Check this box if the coupon grants free shipping. A <a href="%s">free shipping method</a> must be enabled in your shipping zone and be set to require "a valid free shipping coupon" (see the "Free Shipping Requires" setting).', 'woocommerce' ), 'https://docs.woocommerce.com/document/free-shipping/' ) ) );
|
||||||
|
|
||||||
// Expiry date
|
// Expiry date
|
||||||
woocommerce_wp_text_input( array( 'id' => 'expiry_date', 'label' => __( 'Coupon expiry date', 'woocommerce' ), 'placeholder' => _x( 'YYYY-MM-DD', 'placeholder', 'woocommerce' ), 'description' => '', 'class' => 'date-picker', 'custom_attributes' => array( 'pattern' => "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])" ) ) );
|
woocommerce_wp_text_input( array( 'id' => 'expiry_date', 'label' => __( 'Coupon expiry date', 'woocommerce' ), 'placeholder' => _x( 'YYYY-MM-DD', 'placeholder', 'woocommerce' ), 'description' => '', 'class' => 'date-picker', 'custom_attributes' => array( 'pattern' => "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])" ) ) );
|
||||||
|
|
|
@ -613,7 +613,7 @@ class WC_Meta_Box_Product_Data {
|
||||||
<div id="message" class="inline notice woocommerce-message">
|
<div id="message" class="inline notice woocommerce-message">
|
||||||
<p><?php _e( 'Before you can add a variation you need to add some variation attributes on the <strong>Attributes</strong> tab.', 'woocommerce' ); ?></p>
|
<p><?php _e( 'Before you can add a variation you need to add some variation attributes on the <strong>Attributes</strong> tab.', 'woocommerce' ); ?></p>
|
||||||
<p>
|
<p>
|
||||||
<a class="button-primary" href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woothemes.com/document/variable-product/', 'product-variations' ) ); ?>" target="_blank"><?php _e( 'Learn more', 'woocommerce' ); ?></a>
|
<a class="button-primary" href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woocommerce.com/document/variable-product/', 'product-variations' ) ); ?>" target="_blank"><?php _e( 'Learn more', 'woocommerce' ); ?></a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
<td class="wc-shipping-zone-method-blank-state" colspan="5">
|
<td class="wc-shipping-zone-method-blank-state" colspan="5">
|
||||||
<p class="main"><?php _e( 'Add shipping methods to this zone', 'woocommerce' ); ?></p>
|
<p class="main"><?php _e( 'Add shipping methods to this zone', 'woocommerce' ); ?></p>
|
||||||
<p><?php _e( 'You can add multiple shipping methods within this zone. Only customers within the zone will see them.', 'woocommerce' ); ?></p>
|
<p><?php _e( 'You can add multiple shipping methods within this zone. Only customers within the zone will see them.', 'woocommerce' ); ?></p>
|
||||||
<p><?php _e( 'Choose a method from the dropdown below and click "Add shipping method" to get started.', 'woocommerce' ); ?></p>
|
<p><?php _e( 'Click "Add shipping method" to get started.', 'woocommerce' ); ?></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -12,7 +12,7 @@ global $wpdb;
|
||||||
<div class="updated woocommerce-message inline">
|
<div class="updated woocommerce-message inline">
|
||||||
<p><?php _e( 'Please copy and paste this information in your ticket when contacting support:', 'woocommerce' ); ?> </p>
|
<p><?php _e( 'Please copy and paste this information in your ticket when contacting support:', 'woocommerce' ); ?> </p>
|
||||||
<p class="submit"><a href="#" class="button-primary debug-report"><?php _e( 'Get System Report', 'woocommerce' ); ?></a>
|
<p class="submit"><a href="#" class="button-primary debug-report"><?php _e( 'Get System Report', 'woocommerce' ); ?></a>
|
||||||
<a class="button-secondary docs" href="https://docs.woothemes.com/document/understanding-the-woocommerce-system-status-report/" target="_blank"><?php _e( 'Understanding the Status Report', 'woocommerce' ); ?></a></p>
|
<a class="button-secondary docs" href="https://docs.woocommerce.com/document/understanding-the-woocommerce-system-status-report/" target="_blank"><?php _e( 'Understanding the Status Report', 'woocommerce' ); ?></a></p>
|
||||||
<div id="debug-report">
|
<div id="debug-report">
|
||||||
<textarea readonly="readonly"></textarea>
|
<textarea readonly="readonly"></textarea>
|
||||||
<p class="submit"><button id="copy-for-support" class="button-primary" href="#" data-tip="<?php esc_attr_e( 'Copied!', 'woocommerce' ); ?>"><?php _e( 'Copy for Support', 'woocommerce' ); ?></button></p>
|
<p class="submit"><button id="copy-for-support" class="button-primary" href="#" data-tip="<?php esc_attr_e( 'Copied!', 'woocommerce' ); ?>"><?php _e( 'Copy for Support', 'woocommerce' ); ?></button></p>
|
||||||
|
@ -130,7 +130,7 @@ global $wpdb;
|
||||||
$php_version = phpversion();
|
$php_version = phpversion();
|
||||||
|
|
||||||
if ( version_compare( $php_version, '5.6', '<' ) ) {
|
if ( version_compare( $php_version, '5.6', '<' ) ) {
|
||||||
echo '<mark class="error"><span class="dashicons dashicons-warning"></span> ' . sprintf( __( '%s - We recommend a minimum PHP version of 5.6. See: %s', 'woocommerce' ), esc_html( $php_version ), '<a href="https://docs.woothemes.com/document/how-to-update-your-php-version/" target="_blank">' . __( 'How to update your PHP version', 'woocommerce' ) . '</a>' ) . '</mark>';
|
echo '<mark class="error"><span class="dashicons dashicons-warning"></span> ' . sprintf( __( '%s - We recommend a minimum PHP version of 5.6. See: %s', 'woocommerce' ), esc_html( $php_version ), '<a href="https://docs.woocommerce.com/document/how-to-update-your-php-version/" target="_blank">' . __( 'How to update your PHP version', 'woocommerce' ) . '</a>' ) . '</mark>';
|
||||||
} else {
|
} else {
|
||||||
echo '<mark class="yes">' . esc_html( $php_version ) . '</mark>';
|
echo '<mark class="yes">' . esc_html( $php_version ) . '</mark>';
|
||||||
}
|
}
|
||||||
|
@ -788,7 +788,7 @@ global $wpdb;
|
||||||
<tr>
|
<tr>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
<td class="help"> </td>
|
<td class="help"> </td>
|
||||||
<td><a href="https://docs.woothemes.com/document/fix-outdated-templates-woocommerce/" target="_blank"><?php _e( 'Learn how to update outdated templates', 'woocommerce' ) ?></a></td>
|
<td><a href="https://docs.woocommerce.com/document/fix-outdated-templates-woocommerce/" target="_blank"><?php _e( 'Learn how to update outdated templates', 'woocommerce' ) ?></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
<?php if ( empty( $_GET['page'] ) || empty( $_GET['tab'] ) || 'wc-settings' !== $_GET['page'] || 'shipping' !== $_GET['tab'] ) : ?>
|
<?php if ( empty( $_GET['page'] ) || empty( $_GET['tab'] ) || 'wc-settings' !== $_GET['page'] || 'shipping' !== $_GET['tab'] ) : ?>
|
||||||
<a class="button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-settings&tab=shipping' ) ); ?>"><?php _e( 'Setup shipping zones', 'woocommerce' ); ?></a>
|
<a class="button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-settings&tab=shipping' ) ); ?>"><?php _e( 'Setup shipping zones', 'woocommerce' ); ?></a>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<a class="button-secondary" href="<?php echo esc_url( 'https://docs.woothemes.com/document/setting-up-shipping-zones/' ); ?>"><?php _e( 'Learn more about shipping zones', 'woocommerce' ); ?></a>
|
<a class="button-secondary" href="<?php echo esc_url( 'https://docs.woocommerce.com/document/setting-up-shipping-zones/' ); ?>"><?php _e( 'Learn more about shipping zones', 'woocommerce' ); ?></a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
|
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<a class="button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-settings&tab=shipping' ) ); ?>"><?php _e( 'Setup shipping zones', 'woocommerce' ); ?></a>
|
<a class="button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-settings&tab=shipping' ) ); ?>"><?php _e( 'Setup shipping zones', 'woocommerce' ); ?></a>
|
||||||
<a class="button-secondary" href="<?php echo esc_url( 'https://docs.woothemes.com/document/setting-up-shipping-zones/' ); ?>"><?php _e( 'Learn more about shipping zones', 'woocommerce' ); ?></a>
|
<a class="button-secondary" href="<?php echo esc_url( 'https://docs.woocommerce.com/document/setting-up-shipping-zones/' ); ?>"><?php _e( 'Learn more about shipping zones', 'woocommerce' ); ?></a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@ $theme = wp_get_theme();
|
||||||
?>
|
?>
|
||||||
<div id="message" class="updated woocommerce-message">
|
<div id="message" class="updated woocommerce-message">
|
||||||
<a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'template_files' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php _e( 'Dismiss', 'woocommerce' ); ?></a>
|
<a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'template_files' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php _e( 'Dismiss', 'woocommerce' ); ?></a>
|
||||||
|
|
||||||
<p><?php printf( __( '<strong>Your theme (%s) contains outdated copies of some WooCommerce template files.</strong> These files may need updating to ensure they are compatible with the current version of WooCommerce. You can see which files are affected from the %ssystem status page%s. If in doubt, check with the author of the theme.', 'woocommerce' ), esc_html( $theme['Name'] ), '<a href="' . esc_url( admin_url( 'admin.php?page=wc-status' ) ) . '">', '</a>' ); ?></p>
|
<p><?php printf( __( '<strong>Your theme (%s) contains outdated copies of some WooCommerce template files.</strong> These files may need updating to ensure they are compatible with the current version of WooCommerce. You can see which files are affected from the %ssystem status page%s. If in doubt, check with the author of the theme.', 'woocommerce' ), esc_html( $theme['Name'] ), '<a href="' . esc_url( admin_url( 'admin.php?page=wc-status' ) ) . '">', '</a>' ); ?></p>
|
||||||
<p class="submit"><a class="button-primary" href="https://docs.woothemes.com/document/template-structure/" target="_blank"><?php _e( 'Learn More About Templates', 'woocommerce' ); ?></a></p>
|
<p class="submit"><a class="button-primary" href="https://docs.woocommerce.com/document/template-structure/" target="_blank"><?php _e( 'Learn More About Templates', 'woocommerce' ); ?></a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,9 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
<div id="message" class="updated woocommerce-message wc-connect">
|
<div id="message" class="updated woocommerce-message wc-connect">
|
||||||
<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>
|
<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>
|
||||||
|
|
||||||
<p><?php printf( __( '<strong>Your theme does not declare WooCommerce support</strong> – Please read our %sintegration%s guide or check out our %sStorefront%s theme which is totally free to download and designed specifically for use with WooCommerce.', 'woocommerce' ), '<a target="_blank" href="' . esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woothemes.com/document/third-party-custom-theme-compatibility/', 'theme-compatibility' ) ) . '">', '</a>', '<a target="_blank" href="' . esc_url( admin_url( 'theme-install.php?theme=storefront' ) ) . '">', '</a>' ); ?></p>
|
<p><?php printf( __( '<strong>Your theme does not declare WooCommerce support</strong> – Please read our %sintegration%s guide or check out our %sStorefront%s theme which is totally free to download and designed specifically for use with WooCommerce.', 'woocommerce' ), '<a target="_blank" href="' . esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/', 'theme-compatibility' ) ) . '">', '</a>', '<a target="_blank" href="' . esc_url( admin_url( 'theme-install.php?theme=storefront' ) ) . '">', '</a>' ); ?></p>
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<a href="https://woocommerce.com/storefront/?utm_source=notice&utm_medium=product&utm_content=storefront&utm_campaign=woocommerceplugin" class="button-primary" target="_blank"><?php _e( 'Read More About Storefront', 'woocommerce' ); ?></a>
|
<a href="https://woocommerce.com/storefront/?utm_source=notice&utm_medium=product&utm_content=storefront&utm_campaign=woocommerceplugin" class="button-primary" target="_blank"><?php _e( 'Read More About Storefront', 'woocommerce' ); ?></a>
|
||||||
<a href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'http://docs.woothemes.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>
|
<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>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1013,7 +1013,7 @@ class WC_REST_Orders_Controller extends WC_REST_Posts_Controller {
|
||||||
foreach ( $request[ $line ] as $item ) {
|
foreach ( $request[ $line ] as $item ) {
|
||||||
// Item ID is always required.
|
// Item ID is always required.
|
||||||
if ( ! array_key_exists( 'id', $item ) ) {
|
if ( ! array_key_exists( 'id', $item ) ) {
|
||||||
throw new WC_REST_Exception( 'woocommerce_rest_invalid_item_id', __( 'Order item ID is required.', 'woocommerce' ), 400 );
|
$item['id'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create item.
|
// Create item.
|
||||||
|
|
|
@ -575,7 +575,7 @@ class WC_API_Orders extends WC_API_Resource {
|
||||||
|
|
||||||
// Item ID is always required.
|
// Item ID is always required.
|
||||||
if ( ! array_key_exists( 'id', $item ) ) {
|
if ( ! array_key_exists( 'id', $item ) ) {
|
||||||
throw new WC_API_Exception( 'woocommerce_invalid_item_id', __( 'Order item ID is required', 'woocommerce' ), 400 );
|
$item['id'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create item.
|
// Create item.
|
||||||
|
|
|
@ -1876,10 +1876,10 @@ class WC_API_Products extends WC_API_Resource {
|
||||||
|
|
||||||
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
||||||
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
||||||
$title = $image_meta['title'];
|
$title = wc_clean( $image_meta['title'] );
|
||||||
}
|
}
|
||||||
if ( trim( $image_meta['caption'] ) ) {
|
if ( trim( $image_meta['caption'] ) ) {
|
||||||
$content = $image_meta['caption'];
|
$content = wc_clean( $image_meta['caption'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -609,10 +609,9 @@ class WC_API_Orders extends WC_API_Resource {
|
||||||
$update_totals = true;
|
$update_totals = true;
|
||||||
|
|
||||||
foreach ( $data[ $line ] as $item ) {
|
foreach ( $data[ $line ] as $item ) {
|
||||||
|
|
||||||
// Item ID is always required.
|
// Item ID is always required.
|
||||||
if ( ! array_key_exists( 'id', $item ) ) {
|
if ( ! array_key_exists( 'id', $item ) ) {
|
||||||
throw new WC_API_Exception( 'woocommerce_invalid_item_id', __( 'Order item ID is required', 'woocommerce' ), 400 );
|
$item['id'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create item.
|
// Create item.
|
||||||
|
|
|
@ -2457,10 +2457,10 @@ class WC_API_Products extends WC_API_Resource {
|
||||||
|
|
||||||
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
||||||
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
||||||
$title = $image_meta['title'];
|
$title = wc_clean( $image_meta['title'] );
|
||||||
}
|
}
|
||||||
if ( trim( $image_meta['caption'] ) ) {
|
if ( trim( $image_meta['caption'] ) ) {
|
||||||
$content = $image_meta['caption'];
|
$content = wc_clean( $image_meta['caption'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -879,7 +879,7 @@ class WC_Cart {
|
||||||
$id_parts[] = $cart_item_data_key;
|
$id_parts[] = $cart_item_data_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
return md5( implode( '_', $id_parts ) );
|
return apply_filters( 'woocommerce_cart_id', md5( implode( '_', $id_parts ) ), $product_id, $variation_id, $variation, $cart_item_data );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -42,6 +42,10 @@ class WC_Comments {
|
||||||
// Count comments
|
// Count comments
|
||||||
add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 10, 2 );
|
add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 10, 2 );
|
||||||
|
|
||||||
|
// Delete comments count cache whenever there is a new comment or a comment status changes
|
||||||
|
add_action( 'wp_insert_comment', array( __CLASS__, 'delete_comments_count_cache' ) );
|
||||||
|
add_action( 'wp_set_comment_status', array( __CLASS__, 'delete_comments_count_cache' ) );
|
||||||
|
|
||||||
// Support avatars for `review` comment type
|
// Support avatars for `review` comment type
|
||||||
add_filter( 'get_avatar_comment_types', array( __CLASS__, 'add_avatar_for_review_comment_type' ) );
|
add_filter( 'get_avatar_comment_types', array( __CLASS__, 'add_avatar_for_review_comment_type' ) );
|
||||||
|
|
||||||
|
@ -237,6 +241,18 @@ class WC_Comments {
|
||||||
delete_post_meta( $post_id, '_wc_review_count' );
|
delete_post_meta( $post_id, '_wc_review_count' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete comments count cache whenever there is
|
||||||
|
* new comment or the status of a comment changes. Cache
|
||||||
|
* will be regenerated next time WC_Comments::wp_count_comments()
|
||||||
|
* is called.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function delete_comments_count_cache() {
|
||||||
|
delete_transient( 'wc_count_comments' );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove order notes from wp_count_comments().
|
* Remove order notes from wp_count_comments().
|
||||||
* @since 2.2
|
* @since 2.2
|
||||||
|
@ -248,37 +264,37 @@ class WC_Comments {
|
||||||
global $wpdb;
|
global $wpdb;
|
||||||
|
|
||||||
if ( 0 === $post_id ) {
|
if ( 0 === $post_id ) {
|
||||||
|
$stats = get_transient( 'wc_count_comments' );
|
||||||
|
|
||||||
$count = wp_cache_get( 'comments-0', 'counts' );
|
if ( ! $stats ) {
|
||||||
if ( false !== $count ) {
|
$stats = array();
|
||||||
return $count;
|
|
||||||
}
|
|
||||||
|
|
||||||
$count = $wpdb->get_results( "SELECT comment_approved, COUNT( * ) AS num_comments FROM {$wpdb->comments} WHERE comment_type != 'order_note' GROUP BY comment_approved", ARRAY_A );
|
$count = $wpdb->get_results( "SELECT comment_approved, COUNT( * ) AS num_comments FROM {$wpdb->comments} WHERE comment_type != 'order_note' GROUP BY comment_approved", ARRAY_A );
|
||||||
|
|
||||||
$total = 0;
|
$total = 0;
|
||||||
$approved = array( '0' => 'moderated', '1' => 'approved', 'spam' => 'spam', 'trash' => 'trash', 'post-trashed' => 'post-trashed' );
|
$approved = array( '0' => 'moderated', '1' => 'approved', 'spam' => 'spam', 'trash' => 'trash', 'post-trashed' => 'post-trashed' );
|
||||||
|
|
||||||
foreach ( (array) $count as $row ) {
|
foreach ( (array) $count as $row ) {
|
||||||
// Don't count post-trashed toward totals
|
// Don't count post-trashed toward totals
|
||||||
if ( 'post-trashed' != $row['comment_approved'] && 'trash' != $row['comment_approved'] ) {
|
if ( 'post-trashed' != $row['comment_approved'] && 'trash' != $row['comment_approved'] ) {
|
||||||
$total += $row['num_comments'];
|
$total += $row['num_comments'];
|
||||||
|
}
|
||||||
|
if ( isset( $approved[ $row['comment_approved'] ] ) ) {
|
||||||
|
$stats[ $approved[ $row['comment_approved'] ] ] = $row['num_comments'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ( isset( $approved[ $row['comment_approved'] ] ) ) {
|
|
||||||
$stats[ $approved[ $row['comment_approved'] ] ] = $row['num_comments'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$stats['total_comments'] = $total;
|
$stats['total_comments'] = $total;
|
||||||
$stats['all'] = $total;
|
$stats['all'] = $total;
|
||||||
foreach ( $approved as $key ) {
|
foreach ( $approved as $key ) {
|
||||||
if ( empty( $stats[ $key ] ) ) {
|
if ( empty( $stats[ $key ] ) ) {
|
||||||
$stats[ $key ] = 0;
|
$stats[ $key ] = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$stats = (object) $stats;
|
$stats = (object) $stats;
|
||||||
wp_cache_set( 'comments-0', $stats, 'counts' );
|
set_transient( 'wc_count_comments', $stats );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $stats;
|
return $stats;
|
||||||
|
|
|
@ -289,16 +289,23 @@ class WC_Emails {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$product = apply_filters( 'woocommerce_order_item_product', $order->get_product_from_item( $item ), $item );
|
$product = apply_filters( 'woocommerce_order_item_product', $order->get_product_from_item( $item ), $item );
|
||||||
$is_visible = $product && $product->is_visible();
|
$product_exists = is_object( $product );
|
||||||
|
$is_visible = $product_exists && $product->is_visible();
|
||||||
|
|
||||||
$item_offered = array(
|
$item_offered = array(
|
||||||
'@type' => 'Product',
|
'@type' => 'Product',
|
||||||
'name' => apply_filters( 'woocommerce_order_item_name', $item['name'], $item, $is_visible )
|
'name' => apply_filters( 'woocommerce_order_item_name', $item['name'], $item, $is_visible ),
|
||||||
);
|
);
|
||||||
|
|
||||||
if ( $sku = $product->get_sku() ) {
|
if ( $product_exists ) {
|
||||||
$item_offered['sku'] = $sku;
|
if ( $sku = $product->get_sku() ) {
|
||||||
|
$item_offered['sku'] = $sku;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $image_id = $product->get_image_id() ) {
|
||||||
|
$item_offered['image'] = wp_get_attachment_image_url( $image_id, 'thumbnail' );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $is_visible ) {
|
if ( $is_visible ) {
|
||||||
|
@ -307,10 +314,6 @@ class WC_Emails {
|
||||||
$item_offered['url'] = get_home_url();
|
$item_offered['url'] = get_home_url();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $image_id = $product->get_image_id() ) {
|
|
||||||
$item_offered['image'] = wp_get_attachment_image_url( $image_id, 'thumbnail' );
|
|
||||||
}
|
|
||||||
|
|
||||||
$accepted_offer = (object) array(
|
$accepted_offer = (object) array(
|
||||||
'@type' => 'Offer',
|
'@type' => 'Offer',
|
||||||
'itemOffered' => $item_offered,
|
'itemOffered' => $item_offered,
|
||||||
|
@ -320,7 +323,7 @@ class WC_Emails {
|
||||||
'@type' => 'QuantitativeValue',
|
'@type' => 'QuantitativeValue',
|
||||||
'value' => apply_filters( 'woocommerce_email_order_item_quantity', $item['qty'], $item )
|
'value' => apply_filters( 'woocommerce_email_order_item_quantity', $item['qty'], $item )
|
||||||
),
|
),
|
||||||
'url' => get_home_url(),
|
'url' => get_home_url(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$accepted_offers[] = $accepted_offer;
|
$accepted_offers[] = $accepted_offer;
|
||||||
|
|
|
@ -845,8 +845,8 @@ CREATE TABLE {$wpdb->prefix}woocommerce_termmeta (
|
||||||
public static function plugin_row_meta( $links, $file ) {
|
public static function plugin_row_meta( $links, $file ) {
|
||||||
if ( $file == WC_PLUGIN_BASENAME ) {
|
if ( $file == WC_PLUGIN_BASENAME ) {
|
||||||
$row_meta = array(
|
$row_meta = array(
|
||||||
'docs' => '<a href="' . esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woothemes.com/documentation/plugins/woocommerce/' ) ) . '" title="' . esc_attr( __( 'View WooCommerce Documentation', 'woocommerce' ) ) . '">' . __( 'Docs', 'woocommerce' ) . '</a>',
|
'docs' => '<a href="' . esc_url( apply_filters( 'woocommerce_docs_url', 'https://docs.woocommerce.com/documentation/plugins/woocommerce/' ) ) . '" title="' . esc_attr( __( 'View WooCommerce Documentation', 'woocommerce' ) ) . '">' . __( 'Docs', 'woocommerce' ) . '</a>',
|
||||||
'apidocs' => '<a href="' . esc_url( apply_filters( 'woocommerce_apidocs_url', 'https://docs.woothemes.com/wc-apidocs/' ) ) . '" title="' . esc_attr( __( 'View WooCommerce API Docs', 'woocommerce' ) ) . '">' . __( 'API Docs', 'woocommerce' ) . '</a>',
|
'apidocs' => '<a href="' . esc_url( apply_filters( 'woocommerce_apidocs_url', 'https://docs.woocommerce.com/wc-apidocs/' ) ) . '" title="' . esc_attr( __( 'View WooCommerce API Docs', 'woocommerce' ) ) . '">' . __( 'API Docs', 'woocommerce' ) . '</a>',
|
||||||
'support' => '<a href="' . esc_url( apply_filters( 'woocommerce_support_url', 'https://support.woothemes.com/' ) ) . '" title="' . esc_attr( __( 'Visit Premium Customer Support Forum', 'woocommerce' ) ) . '">' . __( 'Premium Support', 'woocommerce' ) . '</a>',
|
'support' => '<a href="' . esc_url( apply_filters( 'woocommerce_support_url', 'https://support.woothemes.com/' ) ) . '" title="' . esc_attr( __( 'Visit Premium Customer Support Forum', 'woocommerce' ) ) . '">' . __( 'Premium Support', 'woocommerce' ) . '</a>',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -690,6 +690,40 @@ class WC_Query {
|
||||||
return $meta_query;
|
return $meta_query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Based on WP_Query::parse_search
|
||||||
|
*/
|
||||||
|
public static function get_main_search_query_sql() {
|
||||||
|
global $wp_the_query, $wpdb;
|
||||||
|
|
||||||
|
$args = $wp_the_query->query_vars;
|
||||||
|
$search_terms = isset( $args['search_terms'] ) ? $args['search_terms'] : array();
|
||||||
|
$sql = array();
|
||||||
|
|
||||||
|
foreach ( $search_terms as $term ) {
|
||||||
|
// Terms prefixed with '-' should be excluded.
|
||||||
|
$include = '-' !== substr( $term, 0, 1 );
|
||||||
|
|
||||||
|
if ( $include ) {
|
||||||
|
$like_op = 'LIKE';
|
||||||
|
$andor_op = 'OR';
|
||||||
|
} else {
|
||||||
|
$like_op = 'NOT LIKE';
|
||||||
|
$andor_op = 'AND';
|
||||||
|
$term = substr( $term, 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
$like = '%' . $wpdb->esc_like( $term ) . '%';
|
||||||
|
$sql[] = $wpdb->prepare( "(($wpdb->posts.post_title $like_op %s) $andor_op ($wpdb->posts.post_excerpt $like_op %s) $andor_op ($wpdb->posts.post_content $like_op %s))", $like, $like, $like );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! empty( $sql ) && ! is_user_logged_in() ) {
|
||||||
|
$sql[] = "($wpdb->posts.post_password = '')";
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode( ' AND ', $sql );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Layered Nav Init.
|
* Layered Nav Init.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -172,7 +172,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'asc',
|
'order' => 'asc',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'product_category' );
|
||||||
|
|
||||||
if ( ! $atts['category'] ) {
|
if ( ! $atts['category'] ) {
|
||||||
return '';
|
return '';
|
||||||
|
@ -223,7 +223,7 @@ class WC_Shortcodes {
|
||||||
'hide_empty' => 1,
|
'hide_empty' => 1,
|
||||||
'parent' => '',
|
'parent' => '',
|
||||||
'ids' => ''
|
'ids' => ''
|
||||||
), $atts );
|
), $atts, 'product_categories' );
|
||||||
|
|
||||||
if ( isset( $atts['ids'] ) ) {
|
if ( isset( $atts['ids'] ) ) {
|
||||||
$ids = explode( ',', $atts['ids'] );
|
$ids = explode( ',', $atts['ids'] );
|
||||||
|
@ -298,7 +298,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'desc',
|
'order' => 'desc',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'recent_products' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'post_type' => 'product',
|
'post_type' => 'product',
|
||||||
|
@ -328,7 +328,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'asc',
|
'order' => 'asc',
|
||||||
'ids' => '',
|
'ids' => '',
|
||||||
'skus' => ''
|
'skus' => ''
|
||||||
), $atts );
|
), $atts, 'products' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'post_type' => 'product',
|
'post_type' => 'product',
|
||||||
|
@ -443,7 +443,7 @@ class WC_Shortcodes {
|
||||||
'sku' => '',
|
'sku' => '',
|
||||||
'style' => 'border:4px solid #ccc; padding: 12px;',
|
'style' => 'border:4px solid #ccc; padding: 12px;',
|
||||||
'show_price' => 'true'
|
'show_price' => 'true'
|
||||||
), $atts );
|
), $atts, 'product_add_to_cart' );
|
||||||
|
|
||||||
if ( ! empty( $atts['id'] ) ) {
|
if ( ! empty( $atts['id'] ) ) {
|
||||||
$product_data = get_post( $atts['id'] );
|
$product_data = get_post( $atts['id'] );
|
||||||
|
@ -527,7 +527,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'asc',
|
'order' => 'asc',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'sale_products' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'posts_per_page' => $atts['per_page'],
|
'posts_per_page' => $atts['per_page'],
|
||||||
|
@ -557,7 +557,7 @@ class WC_Shortcodes {
|
||||||
'columns' => '4',
|
'columns' => '4',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'best_selling_products' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'post_type' => 'product',
|
'post_type' => 'product',
|
||||||
|
@ -588,7 +588,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'asc',
|
'order' => 'asc',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'top_rated_products' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'post_type' => 'product',
|
'post_type' => 'product',
|
||||||
|
@ -625,7 +625,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'desc',
|
'order' => 'desc',
|
||||||
'category' => '', // Slugs
|
'category' => '', // Slugs
|
||||||
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
|
||||||
), $atts );
|
), $atts, 'featured_products' );
|
||||||
|
|
||||||
$meta_query = WC()->query->get_meta_query();
|
$meta_query = WC()->query->get_meta_query();
|
||||||
$meta_query[] = array(
|
$meta_query[] = array(
|
||||||
|
@ -782,7 +782,7 @@ class WC_Shortcodes {
|
||||||
'order' => 'asc',
|
'order' => 'asc',
|
||||||
'attribute' => '',
|
'attribute' => '',
|
||||||
'filter' => ''
|
'filter' => ''
|
||||||
), $atts );
|
), $atts, 'product_attribute' );
|
||||||
|
|
||||||
$query_args = array(
|
$query_args = array(
|
||||||
'post_type' => 'product',
|
'post_type' => 'product',
|
||||||
|
@ -814,7 +814,7 @@ class WC_Shortcodes {
|
||||||
'per_page' => '4',
|
'per_page' => '4',
|
||||||
'columns' => '4',
|
'columns' => '4',
|
||||||
'orderby' => 'rand'
|
'orderby' => 'rand'
|
||||||
), $atts );
|
), $atts, 'related_products' );
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
|
||||||
|
|
|
@ -473,7 +473,7 @@ class WC_CLI_Order extends WC_CLI_Command {
|
||||||
|
|
||||||
// item ID is always required
|
// item ID is always required
|
||||||
if ( ! array_key_exists( 'id', $item ) ) {
|
if ( ! array_key_exists( 'id', $item ) ) {
|
||||||
throw new WC_CLI_Exception( 'woocommerce_invalid_item_id', __( 'Order item ID is required', 'woocommerce' ) );
|
$item['id'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// create item
|
// create item
|
||||||
|
|
|
@ -2073,10 +2073,10 @@ class WC_CLI_Product extends WC_CLI_Command {
|
||||||
|
|
||||||
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
if ( $image_meta = @wp_read_image_metadata( $upload['file'] ) ) {
|
||||||
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
||||||
$title = $image_meta['title'];
|
$title = wc_clean( $image_meta['title'] );
|
||||||
}
|
}
|
||||||
if ( trim( $image_meta['caption'] ) ) {
|
if ( trim( $image_meta['caption'] ) ) {
|
||||||
$content = $image_meta['caption'];
|
$content = wc_clean( $image_meta['caption'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,7 +127,7 @@ return array(
|
||||||
),
|
),
|
||||||
'api_password' => array(
|
'api_password' => array(
|
||||||
'title' => __( 'API Password', 'woocommerce' ),
|
'title' => __( 'API Password', 'woocommerce' ),
|
||||||
'type' => 'text',
|
'type' => 'password',
|
||||||
'description' => __( 'Get your API credentials from PayPal.', 'woocommerce' ),
|
'description' => __( 'Get your API credentials from PayPal.', 'woocommerce' ),
|
||||||
'default' => '',
|
'default' => '',
|
||||||
'desc_tip' => true,
|
'desc_tip' => true,
|
||||||
|
|
|
@ -57,7 +57,7 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method {
|
||||||
// Allow 3rd parties to process shipping cost arguments
|
// Allow 3rd parties to process shipping cost arguments
|
||||||
$args = apply_filters( 'woocommerce_evaluate_shipping_cost_args', $args, $sum, $this );
|
$args = apply_filters( 'woocommerce_evaluate_shipping_cost_args', $args, $sum, $this );
|
||||||
$locale = localeconv();
|
$locale = localeconv();
|
||||||
$decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] );
|
$decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'], ',' );
|
||||||
$this->fee_cost = $args['cost'];
|
$this->fee_cost = $args['cost'];
|
||||||
|
|
||||||
// Expand shortcodes
|
// Expand shortcodes
|
||||||
|
|
|
@ -15,84 +15,131 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
*/
|
*/
|
||||||
class WC_Shipping_Free_Shipping extends WC_Shipping_Method {
|
class WC_Shipping_Free_Shipping extends WC_Shipping_Method {
|
||||||
|
|
||||||
/** @var float Min amount to be valid */
|
/**
|
||||||
|
* Min amount to be valid.
|
||||||
|
*
|
||||||
|
* @var integer
|
||||||
|
*/
|
||||||
public $min_amount = 0;
|
public $min_amount = 0;
|
||||||
|
|
||||||
/** @var string Requires option */
|
/**
|
||||||
public $requires = '';
|
* Requires option.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $requires = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param int $instance_id Shipping method instance.
|
||||||
*/
|
*/
|
||||||
public function __construct( $instance_id = 0 ) {
|
public function __construct( $instance_id = 0 ) {
|
||||||
$this->id = 'free_shipping';
|
$this->id = 'free_shipping';
|
||||||
$this->instance_id = absint( $instance_id );
|
$this->instance_id = absint( $instance_id );
|
||||||
$this->method_title = __( 'Free Shipping', 'woocommerce' );
|
$this->method_title = __( 'Free Shipping', 'woocommerce' );
|
||||||
$this->method_description = __( 'Free Shipping is a special method which can be triggered with coupons and minimum spends.', 'woocommerce' );
|
$this->method_description = __( 'Free Shipping is a special method which can be triggered with coupons and minimum spends.', 'woocommerce' );
|
||||||
$this->supports = array(
|
$this->supports = array(
|
||||||
'shipping-zones',
|
'shipping-zones',
|
||||||
'instance-settings',
|
'instance-settings',
|
||||||
'instance-settings-modal',
|
'instance-settings-modal',
|
||||||
);
|
);
|
||||||
$this->title = $this->get_option( 'title' );
|
|
||||||
$this->min_amount = $this->get_option( 'min_amount', 0 );
|
|
||||||
$this->requires = $this->get_option( 'requires' );
|
|
||||||
|
|
||||||
|
$this->init();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize free shipping.
|
||||||
|
*/
|
||||||
|
public function init() {
|
||||||
|
// Load the settings.
|
||||||
|
$this->init_form_fields();
|
||||||
|
$this->init_settings();
|
||||||
|
|
||||||
|
// Define user set variables.
|
||||||
|
$this->title = $this->get_option( 'title' );
|
||||||
|
$this->min_amount = $this->get_option( 'min_amount', 0 );
|
||||||
|
$this->requires = $this->get_option( 'requires' );
|
||||||
|
|
||||||
|
// Actions.
|
||||||
add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
|
add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Init form fields.
|
||||||
|
*/
|
||||||
|
public function init_form_fields() {
|
||||||
|
$this->instance_form_fields = array(
|
||||||
|
'title' => array(
|
||||||
|
'title' => __( 'Title', 'woocommerce' ),
|
||||||
|
'type' => 'text',
|
||||||
|
'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce' ),
|
||||||
|
'default' => $this->method_title,
|
||||||
|
'desc_tip' => true,
|
||||||
|
),
|
||||||
|
'requires' => array(
|
||||||
|
'title' => __( 'Free Shipping Requires...', 'woocommerce' ),
|
||||||
|
'type' => 'select',
|
||||||
|
'class' => 'wc-enhanced-select',
|
||||||
|
'default' => '',
|
||||||
|
'options' => array(
|
||||||
|
'' => __( 'N/A', 'woocommerce' ),
|
||||||
|
'coupon' => __( 'A valid free shipping coupon', 'woocommerce' ),
|
||||||
|
'min_amount' => __( 'A minimum order amount', 'woocommerce' ),
|
||||||
|
'either' => __( 'A minimum order amount OR a coupon', 'woocommerce' ),
|
||||||
|
'both' => __( 'A minimum order amount AND a coupon', 'woocommerce' ),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'min_amount' => array(
|
||||||
|
'title' => __( 'Minimum Order Amount', 'woocommerce' ),
|
||||||
|
'type' => 'price',
|
||||||
|
'placeholder' => wc_format_localized_price( 0 ),
|
||||||
|
'description' => __( 'Users will need to spend this amount to get free shipping (if enabled above).', 'woocommerce' ),
|
||||||
|
'default' => '0',
|
||||||
|
'desc_tip' => true,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get setting form fields for instances of this shipping method within zones.
|
* Get setting form fields for instances of this shipping method within zones.
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function get_instance_form_fields() {
|
public function get_instance_form_fields() {
|
||||||
wc_enqueue_js( "
|
wc_enqueue_js( "
|
||||||
jQuery( function( $ ) {
|
jQuery( function( $ ) {
|
||||||
$('#woocommerce_free_shipping_requires').change(function(){
|
function wcFreeShippingShowHideMinAmountField( el ) {
|
||||||
if ( $(this).val() === 'coupon' || $(this).val() === '' ) {
|
var form = $( el ).closest( 'form' );
|
||||||
$('#woocommerce_free_shipping_min_amount').closest('tr').hide();
|
var minAmountField = $( '#woocommerce_free_shipping_min_amount', form ).closest( 'tr' );
|
||||||
|
if ( 'coupon' === $( el ).val() || '' === $( el ).val() ) {
|
||||||
|
minAmountField.hide();
|
||||||
} else {
|
} else {
|
||||||
$('#woocommerce_free_shipping_min_amount').closest('tr').show();
|
minAmountField.show();
|
||||||
}
|
}
|
||||||
}).change();
|
}
|
||||||
|
|
||||||
|
$( document.body ).on( 'change', '#woocommerce_free_shipping_requires', function() {
|
||||||
|
wcFreeShippingShowHideMinAmountField( this );
|
||||||
|
});
|
||||||
|
|
||||||
|
// Change while load.
|
||||||
|
$( '#woocommerce_free_shipping_requires' ).change();
|
||||||
|
$( document.body ).on( 'wc_backbone_modal_loaded', function( evt, target ) {
|
||||||
|
if ( 'wc-modal-shipping-method-settings' === target ) {
|
||||||
|
wcFreeShippingShowHideMinAmountField( $( '#wc-backbone-modal-dialog #woocommerce_free_shipping_requires', evt.currentTarget ) );
|
||||||
|
}
|
||||||
|
} );
|
||||||
});
|
});
|
||||||
" );
|
" );
|
||||||
|
|
||||||
return array(
|
return parent::get_instance_form_fields();
|
||||||
'title' => array(
|
|
||||||
'title' => __( 'Title', 'woocommerce' ),
|
|
||||||
'type' => 'text',
|
|
||||||
'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce' ),
|
|
||||||
'default' => $this->method_title,
|
|
||||||
'desc_tip' => true,
|
|
||||||
),
|
|
||||||
'requires' => array(
|
|
||||||
'title' => __( 'Free Shipping Requires...', 'woocommerce' ),
|
|
||||||
'type' => 'select',
|
|
||||||
'class' => 'wc-enhanced-select',
|
|
||||||
'default' => '',
|
|
||||||
'options' => array(
|
|
||||||
'' => __( 'N/A', 'woocommerce' ),
|
|
||||||
'coupon' => __( 'A valid free shipping coupon', 'woocommerce' ),
|
|
||||||
'min_amount' => __( 'A minimum order amount', 'woocommerce' ),
|
|
||||||
'either' => __( 'A minimum order amount OR a coupon', 'woocommerce' ),
|
|
||||||
'both' => __( 'A minimum order amount AND a coupon', 'woocommerce' ),
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'min_amount' => array(
|
|
||||||
'title' => __( 'Minimum Order Amount', 'woocommerce' ),
|
|
||||||
'type' => 'price',
|
|
||||||
'placeholder' => wc_format_localized_price( 0 ),
|
|
||||||
'description' => __( 'Users will need to spend this amount to get free shipping (if enabled above).', 'woocommerce' ),
|
|
||||||
'default' => '0',
|
|
||||||
'desc_tip' => true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See if free shipping is available based on the package and cart.
|
* See if free shipping is available based on the package and cart.
|
||||||
* @param array $package
|
*
|
||||||
|
* @param array $package Shipping package.
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function is_available( $package ) {
|
public function is_available( $package ) {
|
||||||
|
@ -127,19 +174,19 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method {
|
||||||
switch ( $this->requires ) {
|
switch ( $this->requires ) {
|
||||||
case 'min_amount' :
|
case 'min_amount' :
|
||||||
$is_available = $has_met_min_amount;
|
$is_available = $has_met_min_amount;
|
||||||
break;
|
break;
|
||||||
case 'coupon' :
|
case 'coupon' :
|
||||||
$is_available = $has_coupon;
|
$is_available = $has_coupon;
|
||||||
break;
|
break;
|
||||||
case 'both' :
|
case 'both' :
|
||||||
$is_available = $has_met_min_amount && $has_coupon;
|
$is_available = $has_met_min_amount && $has_coupon;
|
||||||
break;
|
break;
|
||||||
case 'either' :
|
case 'either' :
|
||||||
$is_available = $has_met_min_amount || $has_coupon;
|
$is_available = $has_met_min_amount || $has_coupon;
|
||||||
break;
|
break;
|
||||||
default :
|
default :
|
||||||
$is_available = true;
|
$is_available = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return apply_filters( 'woocommerce_shipping_' . $this->id . '_is_available', $is_available, $package );
|
return apply_filters( 'woocommerce_shipping_' . $this->id . '_is_available', $is_available, $package );
|
||||||
|
@ -147,12 +194,15 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called to calculate shipping rates for this method. Rates can be added using the add_rate() method.
|
* Called to calculate shipping rates for this method. Rates can be added using the add_rate() method.
|
||||||
|
*
|
||||||
* @uses WC_Shipping_Method::add_rate()
|
* @uses WC_Shipping_Method::add_rate()
|
||||||
|
*
|
||||||
|
* @param array $package Shipping package.
|
||||||
*/
|
*/
|
||||||
public function calculate_shipping( $package = array() ) {
|
public function calculate_shipping( $package = array() ) {
|
||||||
$this->add_rate( array(
|
$this->add_rate( array(
|
||||||
'label' => $this->title,
|
'label' => $this->title,
|
||||||
'cost' => 0,
|
'cost' => 0,
|
||||||
'taxes' => false,
|
'taxes' => false,
|
||||||
'package' => $package,
|
'package' => $package,
|
||||||
) );
|
) );
|
||||||
|
|
|
@ -96,7 +96,7 @@ function wc_add_to_cart_message( $products, $show_qty = false ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! $show_qty ) {
|
if ( ! $show_qty ) {
|
||||||
$products = array_fill_keys( array_values( $products ), 1 );
|
$products = array_fill_keys( array_keys( $products ), 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ( $products as $product_id => $qty ) {
|
foreach ( $products as $product_id => $qty ) {
|
||||||
|
|
|
@ -124,10 +124,10 @@ function wc_rest_set_uploaded_image_as_attachment( $upload, $id = 0 ) {
|
||||||
|
|
||||||
if ( $image_meta = wp_read_image_metadata( $upload['file'] ) ) {
|
if ( $image_meta = wp_read_image_metadata( $upload['file'] ) ) {
|
||||||
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
|
||||||
$title = $image_meta['title'];
|
$title = wc_clean( $image_meta['title'] );
|
||||||
}
|
}
|
||||||
if ( trim( $image_meta['caption'] ) ) {
|
if ( trim( $image_meta['caption'] ) ) {
|
||||||
$content = $image_meta['caption'];
|
$content = wc_clean( $image_meta['caption'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -885,6 +885,7 @@ function wc_update_260_zone_methods() {
|
||||||
*/
|
*/
|
||||||
if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}woocommerce_shipping_zone_shipping_methods';" ) ) {
|
if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}woocommerce_shipping_zone_shipping_methods';" ) ) {
|
||||||
$old_methods = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_shipping_zone_shipping_methods;" );
|
$old_methods = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_shipping_zone_shipping_methods;" );
|
||||||
|
|
||||||
if ( $old_methods ) {
|
if ( $old_methods ) {
|
||||||
$max_new_id = $wpdb->get_var( "SELECT MAX(instance_id) FROM {$wpdb->prefix}woocommerce_shipping_zone_methods" );
|
$max_new_id = $wpdb->get_var( "SELECT MAX(instance_id) FROM {$wpdb->prefix}woocommerce_shipping_zone_methods" );
|
||||||
$max_old_id = $wpdb->get_var( "SELECT MAX(shipping_method_id) FROM {$wpdb->prefix}woocommerce_shipping_zone_shipping_methods" );
|
$max_old_id = $wpdb->get_var( "SELECT MAX(shipping_method_id) FROM {$wpdb->prefix}woocommerce_shipping_zone_shipping_methods" );
|
||||||
|
@ -947,6 +948,9 @@ function wc_update_260_zone_methods() {
|
||||||
do_action( 'woocommerce_updated_instance_ids', $changes );
|
do_action( 'woocommerce_updated_instance_ids', $changes );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Change ranges used to ...
|
||||||
|
$wpdb->query( "UPDATE {$wpdb->prefix}woocommerce_shipping_zone_locations SET location_code = REPLACE( location_code, '-', '...' );" );
|
||||||
}
|
}
|
||||||
|
|
||||||
function wc_update_260_refunds() {
|
function wc_update_260_refunds() {
|
||||||
|
|
|
@ -272,7 +272,8 @@ class WC_Widget_Layered_Nav extends WC_Widget {
|
||||||
} elseif ( is_product_tag() ) {
|
} elseif ( is_product_tag() ) {
|
||||||
$link = get_term_link( get_query_var( 'product_tag' ), 'product_tag' );
|
$link = get_term_link( get_query_var( 'product_tag' ), 'product_tag' );
|
||||||
} else {
|
} else {
|
||||||
$link = get_term_link( get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
|
$queried_object = get_queried_object();
|
||||||
|
$link = get_term_link( $queried_object->slug, $queried_object->taxonomy );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Min/Max
|
// Min/Max
|
||||||
|
@ -361,12 +362,18 @@ class WC_Widget_Layered_Nav extends WC_Widget {
|
||||||
INNER JOIN {$wpdb->term_taxonomy} AS term_taxonomy USING( term_taxonomy_id )
|
INNER JOIN {$wpdb->term_taxonomy} AS term_taxonomy USING( term_taxonomy_id )
|
||||||
INNER JOIN {$wpdb->terms} AS terms USING( term_id )
|
INNER JOIN {$wpdb->terms} AS terms USING( term_id )
|
||||||
" . $tax_query_sql['join'] . $meta_query_sql['join'];
|
" . $tax_query_sql['join'] . $meta_query_sql['join'];
|
||||||
|
|
||||||
$query['where'] = "
|
$query['where'] = "
|
||||||
WHERE {$wpdb->posts}.post_type IN ( 'product' )
|
WHERE {$wpdb->posts}.post_type IN ( 'product' )
|
||||||
AND {$wpdb->posts}.post_status = 'publish'
|
AND {$wpdb->posts}.post_status = 'publish'
|
||||||
" . $tax_query_sql['where'] . $meta_query_sql['where'] . "
|
" . $tax_query_sql['where'] . $meta_query_sql['where'] . "
|
||||||
AND terms.term_id IN (" . implode( ',', array_map( 'absint', $term_ids ) ) . ")
|
AND terms.term_id IN (" . implode( ',', array_map( 'absint', $term_ids ) ) . ")
|
||||||
";
|
";
|
||||||
|
|
||||||
|
if ( $search = WC_Query::get_main_search_query_sql() ) {
|
||||||
|
$query['where'] .= ' AND ' . $search;
|
||||||
|
}
|
||||||
|
|
||||||
$query['group_by'] = "GROUP BY terms.term_id";
|
$query['group_by'] = "GROUP BY terms.term_id";
|
||||||
$query = apply_filters( 'woocommerce_get_filtered_term_product_counts_query', $query );
|
$query = apply_filters( 'woocommerce_get_filtered_term_product_counts_query', $query );
|
||||||
$query = implode( ' ', $query );
|
$query = implode( ' ', $query );
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "woocommerce",
|
"name": "woocommerce",
|
||||||
"title": "WooCommerce",
|
"title": "WooCommerce",
|
||||||
"version": "2.6.2",
|
"version": "2.6.3",
|
||||||
"homepage": "https://woocommerce.com/",
|
"homepage": "https://woocommerce.com/",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
43
readme.txt
43
readme.txt
|
@ -3,7 +3,7 @@ Contributors: automattic, mikejolley, jameskoster, claudiosanches, jshreve, code
|
||||||
Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, storefront
|
Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, storefront
|
||||||
Requires at least: 4.4
|
Requires at least: 4.4
|
||||||
Tested up to: 4.5
|
Tested up to: 4.5
|
||||||
Stable tag: 2.6.2
|
Stable tag: 2.6.3
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
||||||
|
|
||||||
|
@ -117,9 +117,9 @@ WooCommerce comes with some dummy data you can use to see how products look; eit
|
||||||
|
|
||||||
= Where can I find WooCommerce documentation and user guides? =
|
= Where can I find WooCommerce documentation and user guides? =
|
||||||
|
|
||||||
For help setting up and configuring WooCommerce please refer to our [user guide](https://docs.woothemes.com/documentation/plugins/woocommerce/getting-started/)
|
For help setting up and configuring WooCommerce please refer to our [user guide](https://docs.woocommerce.com/documentation/plugins/woocommerce/getting-started/)
|
||||||
|
|
||||||
For extending or theming WooCommerce, see our [codex](https://docs.woothemes.com/documentation/plugins/woocommerce/woocommerce-codex/).
|
For extending or theming WooCommerce, see our [codex](https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-codex/).
|
||||||
|
|
||||||
= Where can I get support or talk to other users? =
|
= Where can I get support or talk to other users? =
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ For help with premium add-ons from WooThemes, use [our helpdesk](https://support
|
||||||
|
|
||||||
= Will WooCommerce work with my theme? =
|
= Will WooCommerce work with my theme? =
|
||||||
|
|
||||||
Yes; WooCommerce will work with any theme, but may require some styling to make it match nicely. Please see our [codex](https://docs.woothemes.com/documentation/plugins/woocommerce/woocommerce-codex/) for help. If you're looking for a theme with built in WooCommerce integration we recommend [Storefront](https://woocommerce.com/storefront/).
|
Yes; WooCommerce will work with any theme, but may require some styling to make it match nicely. Please see our [codex](https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-codex/) for help. If you're looking for a theme with built in WooCommerce integration we recommend [Storefront](https://woocommerce.com/storefront/).
|
||||||
|
|
||||||
= Where can I request new features, eCommerce themes and extensions? =
|
= Where can I request new features, eCommerce themes and extensions? =
|
||||||
|
|
||||||
|
@ -158,13 +158,38 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc
|
||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
= 2.6.2 - xx/xx/16 =
|
= 2.6.3 - 19/07/16 =
|
||||||
* Fix - Fixed how calculate shipping tax rates when using more than one tax class.
|
* Fix - Security - Escape captions in product-thumbnail and product-image templates (template versions have been bumped).
|
||||||
|
* Fix - Fixed how we calculate shipping tax rates when using more than one tax class.
|
||||||
* Fix - When duplicating product variations, set title, name, and guid.
|
* Fix - When duplicating product variations, set title, name, and guid.
|
||||||
|
* Fix - Normalized 'read more' buttons.
|
||||||
|
* Fix - Add to cart notices for grouped products.
|
||||||
|
* Fix - Do not sanitize passwords in the settings API.
|
||||||
|
* Fix - Handle shipping zone location range conversion during update (dashes to ...).
|
||||||
|
* Fix - Always remove commas while processing flat rate costs.
|
||||||
|
* Fix - Ensures account page layout is only applied to desktop-sized displays.
|
||||||
|
* Fix - When getting layered nav counts, take search parameters into consideration.
|
||||||
|
* Fix - Free shipping show/hide javascript.
|
||||||
|
* Fix - Strip hash characters when exporting reports.
|
||||||
* Fix - Use permission id to revoke access to downloads to prevent removing wrong rows.
|
* Fix - Use permission id to revoke access to downloads to prevent removing wrong rows.
|
||||||
* Dev - API - Added support for WP REST API with custom URL prefix.
|
* Fix - When duplicating product variations, set title, name, and guid.
|
||||||
* Dev - API - Delete variations when deletes a variable product.
|
* Fix - Set more appropriate default rounding precision based on currency decimal places.
|
||||||
* Dev - API - Fixed how check for product types.
|
* Fix - Fix message styles for empty carts.
|
||||||
|
* Fix - Fixed the load of the WC_Email_Customer_On_Hold_Order class.
|
||||||
|
* Fix - Don't perform cart update on search submit.
|
||||||
|
* Dev - API - Added support for WP REST API with custom URL prefixes.
|
||||||
|
* Dev - API - Delete variations when deleting a variable product.
|
||||||
|
* Dev - API - Fixed how we check for product types.
|
||||||
|
* Dev - Added woocommerce_cart_id filter.
|
||||||
|
* Dev - Add shortcode name param to shortcode_atts function calls.
|
||||||
|
* Dev - Post custom data when fetching a variation via ajax.
|
||||||
|
* Dev - Include child prices in grouped_price_html filter.
|
||||||
|
* Dev - Allow filtering of variation stock quantity.
|
||||||
|
* Dev - Added $_product argument to 'woocommerce_restock_refunded_item' hook.
|
||||||
|
* Dev - Added a filter hook for the wc_ajax endpoint url.
|
||||||
|
* Tweak - Include account page link in new customer account emails.
|
||||||
|
* Tweak - Updated all URLs from WooThemes.com to WooCommerce.com.
|
||||||
|
* Tweak - Cache the result of WC_Comments::wp_count_comments() in a transient (improves performance).
|
||||||
|
|
||||||
= 2.6.2 - 30/06/16 =
|
= 2.6.2 - 30/06/16 =
|
||||||
* Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
|
* Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.0.0
|
* @version 2.0.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Auth
|
* @package WooCommerce/Templates/Auth
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Auth
|
* @package WooCommerce/Templates/Auth
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Auth
|
* @package WooCommerce/Templates/Auth
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Auth
|
* @package WooCommerce/Templates/Auth
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.0.0
|
* @version 2.0.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.3.6
|
* @version 2.3.6
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.3.8
|
* @version 2.3.8
|
||||||
|
@ -135,7 +135,7 @@ do_action( 'woocommerce_before_cart' ); ?>
|
||||||
<?php if ( wc_coupons_enabled() ) { ?>
|
<?php if ( wc_coupons_enabled() ) { ?>
|
||||||
<div class="coupon">
|
<div class="coupon">
|
||||||
|
|
||||||
<label for="coupon_code"><?php _e( 'Coupon', 'woocommerce' ); ?>:</label> <input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" /> <input type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply Coupon', 'woocommerce' ); ?>" />
|
<label for="coupon_code"><?php _e( 'Coupon:', 'woocommerce' ); ?></label> <input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" /> <input type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply Coupon', 'woocommerce' ); ?>" />
|
||||||
|
|
||||||
<?php do_action( 'woocommerce_cart_coupon' ); ?>
|
<?php do_action( 'woocommerce_cart_coupon' ); ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 1.6.4
|
* @version 1.6.4
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.0.8
|
* @version 2.0.8
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.1.2
|
* @version 2.1.2
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.3.0
|
* @version 2.3.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.2
|
* @version 2.2
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.0.0
|
* @version 2.0.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.2.0
|
* @version 2.2.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.3.0
|
* @version 2.3.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.3.0
|
* @version 2.3.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.2.0
|
* @version 2.2.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.6.1
|
* @version 2.6.1
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.6.1
|
* @version 2.6.1
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 1.6.4
|
* @version 1.6.4
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates
|
* @package WooCommerce/Templates
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails/HTML
|
* @package WooCommerce/Templates/Emails/HTML
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 1.6.4
|
* @version 1.6.4
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.0.0
|
* @version 2.0.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.3.0
|
* @version 2.3.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.4.0
|
* @version 2.4.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.1.2
|
* @version 2.1.2
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails
|
* @package WooCommerce/Templates/Emails
|
||||||
* @version 2.3.0
|
* @version 2.3.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails/Plain
|
* @package WooCommerce/Templates/Emails/Plain
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails/Plain
|
* @package WooCommerce/Templates/Emails/Plain
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails/Plain
|
* @package WooCommerce/Templates/Emails/Plain
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* happen. When this occurs the version of the template file will be bumped and
|
* happen. When this occurs the version of the template file will be bumped and
|
||||||
* the readme will list any important changes.
|
* the readme will list any important changes.
|
||||||
*
|
*
|
||||||
* @see https://docs.woothemes.com/document/template-structure/
|
* @see https://docs.woocommerce.com/document/template-structure/
|
||||||
* @author WooThemes
|
* @author WooThemes
|
||||||
* @package WooCommerce/Templates/Emails/Plain
|
* @package WooCommerce/Templates/Emails/Plain
|
||||||
* @version 2.5.0
|
* @version 2.5.0
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue