Version Description
- Feature: Extends the [products] shortcode to allow 'brands' attribute
- Feature: The brands column is sortable now
- Catalan translation (thanks to Lluisma)
- Enhancement: Easier select brands page link in breadcrumbs
- Enhancement: Configure the brand banner and the brand description position independently
- Dev: New filter 'pwb_taxonomy_rewrite' to change the rewrite slug
- Dev: New filter 'pwb_taxonomy_with_front' to change default "with_front" value
- Fix: Fatal error in PHP5.4
Download this release
Release Info
| Developer | titodevera |
| Plugin | |
| Version | 1.7.1 |
| Comparing to | |
| See all releases | |
Code changes from version 1.7.0 to 1.7.1
- assets/css/styles-frontend.css +2 -2
- assets/css/styles-frontend.min.css +1 -1
- assets/js/functions-admin.js +5 -1
- assets/js/functions-admin.min.js +1 -1
- classes/admin/class-pwb-admin-tab.php +23 -5
- classes/class-perfect-woocommerce-brands.php +138 -33
- classes/shortcodes/class-pwb-az-listing.php +2 -1
- lang/perfect-woocommerce-brands-ca.mo +0 -0
- lang/perfect-woocommerce-brands-ca.po +722 -0
- lang/perfect-woocommerce-brands-es_ES.mo +0 -0
- lang/perfect-woocommerce-brands-es_ES.po +3 -3
- lang/perfect-woocommerce-brands.pot +1 -1
- main.php +3 -3
- readme.txt +11 -2
assets/css/styles-frontend.css
CHANGED
|
@@ -4,10 +4,10 @@
|
|
| 4 |
display: table;
|
| 5 |
clear: both;
|
| 6 |
}
|
| 7 |
-
.pwb-
|
| 8 |
margin-bottom: 1em;
|
| 9 |
}
|
| 10 |
-
.pwb-
|
| 11 |
margin-top: 1em;
|
| 12 |
}
|
| 13 |
/* ----------------------- /Global ----------------------- */
|
| 4 |
display: table;
|
| 5 |
clear: both;
|
| 6 |
}
|
| 7 |
+
.pwb-before-loop{
|
| 8 |
margin-bottom: 1em;
|
| 9 |
}
|
| 10 |
+
.pwb-after-loop{
|
| 11 |
margin-top: 1em;
|
| 12 |
}
|
| 13 |
/* ----------------------- /Global ----------------------- */
|
assets/css/styles-frontend.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-
|
| 1 |
+
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-before-loop{margin-bottom:1em}.pwb-after-loop{margin-top:1em}.pwb-carousel .pwb-slick-slide a{display:block}.pwb-carousel .pwb-slick-slide a>img{margin:0 auto}.pwb-carousel .slick-loading .slick-list,.pwb-product-carousel .slick-loading .slick-list{background:#fff url('./ajax-loader.gif') center center no-repeat}.pwb-carousel .pwb-slick-slide,.pwb-product-carousel .pwb-slick-slide{margin:0 10px}.pwb-carousel .slick-prev,.pwb-carousel .slick-next,.pwb-product-carousel .slick-prev,.pwb-product-carousel .slick-next{font-size:0;position:absolute;top:0;bottom:0;display:block;cursor:pointer;font-size:22px;width:30px;overflow:hidden;text-align:center;color:#aeaeae;border:0;outline:0;z-index:999;background:#eee;opacity:0;transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out}.pwb-carousel .slick-prev>span,.pwb-carousel .slick-next>span,.pwb-product-carousel .slick-prev>span,.pwb-product-carousel .slick-next>span{display:inline-block;height:20px;width:20px;padding:10px;position:absolute;top:50%;margin-top:-20px;left:0;right:0}.pwb-carousel .slick-prev:hover,.pwb-carousel .slick-prev:focus,.pwb-carousel .slick-next:hover,.pwb-carousel .slick-next:focus,.pwb-product-carousel .slick-prev:hover,.pwb-product-carousel .slick-prev:focus,.pwb-product-carousel .slick-next:hover,.pwb-product-carousel .slick-next:focus{outline:0}.pwb-carousel .slick-prev,.pwb-product-carousel .slick-prev{left:0}.pwb-carousel .slick-next,.pwb-product-carousel .slick-next{right:0}.pwb-carousel:hover .slick-next,.pwb-carousel:hover .slick-prev,.pwb-product-carousel:hover .slick-next,.pwb-product-carousel:hover .slick-prev{opacity:.8}.pwb-product-carousel .pwb-amount{display:block;width:100%;margin-bottom:12px}.pwb-carousel,.pwb-product-carousel{min-height:30px}.pwb-carousel .pwb-slick-slide,.pwb-product-carousel .pwb-slick-slide{display:none}.pwb-carousel.slick-initialized .pwb-slick-slide,.pwb-product-carousel.slick-initialized .pwb-slick-slide{display:block}.pwb-carousel .slick-list,.pwb-product-carousel .slick-list{opacity:0;position:absolute}.pwb-carousel.slick-initialized,.pwb-product-carousel.slick-initialized{min-height:none}.pwb-carousel.slick-initialized .slick-list,.pwb-product-carousel.slick-initialized .slick-list{opacity:1;position:relative;transition:opacity .2s ease-in}.pwb-carousel.slick-initialized .pwb-carousel-loader,.pwb-product-carousel.slick-initialized .pwb-carousel-loader{display:none!important;opacity:0!important}.pwb-carousel-loader{font-size:10px;margin:50px auto;text-indent:-9999em;width:30px;height:30px;border-radius:50%;background:#525252;background:-moz-linear-gradient(left,#525252 10%,rgba(82,82,82,0) 42%);background:-webkit-linear-gradient(left,#525252 10%,rgba(82,82,82,0) 42%);background:-o-linear-gradient(left,#525252 10%,rgba(82,82,82,0) 42%);background:-ms-linear-gradient(left,#525252 10%,rgba(82,82,82,0) 42%);background:linear-gradient(to right,#525252 10%,rgba(82,82,82,0) 42%);position:relative;-webkit-animation:PWBCarouselLoader 1.4s infinite linear;animation:PWBCarouselLoader 1.4s infinite linear;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}.pwb-carousel-loader:before{width:50%;height:50%;background:#525252;border-radius:100% 0 0 0;position:absolute;top:0;left:0;content:''}.pwb-carousel-loader:after{background:#fff;width:75%;height:75%;border-radius:50%;content:'';margin:auto;position:absolute;top:0;left:0;bottom:0;right:0}@-webkit-keyframes PWBCarouselLoader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes PWBCarouselLoader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pwb-brands-cols-outer{margin-left:-15px;margin-right:-15px}.pwb-all-brands .pwb-pagination-wrapper{margin-top:20px;padding-top:10px;border-top:1px solid #ededed;text-align:right}.pwb-all-brands .pwb-pagination{display:inline-block;margin-right:10px;background-color:#ededed;color:#333;text-align:center;padding:10px}.pwb-all-brands .pwb-brands-cols-outer:after{content:"";display:table;clear:both}.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3{padding:0 15px;width:20%;float:left}.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3>p:first-child{height:25px;overflow:hidden;font-size:14px}.pwb-az-listing-row{margin-bottom:20px}.pwb-az-listing-row-in{margin-left:-5px;margin-right:-5px}.pwb-az-listing-col{padding:5px}.pwb-az-listing-col>a{display:block;text-transform:uppercase;white-space:nowrap;overflow:hidden}.pwb-az-listing-title{border-bottom:1px solid #ddd;font-weight:bold;font-size:115%;text-transform:uppercase}.pwb-az-listing-header{margin-bottom:30px}.pwb-az-listing-header ul{margin:0;padding:0;list-style:none;margin-right:-2px;margin-left:-2px}.pwb-az-listing-header li{display:inline-block;float:left;width:25px;height:25px;margin:2px;line-height:25px;border:1px solid #ddd;text-align:center}.pwb-az-listing-header a{text-transform:uppercase}.pwb-filter-products input[type="checkbox"]{margin-right:10px}.pwb-filter-products li{margin-bottom:5px}.pwb-row:after{content:"";display:table;clear:both}.pwb-columns-2{width:50%}.pwb-columns-3{width:33.33333%}.pwb-columns-4{width:25%}.pwb-columns-5{width:20%}.pwb-columns-6{width:16.66666%}.pwb-columns{float:left}@media screen and (max-width:1000px){.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3{width:25%}}@media screen and (max-width:700px){.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3{width:50%}.pwb-columns-5,.pwb-columns-6{width:25%}}@media screen and (max-width:480px){.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3{width:100%;float:none}.pwb-all-brands .pwb-brands-cols-outer .pwb-brands-col3>p:first-child{height:auto}.pwb-columns-3,.pwb-columns-4,.pwb-columns-5,.pwb-columns-6{width:50%}}@media(min-width:576px){.pwb-az-listing-col{width:50%;float:left}}@media(min-width:992px){.pwb-az-listing-col{width:25%}}
|
assets/js/functions-admin.js
CHANGED
|
@@ -63,7 +63,7 @@ jQuery( function ( $ ) {
|
|
| 63 |
$('.pwb_brand_image_selected').remove();
|
| 64 |
}
|
| 65 |
});
|
| 66 |
-
}
|
| 67 |
|
| 68 |
function add_delete_link( $imageSelectorScope ){
|
| 69 |
|
|
@@ -126,6 +126,10 @@ jQuery( function ( $ ) {
|
|
| 126 |
|
| 127 |
/* ····························· Settings tab ····························· */
|
| 128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
// migrate brands
|
| 130 |
$('#wc_pwb_admin_tab_tools_migrate').on( 'change', function(){
|
| 131 |
|
| 63 |
$('.pwb_brand_image_selected').remove();
|
| 64 |
}
|
| 65 |
});
|
| 66 |
+
}
|
| 67 |
|
| 68 |
function add_delete_link( $imageSelectorScope ){
|
| 69 |
|
| 126 |
|
| 127 |
/* ····························· Settings tab ····························· */
|
| 128 |
|
| 129 |
+
if( $('.pwb-admin-selectwoo').length ){
|
| 130 |
+
$('.pwb-admin-selectwoo').selectWoo();
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
// migrate brands
|
| 134 |
$('#wc_pwb_admin_tab_tools_migrate').on( 'change', function(){
|
| 135 |
|
assets/js/functions-admin.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
jQuery(function(d){var b=null;function a(h,g){var i=g.parent();b=wp.media({frame:"post",state:"insert",multiple:false});b.on("insert",function(){var l=b.state().get("selection").first().toJSON();var m=l.id;var n=l.url;var k='<img src="'+n+'" width="90" height="90">';var j="";switch(h.target.id){case"pwb_brand_image_select":j=".taxonomy-pwb-brand #pwb_brand_image";break;case"pwb_brand_banner_select":j=".taxonomy-pwb-brand #pwb_brand_banner";break}d(j).val(m);d(j+"_result").remove();if(d(".pwb_brand_image_selected",i).length){d(".pwb_brand_image_selected span",i).html(k)}else{i.append('<div class="pwb_brand_image_selected"><span>'+k+"</span></div>")}c(i)});b.open()}d(".taxonomy-pwb-brand #pwb_brand_image_select, .taxonomy-pwb-brand #pwb_brand_banner_select").on("click",function(g){a(g,d(this))});d(".taxonomy-pwb-brand #pwb_brand_image_select, .taxonomy-pwb-brand #pwb_brand_banner_select").each(function(){c(d(this).parent())});if(d("body").hasClass("edit-tags-php")&&d("body").hasClass("taxonomy-pwb-brand")){jQuery(document).ajaxSuccess(function(h,i,g){if(typeof g!="undefined"&&g.data&&~g.data.indexOf("action=add-tag")&&~g.data.indexOf("taxonomy=pwb-brand")){d("#pwb_brand_image").val("");d("#pwb_brand_banner").val("");d(".pwb_brand_image_selected").remove()}})}function c(g){d(".pwb_brand_image_selected span",g).append('<a href="#" class="pwb_brand_image_selected_remove">X</a>');d(".pwb_brand_image_selected_remove",g).on("click",function(h){h.preventDefault();d(this).closest(".pwb_brand_image_selected").remove();d("#pwb_brand_image",g).val("");d("#pwb_brand_banner",g).val("")})}d(".taxonomy-pwb-brand table .column-featured > span").not("pwb-blocked").on("click",function(h){h.preventDefault();var i=d(this);i.addClass("pwb-blocked");if(i.hasClass("dashicons-star-filled")){i.removeClass("dashicons-star-filled");i.addClass("dashicons-star-empty")}else{i.removeClass("dashicons-star-empty");i.addClass("dashicons-star-filled")}var g={action:"pwb_admin_set_featured_brand",brand:i.data("brand-id")};d.post(ajax_object.ajax_url,g,function(j){i.removeClass("pwb-blocked");if(j.success){var k=d(".taxonomy-pwb-brand .pwb-featured-count > span");if(j.data.direction=="up"){k.html(parseInt(k.text())+1)}else{k.html(parseInt(k.text())-1)}}else{alert(j.data.error_msg)}})});d(".taxonomy-pwb-brand #pwb-first-featured-brands").on("change",function(h){h.preventDefault();d("#screen-options-apply").replaceWith('<img src="'+ajax_object.site_url+'/wp-admin/images/loading.gif">');var g={action:"pwb_admin_save_screen_settings",new_val:d(this).is(":checked")};d.post(ajax_object.ajax_url,g,function(i){location.reload()})});d(".pwb-edit-brands-bottom > span").on("click",function(g){g.preventDefault();d(".taxonomy-pwb-brand #col-left").toggleClass("pwb-force-full-width");d(".taxonomy-pwb-brand #col-right").toggleClass("pwb-force-full-width")});d("#wc_pwb_admin_tab_tools_migrate").on("change",function(){if(d(this).val()!="-"){if(confirm(ajax_object.translations.migrate_notice)){d("html").append('<div class="pwb-modal"><div class="pwb-modal-inner"></div></div>');d(".pwb-modal-inner").html("<p>"+ajax_object.translations.migrating+"</p>");var g={action:"pwb_admin_migrate_brands",from:d(this).val()};d.post(ajax_object.ajax_url,g,function(h){setTimeout(function(){location.href=ajax_object.brands_url},1000)})}else{}}d(this).val("-")});d("#wc_pwb_admin_tab_tools_dummy_data").on("change",function(){if(d(this).val()!="-"){if(confirm(ajax_object.translations.dummy_data_notice)){d("html").append('<div class="pwb-modal"><div class="pwb-modal-inner"></div></div>');d(".pwb-modal-inner").html("<p>"+ajax_object.translations.dummy_data+"</p>");var g={action:"pwb_admin_dummy_data",from:d(this).val()};d.post(ajax_object.ajax_url,g,function(h){setTimeout(function(){location.href=ajax_object.brands_url},1000)})}else{}}d(this).val("-")});var f=d("#wc_pwb_admin_tab_tools_system_status").siblings("p");f.addClass("button wc_pwb_admin_tab_status_btn");d(".wc_pwb_admin_tab_status_btn").on("click",function(h){h.preventDefault();if(!d("#wc_pwb_admin_status_result").length){$systemStatusTextarea=d("#wc_pwb_admin_tab_tools_system_status");d('<pre id="wc_pwb_admin_status_result"></pre>').insertAfter($systemStatusTextarea);jQuery("#wc_pwb_admin_status_result").click(function(l){l.preventDefault();var j=d(this)[0];if(d.browser.msie){var i=document.body.createTextRange();i.moveToElementText(j);i.select()}else{if(d.browser.mozilla||d.browser.opera){var k=window.getSelection();var i=document.createRange();i.selectNodeContents(j);k.removeAllRanges();k.addRange(i)}else{if(d.browser.safari){var k=window.getSelection();k.setBaseAndExtent(j,0,j,1)}}}})}d("#wc_pwb_admin_status_result").html('<img src="'+ajax_object.site_url+'/wp-admin/images/spinner.gif" alt="Loading" height="20" width="20">');d("#wc_pwb_admin_status_result").show();var g={action:"pwb_system_status"};jQuery.post(ajaxurl,g,function(i){d("#wc_pwb_admin_status_result").html(i);d("#wc_pwb_admin_status_result").trigger("click")})});d(document).on("click",".pwb-notice-dismissible .notice-dismiss",function(i){i.preventDefault();var g=d(this).closest(".pwb-notice-dismissible").data("notice");var h={action:"dismiss_pwb_notice",notice_name:g};jQuery.post(ajaxurl,h,function(j){})});e();jQuery(document).bind("widget-added",function(h,g){e(g)});jQuery(document).on("widget-updated",function(h,g){e(g)});function e(g){$currentWidget=d(".pwb-select-display-as");if(g!=undefined){$currentWidget=d(".pwb-select-display-as",g)}$currentWidget.on("change",function(){if(d(this).val()=="brand_logo"){d(this).parent().siblings(".pwb-display-as-logo").addClass("show")}else{d(this).parent().siblings(".pwb-display-as-logo").removeClass("show")}})}d("button.pwb-brands-export").on("click",function(i){i.preventDefault();var h=d(this);h.addClass("pwb-loading-overlay");h.prop("disabled",true);var g={action:"pwb_brands_export"};d.post(ajax_object.ajax_url,g,function(j){if(j.success){h.removeClass("pwb-loading-overlay");h.prop("disabled",false);d("#pwb-download-export-file").remove();var k=document.createElement("a");k.download="brands.json";k.id="pwb-download-export-file";k.href=j.data.export_file_url;d("body").append(k);k.click()}})});d("button.pwb-brands-import").on("click",function(g){g.preventDefault();d("input.pwb-brands-import-file").trigger("click")});d("input.pwb-brands-import-file").on("change",function(j){j.preventDefault();var i=d("button.pwb-brands-import");i.addClass("pwb-loading-overlay");i.prop("disabled",true);var h=d(this)[0].files[0];var g=new FormData();g.append("action","pwb_brands_import");g.append("file",h);d.ajax({url:ajax_object.ajax_url,type:"post",cache:false,dataType:"json",contentType:false,processData:false,data:g,success:function(k){if(k.success){i.removeClass("pwb-loading-overlay");location.reload()}else{alert("Importer error")}}})})});
|
| 1 |
+
jQuery(function(d){var b=null;function a(h,g){var i=g.parent();b=wp.media({frame:"post",state:"insert",multiple:false});b.on("insert",function(){var l=b.state().get("selection").first().toJSON();var m=l.id;var n=l.url;var k='<img src="'+n+'" width="90" height="90">';var j="";switch(h.target.id){case"pwb_brand_image_select":j=".taxonomy-pwb-brand #pwb_brand_image";break;case"pwb_brand_banner_select":j=".taxonomy-pwb-brand #pwb_brand_banner";break}d(j).val(m);d(j+"_result").remove();if(d(".pwb_brand_image_selected",i).length){d(".pwb_brand_image_selected span",i).html(k)}else{i.append('<div class="pwb_brand_image_selected"><span>'+k+"</span></div>")}c(i)});b.open()}d(".taxonomy-pwb-brand #pwb_brand_image_select, .taxonomy-pwb-brand #pwb_brand_banner_select").on("click",function(g){a(g,d(this))});d(".taxonomy-pwb-brand #pwb_brand_image_select, .taxonomy-pwb-brand #pwb_brand_banner_select").each(function(){c(d(this).parent())});if(d("body").hasClass("edit-tags-php")&&d("body").hasClass("taxonomy-pwb-brand")){jQuery(document).ajaxSuccess(function(h,i,g){if(typeof g!="undefined"&&g.data&&~g.data.indexOf("action=add-tag")&&~g.data.indexOf("taxonomy=pwb-brand")){d("#pwb_brand_image").val("");d("#pwb_brand_banner").val("");d(".pwb_brand_image_selected").remove()}})}function c(g){d(".pwb_brand_image_selected span",g).append('<a href="#" class="pwb_brand_image_selected_remove">X</a>');d(".pwb_brand_image_selected_remove",g).on("click",function(h){h.preventDefault();d(this).closest(".pwb_brand_image_selected").remove();d("#pwb_brand_image",g).val("");d("#pwb_brand_banner",g).val("")})}d(".taxonomy-pwb-brand table .column-featured > span").not("pwb-blocked").on("click",function(h){h.preventDefault();var i=d(this);i.addClass("pwb-blocked");if(i.hasClass("dashicons-star-filled")){i.removeClass("dashicons-star-filled");i.addClass("dashicons-star-empty")}else{i.removeClass("dashicons-star-empty");i.addClass("dashicons-star-filled")}var g={action:"pwb_admin_set_featured_brand",brand:i.data("brand-id")};d.post(ajax_object.ajax_url,g,function(j){i.removeClass("pwb-blocked");if(j.success){var k=d(".taxonomy-pwb-brand .pwb-featured-count > span");if(j.data.direction=="up"){k.html(parseInt(k.text())+1)}else{k.html(parseInt(k.text())-1)}}else{alert(j.data.error_msg)}})});d(".taxonomy-pwb-brand #pwb-first-featured-brands").on("change",function(h){h.preventDefault();d("#screen-options-apply").replaceWith('<img src="'+ajax_object.site_url+'/wp-admin/images/loading.gif">');var g={action:"pwb_admin_save_screen_settings",new_val:d(this).is(":checked")};d.post(ajax_object.ajax_url,g,function(i){location.reload()})});d(".pwb-edit-brands-bottom > span").on("click",function(g){g.preventDefault();d(".taxonomy-pwb-brand #col-left").toggleClass("pwb-force-full-width");d(".taxonomy-pwb-brand #col-right").toggleClass("pwb-force-full-width")});if(d(".pwb-admin-selectwoo").length){d(".pwb-admin-selectwoo").selectWoo()}d("#wc_pwb_admin_tab_tools_migrate").on("change",function(){if(d(this).val()!="-"){if(confirm(ajax_object.translations.migrate_notice)){d("html").append('<div class="pwb-modal"><div class="pwb-modal-inner"></div></div>');d(".pwb-modal-inner").html("<p>"+ajax_object.translations.migrating+"</p>");var g={action:"pwb_admin_migrate_brands",from:d(this).val()};d.post(ajax_object.ajax_url,g,function(h){setTimeout(function(){location.href=ajax_object.brands_url},1000)})}else{}}d(this).val("-")});d("#wc_pwb_admin_tab_tools_dummy_data").on("change",function(){if(d(this).val()!="-"){if(confirm(ajax_object.translations.dummy_data_notice)){d("html").append('<div class="pwb-modal"><div class="pwb-modal-inner"></div></div>');d(".pwb-modal-inner").html("<p>"+ajax_object.translations.dummy_data+"</p>");var g={action:"pwb_admin_dummy_data",from:d(this).val()};d.post(ajax_object.ajax_url,g,function(h){setTimeout(function(){location.href=ajax_object.brands_url},1000)})}else{}}d(this).val("-")});var f=d("#wc_pwb_admin_tab_tools_system_status").siblings("p");f.addClass("button wc_pwb_admin_tab_status_btn");d(".wc_pwb_admin_tab_status_btn").on("click",function(h){h.preventDefault();if(!d("#wc_pwb_admin_status_result").length){$systemStatusTextarea=d("#wc_pwb_admin_tab_tools_system_status");d('<pre id="wc_pwb_admin_status_result"></pre>').insertAfter($systemStatusTextarea);jQuery("#wc_pwb_admin_status_result").click(function(l){l.preventDefault();var j=d(this)[0];if(d.browser.msie){var i=document.body.createTextRange();i.moveToElementText(j);i.select()}else{if(d.browser.mozilla||d.browser.opera){var k=window.getSelection();var i=document.createRange();i.selectNodeContents(j);k.removeAllRanges();k.addRange(i)}else{if(d.browser.safari){var k=window.getSelection();k.setBaseAndExtent(j,0,j,1)}}}})}d("#wc_pwb_admin_status_result").html('<img src="'+ajax_object.site_url+'/wp-admin/images/spinner.gif" alt="Loading" height="20" width="20">');d("#wc_pwb_admin_status_result").show();var g={action:"pwb_system_status"};jQuery.post(ajaxurl,g,function(i){d("#wc_pwb_admin_status_result").html(i);d("#wc_pwb_admin_status_result").trigger("click")})});d(document).on("click",".pwb-notice-dismissible .notice-dismiss",function(i){i.preventDefault();var g=d(this).closest(".pwb-notice-dismissible").data("notice");var h={action:"dismiss_pwb_notice",notice_name:g};jQuery.post(ajaxurl,h,function(j){})});e();jQuery(document).bind("widget-added",function(h,g){e(g)});jQuery(document).on("widget-updated",function(h,g){e(g)});function e(g){$currentWidget=d(".pwb-select-display-as");if(g!=undefined){$currentWidget=d(".pwb-select-display-as",g)}$currentWidget.on("change",function(){if(d(this).val()=="brand_logo"){d(this).parent().siblings(".pwb-display-as-logo").addClass("show")}else{d(this).parent().siblings(".pwb-display-as-logo").removeClass("show")}})}d("button.pwb-brands-export").on("click",function(i){i.preventDefault();var h=d(this);h.addClass("pwb-loading-overlay");h.prop("disabled",true);var g={action:"pwb_brands_export"};d.post(ajax_object.ajax_url,g,function(j){if(j.success){h.removeClass("pwb-loading-overlay");h.prop("disabled",false);d("#pwb-download-export-file").remove();var k=document.createElement("a");k.download="brands.json";k.id="pwb-download-export-file";k.href=j.data.export_file_url;d("body").append(k);k.click()}})});d("button.pwb-brands-import").on("click",function(g){g.preventDefault();d("input.pwb-brands-import-file").trigger("click")});d("input.pwb-brands-import-file").on("change",function(j){j.preventDefault();var i=d("button.pwb-brands-import");i.addClass("pwb-loading-overlay");i.prop("disabled",true);var h=d(this)[0].files[0];var g=new FormData();g.append("action","pwb_brands_import");g.append("file",h);d.ajax({url:ajax_object.ajax_url,type:"post",cache:false,dataType:"json",contentType:false,processData:false,data:g,success:function(k){if(k.success){i.removeClass("pwb-loading-overlay");location.reload()}else{alert("Importer error")}}})})});
|
classes/admin/class-pwb-admin-tab.php
CHANGED
|
@@ -65,6 +65,10 @@
|
|
| 65 |
foreach( $available_image_sizes as $image_size ) $available_image_sizes_adapted[$image_size] = $image_size;
|
| 66 |
$available_image_sizes_adapted['full'] = 'full';
|
| 67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
$settings = array(
|
| 69 |
'section_title' => array(
|
| 70 |
'name' => __( 'Brands settings', 'perfect-woocommerce-brands' ),
|
|
@@ -93,6 +97,19 @@
|
|
| 93 |
'no' => __( 'No, hide description', 'perfect-woocommerce-brands' )
|
| 94 |
)
|
| 95 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
'brand_single_product_tab' => array(
|
| 97 |
'name' => __( 'Single product tab', 'perfect-woocommerce-brands' ),
|
| 98 |
'type' => 'checkbox',
|
|
@@ -150,11 +167,12 @@
|
|
| 150 |
)
|
| 151 |
),
|
| 152 |
'brands_page_id' => array(
|
| 153 |
-
'name' => __( 'Brands page
|
| 154 |
-
'type' => '
|
| 155 |
-
'class' => 'pwb-admin-tab-field',
|
| 156 |
-
'desc' => __( 'For linking breadcrumbs', 'perfect-woocommerce-brands' ),
|
| 157 |
-
'id' => 'wc_pwb_admin_tab_brands_page_id'
|
|
|
|
| 158 |
),
|
| 159 |
'section_end' => array(
|
| 160 |
'type' => 'sectionend',
|
| 65 |
foreach( $available_image_sizes as $image_size ) $available_image_sizes_adapted[$image_size] = $image_size;
|
| 66 |
$available_image_sizes_adapted['full'] = 'full';
|
| 67 |
|
| 68 |
+
$pages_select_adapted = array( '-' => '-' );
|
| 69 |
+
$pages_select = get_pages();
|
| 70 |
+
foreach( $pages_select as $page ) $pages_select_adapted[$page->ID] = $page->post_title;
|
| 71 |
+
|
| 72 |
$settings = array(
|
| 73 |
'section_title' => array(
|
| 74 |
'name' => __( 'Brands settings', 'perfect-woocommerce-brands' ),
|
| 97 |
'no' => __( 'No, hide description', 'perfect-woocommerce-brands' )
|
| 98 |
)
|
| 99 |
),
|
| 100 |
+
'brand_banner' => array(
|
| 101 |
+
'name' => __( 'Show brand banner', 'perfect-woocommerce-brands' ),
|
| 102 |
+
'type' => 'select',
|
| 103 |
+
'class' => 'pwb-admin-tab-field',
|
| 104 |
+
'default' => 'yes',
|
| 105 |
+
'desc' => __( 'Show brand banner (if is set) on brand archive page', 'perfect-woocommerce-brands' ),
|
| 106 |
+
'id' => 'wc_pwb_admin_tab_brand_banner',
|
| 107 |
+
'options' => array(
|
| 108 |
+
'yes' => __( 'Yes, before product loop', 'perfect-woocommerce-brands' ),
|
| 109 |
+
'yes_after_loop' => __( 'Yes, after product loop', 'perfect-woocommerce-brands' ),
|
| 110 |
+
'no' => __( 'No, hide banner', 'perfect-woocommerce-brands' )
|
| 111 |
+
)
|
| 112 |
+
),
|
| 113 |
'brand_single_product_tab' => array(
|
| 114 |
'name' => __( 'Single product tab', 'perfect-woocommerce-brands' ),
|
| 115 |
'type' => 'checkbox',
|
| 167 |
)
|
| 168 |
),
|
| 169 |
'brands_page_id' => array(
|
| 170 |
+
'name' => __( 'Brands page', 'perfect-woocommerce-brands' ),
|
| 171 |
+
'type' => 'select',
|
| 172 |
+
'class' => 'pwb-admin-tab-field pwb-admin-selectwoo',
|
| 173 |
+
'desc' => '<br>'.__( 'For linking breadcrumbs', 'perfect-woocommerce-brands' ),
|
| 174 |
+
'id' => 'wc_pwb_admin_tab_brands_page_id',
|
| 175 |
+
'options' => $pages_select_adapted
|
| 176 |
),
|
| 177 |
'section_end' => array(
|
| 178 |
'type' => 'sectionend',
|
classes/class-perfect-woocommerce-brands.php
CHANGED
|
@@ -37,6 +37,77 @@ class Perfect_Woocommerce_Brands{
|
|
| 37 |
add_action( 'woocommerce_product_duplicate', array( $this, 'product_duplicate_save' ), 10, 2 );
|
| 38 |
|
| 39 |
add_filter( 'woocommerce_get_breadcrumb', array( $this, 'breadcrumbs' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
}
|
| 41 |
|
| 42 |
public function review_notice(){
|
|
@@ -250,11 +321,32 @@ class Perfect_Woocommerce_Brands{
|
|
| 250 |
|
| 251 |
if( is_tax('pwb-brand') ){
|
| 252 |
|
| 253 |
-
$
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 258 |
}
|
| 259 |
|
| 260 |
}
|
|
@@ -640,9 +732,10 @@ class Perfect_Woocommerce_Brands{
|
|
| 640 |
'public' => true,
|
| 641 |
'show_admin_column' => true,
|
| 642 |
'rewrite' => array(
|
| 643 |
-
|
| 644 |
-
|
| 645 |
-
|
|
|
|
| 646 |
)
|
| 647 |
);
|
| 648 |
|
|
@@ -708,39 +801,51 @@ class Perfect_Woocommerce_Brands{
|
|
| 708 |
|
| 709 |
}
|
| 710 |
|
| 711 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 712 |
$queried_object = get_queried_object();
|
| 713 |
|
| 714 |
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 715 |
-
$show_desc_class = ( !$show_desc || $show_desc == 'yes' ) ? 'before-loop' : 'after-loop';
|
| 716 |
|
| 717 |
$brand_banner = get_term_meta( $queried_object->term_id, 'pwb_brand_banner', true );
|
| 718 |
$brand_banner_link = get_term_meta( $queried_object->term_id, 'pwb_brand_banner_link', true );
|
| 719 |
-
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 720 |
|
| 721 |
if( $brand_banner!='' || $queried_object->description != '' && $show_desc !== 'no' ){
|
| 722 |
echo '<div class="pwb-brand-banner-cont '.$show_desc_class.'">';
|
| 723 |
-
|
| 724 |
-
|
| 725 |
-
//pwb-brand archive
|
| 726 |
-
if( $brand_banner!='' ){
|
| 727 |
-
echo '<div class="pwb-brand-banner pwb-clearfix">';
|
| 728 |
-
if($brand_banner_link!=''){
|
| 729 |
-
echo '<a href="'.site_url($brand_banner_link).'">'.wp_get_attachment_image ( $brand_banner, 'full', false ).'</a>';
|
| 730 |
-
}else{
|
| 731 |
-
echo wp_get_attachment_image ( $brand_banner, 'full', false );
|
| 732 |
-
}
|
| 733 |
-
echo '</div>';
|
| 734 |
-
}
|
| 735 |
-
|
| 736 |
-
//show brand description
|
| 737 |
-
if( $queried_object->description != '' && $show_desc !== 'no' ){
|
| 738 |
-
echo '<div class="pwb-brand-description">';
|
| 739 |
-
echo do_shortcode( wpautop( $queried_object->description ) );
|
| 740 |
-
echo '</div>';
|
| 741 |
-
}
|
| 742 |
-
|
| 743 |
-
if( $brand_banner!='' || $queried_object->description != '' && $show_desc !== 'no' ){
|
| 744 |
echo '</div>';
|
| 745 |
}
|
| 746 |
|
|
@@ -762,7 +867,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 762 |
public function breadcrumbs( $crumbs ) {
|
| 763 |
if( is_tax('pwb-brand') ){
|
| 764 |
$brands_page_id = get_option('wc_pwb_admin_tab_brands_page_id');
|
| 765 |
-
if( !empty( $brands_page_id ) && isset( $crumbs[count($crumbs)-2][1] ) ){
|
| 766 |
$crumbs[count($crumbs)-2][1] = get_page_link( $brands_page_id );
|
| 767 |
}
|
| 768 |
}
|
| 37 |
add_action( 'woocommerce_product_duplicate', array( $this, 'product_duplicate_save' ), 10, 2 );
|
| 38 |
|
| 39 |
add_filter( 'woocommerce_get_breadcrumb', array( $this, 'breadcrumbs' ) );
|
| 40 |
+
|
| 41 |
+
add_filter( 'shortcode_atts_products', array( $this, 'extend_products_shortcode_atts' ), 10, 4 );
|
| 42 |
+
add_filter( 'woocommerce_shortcode_products_query', array( $this, 'extend_products_shortcode' ), 10, 3 );
|
| 43 |
+
|
| 44 |
+
add_filter( 'manage_edit-product_sortable_columns', array( $this, 'brands_column_sortable' ), 90 );
|
| 45 |
+
add_action( 'posts_clauses', array( $this, 'brands_column_sortable_posts' ), 10, 2 );
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
public function brands_column_sortable_posts( $clauses, $wp_query ) {
|
| 49 |
+
global $wpdb;
|
| 50 |
+
|
| 51 |
+
if ( isset( $wp_query->query['orderby'] ) && 'taxonomy-pwb-brand' == $wp_query->query['orderby'] ) {
|
| 52 |
+
|
| 53 |
+
$clauses['join'] .= "
|
| 54 |
+
LEFT OUTER JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.ID={$wpdb->term_relationships}.object_id
|
| 55 |
+
LEFT OUTER JOIN {$wpdb->term_taxonomy} USING (term_taxonomy_id)
|
| 56 |
+
LEFT OUTER JOIN {$wpdb->terms} USING (term_id)";
|
| 57 |
+
|
| 58 |
+
$clauses['where'] .= " AND (taxonomy = 'pwb-brand' OR taxonomy IS NULL)";
|
| 59 |
+
$clauses['groupby'] = "object_id";
|
| 60 |
+
$clauses['orderby'] = "GROUP_CONCAT({$wpdb->terms}.name ORDER BY name ASC) ";
|
| 61 |
+
$clauses['orderby'] .= ( 'ASC' == strtoupper( $wp_query->get('order') ) ) ? 'ASC' : 'DESC';
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
return $clauses;
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
public function brands_column_sortable( $columns ){
|
| 68 |
+
$columns['taxonomy-pwb-brand'] = 'taxonomy-pwb-brand';
|
| 69 |
+
return $columns;
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
public function extend_products_shortcode_atts( $out, $pairs, $atts, $shortcode ){
|
| 73 |
+
if( !empty( $atts['brands'] ) ) $out['brands'] = explode( ',', $atts['brands'] );
|
| 74 |
+
return $out;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
public function extend_products_shortcode( $query_args, $atts, $loop_name ){
|
| 78 |
+
|
| 79 |
+
if( !empty( $atts['brands'] ) ){
|
| 80 |
+
global $wpdb;
|
| 81 |
+
|
| 82 |
+
$terms = $atts['brands'];
|
| 83 |
+
$terms_count = count( $atts['brands'] );
|
| 84 |
+
$terms_adapted = '';
|
| 85 |
+
|
| 86 |
+
$terms_i = 0;
|
| 87 |
+
foreach( $terms as $brand ){
|
| 88 |
+
$terms_adapted .= '"'.$brand.'"';
|
| 89 |
+
$terms_i++;
|
| 90 |
+
if( $terms_i < $terms_count ) $terms_adapted .= ',';
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
$ids = $wpdb->get_col( "
|
| 94 |
+
SELECT DISTINCT tr.object_id
|
| 95 |
+
FROM {$wpdb->prefix}term_relationships as tr
|
| 96 |
+
INNER JOIN {$wpdb->prefix}term_taxonomy as tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
|
| 97 |
+
INNER JOIN {$wpdb->prefix}terms as t ON tt.term_id = t.term_id
|
| 98 |
+
WHERE tt.taxonomy LIKE 'pwb_brand' AND t.slug IN ($terms_adapted)
|
| 99 |
+
" );
|
| 100 |
+
|
| 101 |
+
if ( ! empty( $ids ) ) {
|
| 102 |
+
if ( 1 === count( $ids ) ) {
|
| 103 |
+
$query_args['p'] = $ids[0];
|
| 104 |
+
} else {
|
| 105 |
+
$query_args['post__in'] = $ids;
|
| 106 |
+
}
|
| 107 |
+
}
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
return $query_args;
|
| 111 |
}
|
| 112 |
|
| 113 |
public function review_notice(){
|
| 321 |
|
| 322 |
if( is_tax('pwb-brand') ){
|
| 323 |
|
| 324 |
+
$show_banner = get_option('wc_pwb_admin_tab_brand_banner');
|
| 325 |
+
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 326 |
+
|
| 327 |
+
if( (!$show_banner || $show_banner == 'yes') && (!$show_desc || $show_desc == 'yes') ){
|
| 328 |
+
//show banner and description before loop
|
| 329 |
+
add_action( 'woocommerce_archive_description', array( $this, 'print_brand_banner_and_desc' ), 15);
|
| 330 |
+
|
| 331 |
+
}elseif( $show_banner == 'yes_after_loop' && $show_desc == 'yes_after_loop' ){
|
| 332 |
+
//show banner and description after loop
|
| 333 |
+
add_action( 'woocommerce_after_main_content', array( $this, 'print_brand_banner_and_desc' ), 9);
|
| 334 |
+
|
| 335 |
+
}else{
|
| 336 |
+
//show banner and description independently
|
| 337 |
+
|
| 338 |
+
if( !$show_banner || $show_banner == 'yes' ){
|
| 339 |
+
add_action( 'woocommerce_archive_description', array( $this, 'print_brand_banner' ), 15);
|
| 340 |
+
}elseif( $show_banner == 'yes_after_loop' ){
|
| 341 |
+
add_action( 'woocommerce_after_main_content', array( $this, 'print_brand_banner' ), 9);
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
if( !$show_desc || $show_desc == 'yes' ){
|
| 345 |
+
add_action( 'woocommerce_archive_description', array( $this, 'print_brand_desc' ), 15);
|
| 346 |
+
}elseif( $show_desc == 'yes_after_loop' ){
|
| 347 |
+
add_action( 'woocommerce_after_main_content', array( $this, 'print_brand_desc' ), 9);
|
| 348 |
+
}
|
| 349 |
+
|
| 350 |
}
|
| 351 |
|
| 352 |
}
|
| 732 |
'public' => true,
|
| 733 |
'show_admin_column' => true,
|
| 734 |
'rewrite' => array(
|
| 735 |
+
'slug' => apply_filters( 'pwb_taxonomy_rewrite', $new_slug ),
|
| 736 |
+
'hierarchical'=> true,
|
| 737 |
+
'with_front' => apply_filters( 'pwb_taxonomy_with_front', true ),
|
| 738 |
+
'ep_mask' => EP_PERMALINK
|
| 739 |
)
|
| 740 |
);
|
| 741 |
|
| 801 |
|
| 802 |
}
|
| 803 |
|
| 804 |
+
public function print_brand_banner(){
|
| 805 |
+
$queried_object = get_queried_object();
|
| 806 |
+
$brand_banner = get_term_meta( $queried_object->term_id, 'pwb_brand_banner', true );
|
| 807 |
+
$brand_banner_link = get_term_meta( $queried_object->term_id, 'pwb_brand_banner_link', true );
|
| 808 |
+
$show_banner = get_option('wc_pwb_admin_tab_brand_banner');
|
| 809 |
+
$show_banner = get_option('wc_pwb_admin_tab_brand_banner');
|
| 810 |
+
$show_banner_class = ( !$show_banner || $show_banner == 'yes' ) ? 'pwb-before-loop' : 'pwb-after-loop';
|
| 811 |
+
|
| 812 |
+
if( $brand_banner!='' ){
|
| 813 |
+
echo '<div class="pwb-brand-banner pwb-clearfix '.$show_banner_class.'">';
|
| 814 |
+
if( $brand_banner_link!='' ){
|
| 815 |
+
echo '<a href="'.site_url($brand_banner_link).'">'.wp_get_attachment_image ( $brand_banner, 'full', false ).'</a>';
|
| 816 |
+
}else{
|
| 817 |
+
echo wp_get_attachment_image ( $brand_banner, 'full', false );
|
| 818 |
+
}
|
| 819 |
+
echo '</div>';
|
| 820 |
+
}
|
| 821 |
+
}
|
| 822 |
+
|
| 823 |
+
public function print_brand_desc(){
|
| 824 |
+
$queried_object = get_queried_object();
|
| 825 |
+
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 826 |
+
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 827 |
+
$show_desc_class = ( !$show_desc || $show_desc == 'yes' ) ? 'pwb-before-loop' : 'pwb-after-loop';
|
| 828 |
+
|
| 829 |
+
if( $queried_object->description != '' && $show_desc !== 'no' ){
|
| 830 |
+
echo '<div class="pwb-brand-description '.$show_desc_class.'">';
|
| 831 |
+
echo do_shortcode( wpautop( $queried_object->description ) );
|
| 832 |
+
echo '</div>';
|
| 833 |
+
}
|
| 834 |
+
}
|
| 835 |
+
|
| 836 |
+
public function print_brand_banner_and_desc(){
|
| 837 |
$queried_object = get_queried_object();
|
| 838 |
|
| 839 |
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 840 |
+
$show_desc_class = ( !$show_desc || $show_desc == 'yes' ) ? 'pwb-before-loop' : 'pwb-after-loop';
|
| 841 |
|
| 842 |
$brand_banner = get_term_meta( $queried_object->term_id, 'pwb_brand_banner', true );
|
| 843 |
$brand_banner_link = get_term_meta( $queried_object->term_id, 'pwb_brand_banner_link', true );
|
|
|
|
| 844 |
|
| 845 |
if( $brand_banner!='' || $queried_object->description != '' && $show_desc !== 'no' ){
|
| 846 |
echo '<div class="pwb-brand-banner-cont '.$show_desc_class.'">';
|
| 847 |
+
$this->print_brand_banner();
|
| 848 |
+
$this->print_brand_desc();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 849 |
echo '</div>';
|
| 850 |
}
|
| 851 |
|
| 867 |
public function breadcrumbs( $crumbs ) {
|
| 868 |
if( is_tax('pwb-brand') ){
|
| 869 |
$brands_page_id = get_option('wc_pwb_admin_tab_brands_page_id');
|
| 870 |
+
if( !empty( $brands_page_id ) && $brands_page_id != '-' && isset( $crumbs[count($crumbs)-2][1] ) ){
|
| 871 |
$crumbs[count($crumbs)-2][1] = get_page_link( $brands_page_id );
|
| 872 |
}
|
| 873 |
}
|
classes/shortcodes/class-pwb-az-listing.php
CHANGED
|
@@ -49,7 +49,8 @@ class PWB_AZ_Listing_Shortcode{
|
|
| 49 |
<div class="pwb-az-listing-row-in">
|
| 50 |
<?php
|
| 51 |
foreach( $brand_group as $brand ):
|
| 52 |
-
|
|
|
|
| 53 |
?>
|
| 54 |
<div class="pwb-az-listing-col">
|
| 55 |
<a href="<?php echo get_term_link($brand->term_id);?>"><?php echo $brand->name;?></a>
|
| 49 |
<div class="pwb-az-listing-row-in">
|
| 50 |
<?php
|
| 51 |
foreach( $brand_group as $brand ):
|
| 52 |
+
$has_products = self::has_products( $brand->term_id );
|
| 53 |
+
if( !empty( $has_products ) ):
|
| 54 |
?>
|
| 55 |
<div class="pwb-az-listing-col">
|
| 56 |
<a href="<?php echo get_term_link($brand->term_id);?>"><?php echo $brand->name;?></a>
|
lang/perfect-woocommerce-brands-ca.mo
ADDED
|
Binary file
|
lang/perfect-woocommerce-brands-ca.po
ADDED
|
@@ -0,0 +1,722 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# SOME DESCRIPTIVE TITLE.
|
| 2 |
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
| 3 |
+
# This file is distributed under the same license as the PACKAGE package.
|
| 4 |
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
| 5 |
+
#
|
| 6 |
+
msgid ""
|
| 7 |
+
msgstr ""
|
| 8 |
+
"Project-Id-Version: \n"
|
| 9 |
+
"Report-Msgid-Bugs-To: \n"
|
| 10 |
+
"POT-Creation-Date: 2018-11-29 00:15+0100\n"
|
| 11 |
+
"PO-Revision-Date: 2018-11-29 00:19+0100\n"
|
| 12 |
+
"Last-Translator: Lluís Martí <lluis@manies.cat>\n"
|
| 13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
| 14 |
+
"Language: ca \n"
|
| 15 |
+
"MIME-Version: 1.0\n"
|
| 16 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
| 17 |
+
"Content-Transfer-Encoding: 8bit\n"
|
| 18 |
+
"Plural-Forms: \n"
|
| 19 |
+
"X-Generator: Eazy Po 0.9.5.3\n"
|
| 20 |
+
|
| 21 |
+
#: main.php:106
|
| 22 |
+
msgid ""
|
| 23 |
+
"Perfect WooCommerce Brands needs WooCommerce to run. Please, install and "
|
| 24 |
+
"active WooCommerce plugin."
|
| 25 |
+
msgstr ""
|
| 26 |
+
"Perfect WooCommerce Brands necessita WooCommerce per a funcionar. Si us plau, "
|
| 27 |
+
"instal·la i activa WooCommerce."
|
| 28 |
+
|
| 29 |
+
#: classes/class-perfect-woocommerce-brands.php:52
|
| 30 |
+
msgid ""
|
| 31 |
+
"We know that you´re in love with Perfect WooCommerce Brands, you can help us "
|
| 32 |
+
"making it a bit better. Thanks a lot!"
|
| 33 |
+
msgstr ""
|
| 34 |
+
"Sabem que Perfect WooCommerce Brands t'encanta, pots ajudar-nos a "
|
| 35 |
+
"fer-lo una mica millor. ¡Moltes gràcies!"
|
| 36 |
+
|
| 37 |
+
#: classes/class-perfect-woocommerce-brands.php:54
|
| 38 |
+
msgid ""
|
| 39 |
+
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 40 |
+
"reviews/?rate=5#new-post\" target=\"_blank\">Leave a review</a>"
|
| 41 |
+
msgstr ""
|
| 42 |
+
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 43 |
+
"reviews/?rate=5#new-post\" target=\"_blank\">Deixar una review</a>"
|
| 44 |
+
|
| 45 |
+
#: classes/class-perfect-woocommerce-brands.php:55
|
| 46 |
+
msgid ""
|
| 47 |
+
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 48 |
+
"woocommerce-brands\" target=\"_blank\">Translate the plugin</a>"
|
| 49 |
+
msgstr ""
|
| 50 |
+
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 51 |
+
"woocommerce-brands\" target=\"_blank\">Traduir el plugin</a>"
|
| 52 |
+
|
| 53 |
+
#: classes/class-perfect-woocommerce-brands.php:56
|
| 54 |
+
msgid ""
|
| 55 |
+
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 56 |
+
"\"_blank\">View on GitHub</a>"
|
| 57 |
+
msgstr ""
|
| 58 |
+
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 59 |
+
"\"_blank\">Veure a GitHub</a>"
|
| 60 |
+
|
| 61 |
+
#: classes/class-perfect-woocommerce-brands.php:79
|
| 62 |
+
msgid "Settings"
|
| 63 |
+
msgstr "Ajustaments"
|
| 64 |
+
|
| 65 |
+
#: classes/class-perfect-woocommerce-brands.php:280
|
| 66 |
+
msgid "PWB Product carousel"
|
| 67 |
+
msgstr "PWB Carrussel de productes"
|
| 68 |
+
|
| 69 |
+
#: classes/class-perfect-woocommerce-brands.php:281
|
| 70 |
+
msgid "Product carousel by brand or by category"
|
| 71 |
+
msgstr "Carrussel de productes per marca o categoria"
|
| 72 |
+
|
| 73 |
+
#: classes/class-perfect-woocommerce-brands.php:289
|
| 74 |
+
#: classes/class-perfect-woocommerce-brands.php:611
|
| 75 |
+
#: classes/class-pwb-product-tab.php:18 classes/class-pwb-product-tab.php:35
|
| 76 |
+
#: classes/admin/class-pwb-exporter-support.php:22
|
| 77 |
+
#: classes/admin/class-pwb-importer-support.php:22
|
| 78 |
+
#: classes/admin/class-pwb-importer-support.php:33
|
| 79 |
+
msgid "Brand"
|
| 80 |
+
msgstr "Marca"
|
| 81 |
+
|
| 82 |
+
#: classes/class-perfect-woocommerce-brands.php:297
|
| 83 |
+
msgid "Products"
|
| 84 |
+
msgstr "Productes"
|
| 85 |
+
|
| 86 |
+
#: classes/class-perfect-woocommerce-brands.php:300
|
| 87 |
+
msgid "Number of products to load"
|
| 88 |
+
msgstr "Número de productes per carregar"
|
| 89 |
+
|
| 90 |
+
#: classes/class-perfect-woocommerce-brands.php:305
|
| 91 |
+
msgid "Products to show"
|
| 92 |
+
msgstr "Productes per mostrar"
|
| 93 |
+
|
| 94 |
+
#: classes/class-perfect-woocommerce-brands.php:308
|
| 95 |
+
msgid "Number of products to show"
|
| 96 |
+
msgstr "Número de productes per mostrar"
|
| 97 |
+
|
| 98 |
+
#: classes/class-perfect-woocommerce-brands.php:313
|
| 99 |
+
msgid "Products to scroll"
|
| 100 |
+
msgstr "Número de productes per scroll"
|
| 101 |
+
|
| 102 |
+
#: classes/class-perfect-woocommerce-brands.php:316
|
| 103 |
+
msgid "Number of products to scroll"
|
| 104 |
+
msgstr "Número de productes per cada scroll"
|
| 105 |
+
|
| 106 |
+
#: classes/class-perfect-woocommerce-brands.php:321
|
| 107 |
+
#: classes/class-perfect-woocommerce-brands.php:370
|
| 108 |
+
msgid "Autoplay"
|
| 109 |
+
msgstr "Mode automàtic"
|
| 110 |
+
|
| 111 |
+
#: classes/class-perfect-woocommerce-brands.php:323
|
| 112 |
+
#: classes/class-perfect-woocommerce-brands.php:372
|
| 113 |
+
msgid "Autoplay carousel"
|
| 114 |
+
msgstr "Mode automàtic pel carrussel"
|
| 115 |
+
|
| 116 |
+
#: classes/class-perfect-woocommerce-brands.php:328
|
| 117 |
+
#: classes/class-perfect-woocommerce-brands.php:377
|
| 118 |
+
msgid "Arrows"
|
| 119 |
+
msgstr "Dates de navegació"
|
| 120 |
+
|
| 121 |
+
#: classes/class-perfect-woocommerce-brands.php:330
|
| 122 |
+
#: classes/class-perfect-woocommerce-brands.php:379
|
| 123 |
+
msgid "Display prev and next arrows"
|
| 124 |
+
msgstr "Mostrar fletxes de navegació"
|
| 125 |
+
|
| 126 |
+
#: classes/class-perfect-woocommerce-brands.php:336
|
| 127 |
+
msgid "PWB Brands carousel"
|
| 128 |
+
msgstr "PWB Carrussel de marques"
|
| 129 |
+
|
| 130 |
+
#: classes/class-perfect-woocommerce-brands.php:337
|
| 131 |
+
msgid "Brands carousel"
|
| 132 |
+
msgstr "Carrussel de marques"
|
| 133 |
+
|
| 134 |
+
#: classes/class-perfect-woocommerce-brands.php:346
|
| 135 |
+
msgid "Items"
|
| 136 |
+
msgstr "Elemento"
|
| 137 |
+
|
| 138 |
+
#: classes/class-perfect-woocommerce-brands.php:349
|
| 139 |
+
msgid "Number of items to load (or 'featured')"
|
| 140 |
+
msgstr "Número d'elements per cargar (o 'featured')"
|
| 141 |
+
|
| 142 |
+
#: classes/class-perfect-woocommerce-brands.php:354
|
| 143 |
+
msgid "Items to show"
|
| 144 |
+
msgstr "Elements a mostrar"
|
| 145 |
+
|
| 146 |
+
#: classes/class-perfect-woocommerce-brands.php:357
|
| 147 |
+
msgid "Number of items to show"
|
| 148 |
+
msgstr "Número d'elements a mostrar"
|
| 149 |
+
|
| 150 |
+
#: classes/class-perfect-woocommerce-brands.php:362
|
| 151 |
+
msgid "Items to scroll"
|
| 152 |
+
msgstr "Número d'elements per scroll"
|
| 153 |
+
|
| 154 |
+
#: classes/class-perfect-woocommerce-brands.php:365
|
| 155 |
+
msgid "Number of items to scroll"
|
| 156 |
+
msgstr "Número d'elements per cada scroll"
|
| 157 |
+
|
| 158 |
+
#: classes/class-perfect-woocommerce-brands.php:383
|
| 159 |
+
#: classes/class-perfect-woocommerce-brands.php:411
|
| 160 |
+
#: classes/class-perfect-woocommerce-brands.php:492
|
| 161 |
+
#: classes/admin/class-pwb-admin-tab.php:129
|
| 162 |
+
msgid "Brand logo size"
|
| 163 |
+
msgstr "Mida del logo de la marca"
|
| 164 |
+
|
| 165 |
+
#: classes/class-perfect-woocommerce-brands.php:394
|
| 166 |
+
msgid "PWB All brands"
|
| 167 |
+
msgstr "PWB Totes les marques"
|
| 168 |
+
|
| 169 |
+
#: classes/class-perfect-woocommerce-brands.php:395
|
| 170 |
+
msgid "Show all brands"
|
| 171 |
+
msgstr "Mostrar totes les marques"
|
| 172 |
+
|
| 173 |
+
#: classes/class-perfect-woocommerce-brands.php:404
|
| 174 |
+
msgid "Brands per page"
|
| 175 |
+
msgstr "Marques per pàgina"
|
| 176 |
+
|
| 177 |
+
#: classes/class-perfect-woocommerce-brands.php:407
|
| 178 |
+
msgid "Show x brands per page"
|
| 179 |
+
msgstr "Mostrar x marques per pàgina"
|
| 180 |
+
|
| 181 |
+
#: classes/class-perfect-woocommerce-brands.php:418
|
| 182 |
+
msgid "Order by"
|
| 183 |
+
msgstr "Ordenar per"
|
| 184 |
+
|
| 185 |
+
#: classes/class-perfect-woocommerce-brands.php:432
|
| 186 |
+
msgid "Order"
|
| 187 |
+
msgstr "Ordre"
|
| 188 |
+
|
| 189 |
+
#: classes/class-perfect-woocommerce-brands.php:442
|
| 190 |
+
msgid "Title position"
|
| 191 |
+
msgstr "Posició del títol"
|
| 192 |
+
|
| 193 |
+
#: classes/class-perfect-woocommerce-brands.php:446
|
| 194 |
+
msgid "Before image"
|
| 195 |
+
msgstr "Abans de la imatge"
|
| 196 |
+
|
| 197 |
+
#: classes/class-perfect-woocommerce-brands.php:447
|
| 198 |
+
msgid "After image"
|
| 199 |
+
msgstr "Després de la imatge"
|
| 200 |
+
|
| 201 |
+
#: classes/class-perfect-woocommerce-brands.php:448
|
| 202 |
+
msgid "Hide"
|
| 203 |
+
msgstr "Amagar"
|
| 204 |
+
|
| 205 |
+
#: classes/class-perfect-woocommerce-brands.php:454
|
| 206 |
+
#: classes/widgets/class-pwb-dropdown.php:43
|
| 207 |
+
#: classes/widgets/class-pwb-list.php:67
|
| 208 |
+
msgid "Hide empty"
|
| 209 |
+
msgstr "Amagar buides"
|
| 210 |
+
|
| 211 |
+
#: classes/class-perfect-woocommerce-brands.php:456
|
| 212 |
+
msgid "Hide brands that have not been assigned to any product"
|
| 213 |
+
msgstr "Amagar marque que no han estat assignades a cap producte"
|
| 214 |
+
|
| 215 |
+
#: classes/class-perfect-woocommerce-brands.php:464
|
| 216 |
+
msgid "PWB AZ Listing"
|
| 217 |
+
msgstr "PWB Llista A-Z"
|
| 218 |
+
|
| 219 |
+
#: classes/class-perfect-woocommerce-brands.php:465
|
| 220 |
+
msgid "AZ Listing for brands"
|
| 221 |
+
msgstr "Llistat A-Z de marques"
|
| 222 |
+
|
| 223 |
+
#: classes/class-perfect-woocommerce-brands.php:474
|
| 224 |
+
msgid "PWB brand"
|
| 225 |
+
msgstr "PWB Marca"
|
| 226 |
+
|
| 227 |
+
#: classes/class-perfect-woocommerce-brands.php:475
|
| 228 |
+
msgid "Show brand for a specific product"
|
| 229 |
+
msgstr "Veure marques d'un producte específic"
|
| 230 |
+
|
| 231 |
+
#: classes/class-perfect-woocommerce-brands.php:485
|
| 232 |
+
msgid "Product id"
|
| 233 |
+
msgstr "Id del producte"
|
| 234 |
+
|
| 235 |
+
#: classes/class-perfect-woocommerce-brands.php:488
|
| 236 |
+
msgid "Product id (post id)"
|
| 237 |
+
msgstr "Id del producte (id del post)"
|
| 238 |
+
|
| 239 |
+
#: classes/class-perfect-woocommerce-brands.php:533
|
| 240 |
+
#: classes/shortcodes/class-pwb-brand.php:29
|
| 241 |
+
#: classes/shortcodes/class-pwb-brand.php:31
|
| 242 |
+
msgid "View brand"
|
| 243 |
+
msgstr "Veure marca"
|
| 244 |
+
|
| 245 |
+
#: classes/class-perfect-woocommerce-brands.php:598
|
| 246 |
+
msgid "¿Start migration?"
|
| 247 |
+
msgstr "Començar la migració?"
|
| 248 |
+
|
| 249 |
+
#: classes/class-perfect-woocommerce-brands.php:599
|
| 250 |
+
msgid ""
|
| 251 |
+
"We are migrating the product brands. ¡Don´t close this window until the "
|
| 252 |
+
"process is finished!"
|
| 253 |
+
msgstr ""
|
| 254 |
+
"Estem migrant les marques de producte. ¡No tanquis aquesta finestra fins que "
|
| 255 |
+
"el procés finalitzi!"
|
| 256 |
+
|
| 257 |
+
#: classes/class-perfect-woocommerce-brands.php:600
|
| 258 |
+
msgid "¿Start loading dummy data?"
|
| 259 |
+
msgstr "Començar amb la importació?"
|
| 260 |
+
|
| 261 |
+
#: classes/class-perfect-woocommerce-brands.php:601
|
| 262 |
+
msgid ""
|
| 263 |
+
"We are importing the dummy data. ¡Don´t close this window until the process "
|
| 264 |
+
"is finished!"
|
| 265 |
+
msgstr ""
|
| 266 |
+
"En aquest moment estem important les marques fictícies. ¡No tanquis aquesta "
|
| 267 |
+
"finestra fins que no acabi el procés!"
|
| 268 |
+
|
| 269 |
+
#: classes/class-perfect-woocommerce-brands.php:610
|
| 270 |
+
#: classes/class-perfect-woocommerce-brands.php:612
|
| 271 |
+
#: classes/admin/class-edit-brands-page.php:128
|
| 272 |
+
#: classes/admin/class-pwb-admin-tab.php:21
|
| 273 |
+
#: classes/widgets/class-pwb-dropdown.php:19
|
| 274 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:20
|
| 275 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:75
|
| 276 |
+
#: classes/widgets/class-pwb-list.php:19 templates/widgets/dropdown.php:16
|
| 277 |
+
msgid "Brands"
|
| 278 |
+
msgstr "Marques"
|
| 279 |
+
|
| 280 |
+
#: classes/class-perfect-woocommerce-brands.php:613
|
| 281 |
+
msgid "All Brands"
|
| 282 |
+
msgstr "Totes las marques"
|
| 283 |
+
|
| 284 |
+
#: classes/class-perfect-woocommerce-brands.php:614
|
| 285 |
+
msgid "Edit Brand"
|
| 286 |
+
msgstr "Editar marca"
|
| 287 |
+
|
| 288 |
+
#: classes/class-perfect-woocommerce-brands.php:615
|
| 289 |
+
msgid "View Brand"
|
| 290 |
+
msgstr "Veure marca"
|
| 291 |
+
|
| 292 |
+
#: classes/class-perfect-woocommerce-brands.php:616
|
| 293 |
+
msgid "Update Brand"
|
| 294 |
+
msgstr "Actualitzar marca"
|
| 295 |
+
|
| 296 |
+
#: classes/class-perfect-woocommerce-brands.php:617
|
| 297 |
+
msgid "Add New Brand"
|
| 298 |
+
msgstr "Afegir nova marca"
|
| 299 |
+
|
| 300 |
+
#: classes/class-perfect-woocommerce-brands.php:618
|
| 301 |
+
msgid "New Brand Name"
|
| 302 |
+
msgstr "Nou nom de marca"
|
| 303 |
+
|
| 304 |
+
#: classes/class-perfect-woocommerce-brands.php:619
|
| 305 |
+
msgid "Parent Brand"
|
| 306 |
+
msgstr "Marca Pare"
|
| 307 |
+
|
| 308 |
+
#: classes/class-perfect-woocommerce-brands.php:620
|
| 309 |
+
msgid "Parent Brand:"
|
| 310 |
+
msgstr "Marca Pare:"
|
| 311 |
+
|
| 312 |
+
#: classes/class-perfect-woocommerce-brands.php:621
|
| 313 |
+
msgid "Search Brands"
|
| 314 |
+
msgstr "Cercar Marques"
|
| 315 |
+
|
| 316 |
+
#: classes/class-perfect-woocommerce-brands.php:622
|
| 317 |
+
msgid "Popular Brands"
|
| 318 |
+
msgstr "Marques Populars"
|
| 319 |
+
|
| 320 |
+
#: classes/class-perfect-woocommerce-brands.php:623
|
| 321 |
+
msgid "Separate brands with commas"
|
| 322 |
+
msgstr "Separar marques amb comes"
|
| 323 |
+
|
| 324 |
+
#: classes/class-perfect-woocommerce-brands.php:624
|
| 325 |
+
msgid "Add or remove brands"
|
| 326 |
+
msgstr "Afegir o eliminar marques"
|
| 327 |
+
|
| 328 |
+
#: classes/class-perfect-woocommerce-brands.php:625
|
| 329 |
+
msgid "Choose from the most used brands"
|
| 330 |
+
msgstr "Seleccionar de les marques més utilitzades"
|
| 331 |
+
|
| 332 |
+
#: classes/class-perfect-woocommerce-brands.php:626
|
| 333 |
+
msgid "No brands found"
|
| 334 |
+
msgstr "No s'han trobat marques"
|
| 335 |
+
|
| 336 |
+
#: classes/class-perfect-woocommerce-brands.php:697
|
| 337 |
+
msgid "All"
|
| 338 |
+
msgstr "Totes"
|
| 339 |
+
|
| 340 |
+
#: classes/class-pwb-api-support.php:87
|
| 341 |
+
msgid "Product brands"
|
| 342 |
+
msgstr "Marques del producte"
|
| 343 |
+
|
| 344 |
+
#: classes/class-pwb-term.php:20
|
| 345 |
+
msgid "Only WP_Term objects are allowed"
|
| 346 |
+
msgstr "Només es permeten objectes del tipus WP_Term"
|
| 347 |
+
|
| 348 |
+
#: classes/admin/class-brands-custom-fields.php:20
|
| 349 |
+
#: classes/admin/class-brands-custom-fields.php:59
|
| 350 |
+
msgid "Description"
|
| 351 |
+
msgstr "Descripció"
|
| 352 |
+
|
| 353 |
+
#: classes/admin/class-brands-custom-fields.php:22
|
| 354 |
+
#: classes/admin/class-brands-custom-fields.php:63
|
| 355 |
+
msgid ""
|
| 356 |
+
"Brand description for the archive pages. You can include some html markup "
|
| 357 |
+
"and shortcodes."
|
| 358 |
+
msgstr ""
|
| 359 |
+
"Descripció de la marca per a la pàgina d'arxiu. Pots incloure marcat "
|
| 360 |
+
"html i shortcodes."
|
| 361 |
+
|
| 362 |
+
#: classes/admin/class-brands-custom-fields.php:26
|
| 363 |
+
#: classes/admin/class-brands-custom-fields.php:68
|
| 364 |
+
#: classes/widgets/class-pwb-list.php:43
|
| 365 |
+
msgid "Brand logo"
|
| 366 |
+
msgstr "Logo de la marca"
|
| 367 |
+
|
| 368 |
+
#: classes/admin/class-brands-custom-fields.php:28
|
| 369 |
+
#: classes/admin/class-brands-custom-fields.php:34
|
| 370 |
+
#: classes/admin/class-brands-custom-fields.php:72
|
| 371 |
+
#: classes/admin/class-brands-custom-fields.php:92
|
| 372 |
+
msgid "Select image"
|
| 373 |
+
msgstr "Seleccionar imatge"
|
| 374 |
+
|
| 375 |
+
#: classes/admin/class-brands-custom-fields.php:32
|
| 376 |
+
#: classes/admin/class-brands-custom-fields.php:88
|
| 377 |
+
msgid "Brand banner"
|
| 378 |
+
msgstr "Banner de la marca"
|
| 379 |
+
|
| 380 |
+
#: classes/admin/class-brands-custom-fields.php:35
|
| 381 |
+
msgid "This image will be shown on brand page"
|
| 382 |
+
msgstr "Aquesta imatge es mostrarà a la pàgina de la marca"
|
| 383 |
+
|
| 384 |
+
#: classes/admin/class-brands-custom-fields.php:39
|
| 385 |
+
#: classes/admin/class-brands-custom-fields.php:108
|
| 386 |
+
msgid "Brand banner link"
|
| 387 |
+
msgstr "Enlĺaç per al banner de la marca"
|
| 388 |
+
|
| 389 |
+
#: classes/admin/class-brands-custom-fields.php:41
|
| 390 |
+
#: classes/admin/class-brands-custom-fields.php:112
|
| 391 |
+
msgid "This link should be relative to site url. Example: product/product-name"
|
| 392 |
+
msgstr ""
|
| 393 |
+
"Aquest enllaç ha de ser relatiu a la url del lloc web. Exemple: producte/"
|
| 394 |
+
"nom-del-producte"
|
| 395 |
+
|
| 396 |
+
#: classes/admin/class-edit-brands-page.php:39
|
| 397 |
+
msgid "featured"
|
| 398 |
+
msgstr "preferida"
|
| 399 |
+
|
| 400 |
+
#: classes/admin/class-edit-brands-page.php:74
|
| 401 |
+
msgid "Logo"
|
| 402 |
+
msgstr "Logo"
|
| 403 |
+
|
| 404 |
+
#: classes/admin/class-edit-brands-page.php:96
|
| 405 |
+
msgid "Set as featured"
|
| 406 |
+
msgstr "Marcar com a preferida"
|
| 407 |
+
|
| 408 |
+
#: classes/admin/class-edit-brands-page.php:118
|
| 409 |
+
msgid "Error!"
|
| 410 |
+
msgstr "Error!"
|
| 411 |
+
|
| 412 |
+
#: classes/admin/class-edit-brands-page.php:131
|
| 413 |
+
msgid "Show featured brands first"
|
| 414 |
+
msgstr "Mostrar marques preferides primer"
|
| 415 |
+
|
| 416 |
+
#: classes/admin/class-pwb-admin-tab.php:70
|
| 417 |
+
msgid "Brands settings"
|
| 418 |
+
msgstr "Ajustaments de les marques"
|
| 419 |
+
|
| 420 |
+
#: classes/admin/class-pwb-admin-tab.php:76
|
| 421 |
+
msgid "Slug"
|
| 422 |
+
msgstr "Slug"
|
| 423 |
+
|
| 424 |
+
#: classes/admin/class-pwb-admin-tab.php:79
|
| 425 |
+
msgid "Brands taxonomy slug"
|
| 426 |
+
msgstr "Slug de la taxonomia marques"
|
| 427 |
+
|
| 428 |
+
#: classes/admin/class-pwb-admin-tab.php:84
|
| 429 |
+
msgid "Show brand description"
|
| 430 |
+
msgstr "Mostrar descripció de la marca"
|
| 431 |
+
|
| 432 |
+
#: classes/admin/class-pwb-admin-tab.php:88
|
| 433 |
+
msgid "Show brand description (if is set) on brand archive page"
|
| 434 |
+
msgstr "Mostrar descripció de la marca a la pàgina d'arxiu"
|
| 435 |
+
|
| 436 |
+
#: classes/admin/class-pwb-admin-tab.php:91
|
| 437 |
+
msgid "Yes, before product loop"
|
| 438 |
+
msgstr "Si, abans dels productes"
|
| 439 |
+
|
| 440 |
+
#: classes/admin/class-pwb-admin-tab.php:92
|
| 441 |
+
msgid "Yes, after product loop"
|
| 442 |
+
msgstr "Si, després dels productes"
|
| 443 |
+
|
| 444 |
+
#: classes/admin/class-pwb-admin-tab.php:93
|
| 445 |
+
msgid "No, hide description"
|
| 446 |
+
msgstr "No, ocultar descripció"
|
| 447 |
+
|
| 448 |
+
#: classes/admin/class-pwb-admin-tab.php:97
|
| 449 |
+
msgid "Single product tab"
|
| 450 |
+
msgstr "Tab a la pàgina del producte"
|
| 451 |
+
|
| 452 |
+
#: classes/admin/class-pwb-admin-tab.php:100
|
| 453 |
+
msgid "Show brand tab in single product page"
|
| 454 |
+
msgstr "Mostrar pestanya amb informació de la marca a la pàgina del producte"
|
| 455 |
+
|
| 456 |
+
#: classes/admin/class-pwb-admin-tab.php:104
|
| 457 |
+
msgid "Show brands in loop"
|
| 458 |
+
msgstr "Mostrar marques al loop"
|
| 459 |
+
|
| 460 |
+
#: classes/admin/class-pwb-admin-tab.php:107
|
| 461 |
+
msgid "Show brand logo (or name) in product loop"
|
| 462 |
+
msgstr "Mostrar el logo de la marca (o el nom) al loop"
|
| 463 |
+
|
| 464 |
+
#: classes/admin/class-pwb-admin-tab.php:110
|
| 465 |
+
#: classes/admin/class-pwb-admin-tab.php:123
|
| 466 |
+
msgid "No"
|
| 467 |
+
msgstr "No"
|
| 468 |
+
|
| 469 |
+
#: classes/admin/class-pwb-admin-tab.php:111
|
| 470 |
+
#: classes/admin/class-pwb-admin-tab.php:124
|
| 471 |
+
msgid "Show brand link"
|
| 472 |
+
msgstr "Mostrar el link de la marca"
|
| 473 |
+
|
| 474 |
+
#: classes/admin/class-pwb-admin-tab.php:112
|
| 475 |
+
#: classes/admin/class-pwb-admin-tab.php:125
|
| 476 |
+
msgid "Show brand image (if is set)"
|
| 477 |
+
msgstr "Mostrar el logo de la marca (si en té un d'assignat)"
|
| 478 |
+
|
| 479 |
+
#: classes/admin/class-pwb-admin-tab.php:116
|
| 480 |
+
msgid "Show brands in single product"
|
| 481 |
+
msgstr "Mostrar marques a la pàgina del producte"
|
| 482 |
+
|
| 483 |
+
#: classes/admin/class-pwb-admin-tab.php:119
|
| 484 |
+
msgid "Show brand logo (or name) in single product"
|
| 485 |
+
msgstr "Mostrar el logo de la marca (o el nom) a la pàgina del producte"
|
| 486 |
+
|
| 487 |
+
#: classes/admin/class-pwb-admin-tab.php:132
|
| 488 |
+
msgid "Brand logo size for single product view"
|
| 489 |
+
msgstr "Mida del logo per a la vista individual de producte"
|
| 490 |
+
|
| 491 |
+
#: classes/admin/class-pwb-admin-tab.php:137
|
| 492 |
+
msgid "Brand position"
|
| 493 |
+
msgstr "Posició de la marca"
|
| 494 |
+
|
| 495 |
+
#: classes/admin/class-pwb-admin-tab.php:140
|
| 496 |
+
msgid "For single product"
|
| 497 |
+
msgstr "A la pàgina individual de cada producte"
|
| 498 |
+
|
| 499 |
+
#: classes/admin/class-pwb-admin-tab.php:143
|
| 500 |
+
msgid "Before title"
|
| 501 |
+
msgstr "Abans del títol"
|
| 502 |
+
|
| 503 |
+
#: classes/admin/class-pwb-admin-tab.php:144
|
| 504 |
+
msgid "After title"
|
| 505 |
+
msgstr "Després del títol"
|
| 506 |
+
|
| 507 |
+
#: classes/admin/class-pwb-admin-tab.php:145
|
| 508 |
+
msgid "After price"
|
| 509 |
+
msgstr "Després del preu"
|
| 510 |
+
|
| 511 |
+
#: classes/admin/class-pwb-admin-tab.php:146
|
| 512 |
+
msgid "After excerpt"
|
| 513 |
+
msgstr "Després de la descripció curta"
|
| 514 |
+
|
| 515 |
+
#: classes/admin/class-pwb-admin-tab.php:147
|
| 516 |
+
msgid "After add to cart"
|
| 517 |
+
msgstr "Després del botó de comprar"
|
| 518 |
+
|
| 519 |
+
#: classes/admin/class-pwb-admin-tab.php:148
|
| 520 |
+
msgid "After meta"
|
| 521 |
+
msgstr "Després del meta"
|
| 522 |
+
|
| 523 |
+
#: classes/admin/class-pwb-admin-tab.php:149
|
| 524 |
+
msgid "After sharing"
|
| 525 |
+
msgstr "Després de compartir"
|
| 526 |
+
|
| 527 |
+
#: classes/admin/class-pwb-admin-tab.php:153
|
| 528 |
+
msgid "Brands page"
|
| 529 |
+
msgstr "Pàgina de marques"
|
| 530 |
+
|
| 531 |
+
#: classes/admin/class-pwb-admin-tab.php:156
|
| 532 |
+
msgid "For linking breadcrumbs"
|
| 533 |
+
msgstr "Per a l'enllaç de las molles de pa"
|
| 534 |
+
|
| 535 |
+
#: classes/admin/class-pwb-admin-tab.php:173
|
| 536 |
+
msgid "Tools"
|
| 537 |
+
msgstr "Eines"
|
| 538 |
+
|
| 539 |
+
#: classes/admin/class-pwb-admin-tab.php:179
|
| 540 |
+
#: templates/admin/brands-exporter.php:16
|
| 541 |
+
msgid "Import brands"
|
| 542 |
+
msgstr "Importar marques"
|
| 543 |
+
|
| 544 |
+
#: classes/admin/class-pwb-admin-tab.php:183
|
| 545 |
+
#, php-format
|
| 546 |
+
msgid ""
|
| 547 |
+
"Import brands from other brand plugin. <a href=\"%s\" target=\"_blank"
|
| 548 |
+
"\">Click here for more details</a>"
|
| 549 |
+
msgstr ""
|
| 550 |
+
"Importar marques de producte d'un altre plugin de marques. <a href=\"%s\" target="
|
| 551 |
+
"\"_blank\">Clica aquí per a veure la documentació</a>"
|
| 552 |
+
|
| 553 |
+
#: classes/admin/class-pwb-admin-tab.php:188
|
| 554 |
+
#: classes/admin/class-pwb-admin-tab.php:201
|
| 555 |
+
msgid "-"
|
| 556 |
+
msgstr "-"
|
| 557 |
+
|
| 558 |
+
#: classes/admin/class-pwb-admin-tab.php:189
|
| 559 |
+
msgid "YITH WooCommerce Brands Add-On"
|
| 560 |
+
msgstr "YITH WooCommerce Brands Add-On"
|
| 561 |
+
|
| 562 |
+
#: classes/admin/class-pwb-admin-tab.php:190
|
| 563 |
+
msgid "Ultimate WooCommerce Brands"
|
| 564 |
+
msgstr "Ultimate WooCommerce Brands"
|
| 565 |
+
|
| 566 |
+
#: classes/admin/class-pwb-admin-tab.php:191
|
| 567 |
+
msgid "Offical WooCommerce Brands"
|
| 568 |
+
msgstr "Offical WooCommerce Brands"
|
| 569 |
+
|
| 570 |
+
#: classes/admin/class-pwb-admin-tab.php:195
|
| 571 |
+
msgid "Dummy data"
|
| 572 |
+
msgstr "Dades fictícies"
|
| 573 |
+
|
| 574 |
+
#: classes/admin/class-pwb-admin-tab.php:198
|
| 575 |
+
msgid "Import generic brands and assign it to products randomly"
|
| 576 |
+
msgstr ""
|
| 577 |
+
"Importar marques genèriques i assignar-les als productes existents de forma "
|
| 578 |
+
"aleatòria"
|
| 579 |
+
|
| 580 |
+
#: classes/admin/class-pwb-admin-tab.php:202
|
| 581 |
+
msgid "Start import"
|
| 582 |
+
msgstr "Començar importació"
|
| 583 |
+
|
| 584 |
+
#: classes/admin/class-pwb-admin-tab.php:206
|
| 585 |
+
msgid "System status"
|
| 586 |
+
msgstr "Estat del sistema"
|
| 587 |
+
|
| 588 |
+
#: classes/admin/class-pwb-admin-tab.php:208
|
| 589 |
+
msgid "Show system status"
|
| 590 |
+
msgstr "Veure estat del sistema"
|
| 591 |
+
|
| 592 |
+
#: classes/admin/class-pwb-coupon.php:24
|
| 593 |
+
msgid "Brands restriction"
|
| 594 |
+
msgstr "Restriccions de marca"
|
| 595 |
+
|
| 596 |
+
#: classes/admin/class-pwb-coupon.php:25
|
| 597 |
+
msgid "Any brand"
|
| 598 |
+
msgstr "Qualsevol marca"
|
| 599 |
+
|
| 600 |
+
#: classes/admin/class-pwb-coupon.php:34
|
| 601 |
+
msgid ""
|
| 602 |
+
"Coupon will be valid if there are at least one product of this brands in the "
|
| 603 |
+
"cart"
|
| 604 |
+
msgstr ""
|
| 605 |
+
"El cupó serà vàlido si existeix com a mínim un producte de la marca indicada al "
|
| 606 |
+
"cistell"
|
| 607 |
+
|
| 608 |
+
#: classes/shortcodes/class-pwb-all-brands.php:108
|
| 609 |
+
msgid "First page"
|
| 610 |
+
msgstr "Primera pàgina"
|
| 611 |
+
|
| 612 |
+
#: classes/shortcodes/class-pwb-all-brands.php:111
|
| 613 |
+
msgid "Previous page"
|
| 614 |
+
msgstr "Pàgina anterior"
|
| 615 |
+
|
| 616 |
+
#: classes/shortcodes/class-pwb-all-brands.php:115
|
| 617 |
+
msgid "Next page"
|
| 618 |
+
msgstr "Següent pàgina"
|
| 619 |
+
|
| 620 |
+
#: classes/shortcodes/class-pwb-all-brands.php:118
|
| 621 |
+
msgid "Last page"
|
| 622 |
+
msgstr "Darrera pàgina"
|
| 623 |
+
|
| 624 |
+
#: classes/shortcodes/class-pwb-all-brands.php:123
|
| 625 |
+
msgid "No results"
|
| 626 |
+
msgstr "No s'han trobat resultats"
|
| 627 |
+
|
| 628 |
+
#: classes/widgets/class-pwb-dropdown.php:10
|
| 629 |
+
msgid "Adds a brands dropdown to your site"
|
| 630 |
+
msgstr "Afegeox un desplegable amb les marques al teu lloc"
|
| 631 |
+
|
| 632 |
+
#: classes/widgets/class-pwb-dropdown.php:11
|
| 633 |
+
msgid "Brands dropdown"
|
| 634 |
+
msgstr "Desplegable de marques"
|
| 635 |
+
|
| 636 |
+
#: classes/widgets/class-pwb-dropdown.php:26
|
| 637 |
+
msgid "Title"
|
| 638 |
+
msgstr "Títol"
|
| 639 |
+
|
| 640 |
+
#: classes/widgets/class-pwb-dropdown.php:54
|
| 641 |
+
#: classes/widgets/class-pwb-list.php:77
|
| 642 |
+
msgid "Only favorite brands"
|
| 643 |
+
msgstr "Només marques preferides"
|
| 644 |
+
|
| 645 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:11
|
| 646 |
+
msgid "Recommended for product categories or shop page"
|
| 647 |
+
msgstr "Recomanat per a les categories de producte i la pàgina de la botiga"
|
| 648 |
+
|
| 649 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:12
|
| 650 |
+
msgid "Filter products by brand"
|
| 651 |
+
msgstr "Filtrar productes por marca"
|
| 652 |
+
|
| 653 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:25
|
| 654 |
+
#: classes/widgets/class-pwb-list.php:28
|
| 655 |
+
msgid "Title:"
|
| 656 |
+
msgstr "Títol:"
|
| 657 |
+
|
| 658 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:30
|
| 659 |
+
msgid "Max number of brands"
|
| 660 |
+
msgstr "Número màxim de marques"
|
| 661 |
+
|
| 662 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:41
|
| 663 |
+
msgid "Hide filter button"
|
| 664 |
+
msgstr "No mostrar el botó Filtrar"
|
| 665 |
+
|
| 666 |
+
#: classes/widgets/class-pwb-list.php:10
|
| 667 |
+
msgid "Adds a brands list to your site"
|
| 668 |
+
msgstr "Afegeix una llista de marques al teu lloc"
|
| 669 |
+
|
| 670 |
+
#: classes/widgets/class-pwb-list.php:11
|
| 671 |
+
msgid "Brands list"
|
| 672 |
+
msgstr "Llista de marques"
|
| 673 |
+
|
| 674 |
+
#: classes/widgets/class-pwb-list.php:37
|
| 675 |
+
msgid "Display as:"
|
| 676 |
+
msgstr "Mostrar com:"
|
| 677 |
+
|
| 678 |
+
#: classes/widgets/class-pwb-list.php:42
|
| 679 |
+
msgid "Brand name"
|
| 680 |
+
msgstr "Nom de la marca"
|
| 681 |
+
|
| 682 |
+
#: classes/widgets/class-pwb-list.php:47
|
| 683 |
+
msgid "Columns:"
|
| 684 |
+
msgstr "Columnes:"
|
| 685 |
+
|
| 686 |
+
#: classes/widgets/class-pwb-list.php:87
|
| 687 |
+
msgid "Randomize"
|
| 688 |
+
msgstr "Aleatori"
|
| 689 |
+
|
| 690 |
+
#: classes/widgets/class-pwb-list.php:119
|
| 691 |
+
msgid "Go to"
|
| 692 |
+
msgstr "Anar a"
|
| 693 |
+
|
| 694 |
+
#: templates/admin/brands-exporter.php:15
|
| 695 |
+
msgid "Export brands"
|
| 696 |
+
msgstr "Exportar marques"
|
| 697 |
+
|
| 698 |
+
#: templates/admin/brands-exporter.php:18
|
| 699 |
+
msgid ""
|
| 700 |
+
"This tool allows you to export and import the brands between different sites "
|
| 701 |
+
"using PWB."
|
| 702 |
+
msgstr ""
|
| 703 |
+
"Aquesta eina permet exportar i importar marques entre dos llocs "
|
| 704 |
+
"diferents que utilitzen PWB"
|
| 705 |
+
|
| 706 |
+
#: templates/shortcodes/carousel.php:24
|
| 707 |
+
#: templates/shortcodes/product-carousel.php:28
|
| 708 |
+
msgid "Loading"
|
| 709 |
+
msgstr "Carregant"
|
| 710 |
+
|
| 711 |
+
#: templates/shortcodes/product-carousel.php:34
|
| 712 |
+
msgid "Nothing found"
|
| 713 |
+
msgstr "Aquí no hi ha res"
|
| 714 |
+
|
| 715 |
+
#: templates/widgets/filter-by-brand.php:25
|
| 716 |
+
msgid "Apply filter"
|
| 717 |
+
msgstr "Filtrar"
|
| 718 |
+
|
| 719 |
+
#: classes/widgets/class-pwb-dropdown.php:66
|
| 720 |
+
#: classes/widgets/class-pwb-list.php:115
|
| 721 |
+
msgid "There is not available brands"
|
| 722 |
+
msgstr "No es troben marques disponibles"
|
lang/perfect-woocommerce-brands-es_ES.mo
CHANGED
|
Binary file
|
lang/perfect-woocommerce-brands-es_ES.po
CHANGED
|
@@ -525,8 +525,8 @@ msgid "After sharing"
|
|
| 525 |
msgstr "Después de compartir"
|
| 526 |
|
| 527 |
#: classes/admin/class-pwb-admin-tab.php:153
|
| 528 |
-
msgid "Brands page
|
| 529 |
-
msgstr "
|
| 530 |
|
| 531 |
#: classes/admin/class-pwb-admin-tab.php:156
|
| 532 |
msgid "For linking breadcrumbs"
|
|
@@ -719,4 +719,4 @@ msgstr "Filtrar"
|
|
| 719 |
#: classes/widgets/class-pwb-dropdown.php:66
|
| 720 |
#: classes/widgets/class-pwb-list.php:115
|
| 721 |
msgid "There is not available brands"
|
| 722 |
-
msgstr "No se encuentran marcas disponibles"
|
| 525 |
msgstr "Después de compartir"
|
| 526 |
|
| 527 |
#: classes/admin/class-pwb-admin-tab.php:153
|
| 528 |
+
msgid "Brands page"
|
| 529 |
+
msgstr "Página de marcas"
|
| 530 |
|
| 531 |
#: classes/admin/class-pwb-admin-tab.php:156
|
| 532 |
msgid "For linking breadcrumbs"
|
| 719 |
#: classes/widgets/class-pwb-dropdown.php:66
|
| 720 |
#: classes/widgets/class-pwb-list.php:115
|
| 721 |
msgid "There is not available brands"
|
| 722 |
+
msgstr "No se encuentran marcas disponibles"
|
lang/perfect-woocommerce-brands.pot
CHANGED
|
@@ -506,7 +506,7 @@ msgid "After sharing"
|
|
| 506 |
msgstr ""
|
| 507 |
|
| 508 |
#: classes/admin/class-pwb-admin-tab.php:153
|
| 509 |
-
msgid "Brands page
|
| 510 |
msgstr ""
|
| 511 |
|
| 512 |
#: classes/admin/class-pwb-admin-tab.php:156
|
| 506 |
msgstr ""
|
| 507 |
|
| 508 |
#: classes/admin/class-pwb-admin-tab.php:153
|
| 509 |
+
msgid "Brands page"
|
| 510 |
msgstr ""
|
| 511 |
|
| 512 |
#: classes/admin/class-pwb-admin-tab.php:156
|
main.php
CHANGED
|
@@ -3,13 +3,13 @@
|
|
| 3 |
* Plugin Name: Perfect WooCommerce Brands
|
| 4 |
* Plugin URI: https://wordpress.org/plugins/perfect-woocommerce-brands/
|
| 5 |
* Description: Perfect WooCommerce Brands allows you to show product brands in your WooCommerce based store.
|
| 6 |
-
* Version: 1.7.
|
| 7 |
* Author: Alberto de Vera Sevilla
|
| 8 |
* Author URI: https://profiles.wordpress.org/titodevera/
|
| 9 |
* Text Domain: perfect-woocommerce-brands
|
| 10 |
* Domain Path: /lang
|
| 11 |
* License: GPL3
|
| 12 |
-
* Perfect WooCommerce Brands version 1.7.
|
| 13 |
* Perfect WooCommerce Brands is free software: you can redistribute it and/or modify
|
| 14 |
* it under the terms of the GNU General Public License as published by
|
| 15 |
* the Free Software Foundation, either version 3 of the License, or
|
|
@@ -34,7 +34,7 @@ defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
|
| 34 |
define( 'PWB_PLUGIN', plugins_url( '', __FILE__ ) );
|
| 35 |
define( 'PWB_PLUGIN_PATH', plugin_basename( dirname( __FILE__ ) ) );
|
| 36 |
define( 'PWB_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
| 37 |
-
define( 'PWB_PLUGIN_VERSION', '1.7.
|
| 38 |
define( 'PWB_WP_VERSION', get_bloginfo( 'version' ) );
|
| 39 |
define( 'PWB_WC_VERSION', get_option( 'woocommerce_version' ) );
|
| 40 |
|
| 3 |
* Plugin Name: Perfect WooCommerce Brands
|
| 4 |
* Plugin URI: https://wordpress.org/plugins/perfect-woocommerce-brands/
|
| 5 |
* Description: Perfect WooCommerce Brands allows you to show product brands in your WooCommerce based store.
|
| 6 |
+
* Version: 1.7.1
|
| 7 |
* Author: Alberto de Vera Sevilla
|
| 8 |
* Author URI: https://profiles.wordpress.org/titodevera/
|
| 9 |
* Text Domain: perfect-woocommerce-brands
|
| 10 |
* Domain Path: /lang
|
| 11 |
* License: GPL3
|
| 12 |
+
* Perfect WooCommerce Brands version 1.7.1, Copyright (C) 2018 Alberto de Vera Sevilla
|
| 13 |
* Perfect WooCommerce Brands is free software: you can redistribute it and/or modify
|
| 14 |
* it under the terms of the GNU General Public License as published by
|
| 15 |
* the Free Software Foundation, either version 3 of the License, or
|
| 34 |
define( 'PWB_PLUGIN', plugins_url( '', __FILE__ ) );
|
| 35 |
define( 'PWB_PLUGIN_PATH', plugin_basename( dirname( __FILE__ ) ) );
|
| 36 |
define( 'PWB_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
| 37 |
+
define( 'PWB_PLUGIN_VERSION', '1.7.1' );
|
| 38 |
define( 'PWB_WP_VERSION', get_bloginfo( 'version' ) );
|
| 39 |
define( 'PWB_WC_VERSION', get_option( 'woocommerce_version' ) );
|
| 40 |
|
readme.txt
CHANGED
|
@@ -3,8 +3,8 @@ Contributors: titodevera
|
|
| 3 |
Donate link: mailto:hola@albertodevera.es
|
| 4 |
Tags: woocommerce, brands, brand taxonomy, product brands, woocommerce manufacturer, woocommerce supplier, e-commerce
|
| 5 |
Requires at least: 4.4
|
| 6 |
-
Tested up to:
|
| 7 |
-
Stable tag: 1.7.
|
| 8 |
License: GPL3
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.en.html
|
| 10 |
|
|
@@ -80,6 +80,15 @@ Go to `WooCommerce/Settings/` and click on `Brands` tab
|
|
| 80 |
|
| 81 |
|
| 82 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
= 1.7.0 =
|
| 84 |
* Feature: A-Z Listing shortcode
|
| 85 |
* Feature: New brands exporter/importer introduced
|
| 3 |
Donate link: mailto:hola@albertodevera.es
|
| 4 |
Tags: woocommerce, brands, brand taxonomy, product brands, woocommerce manufacturer, woocommerce supplier, e-commerce
|
| 5 |
Requires at least: 4.4
|
| 6 |
+
Tested up to: 5.0
|
| 7 |
+
Stable tag: 1.7.1
|
| 8 |
License: GPL3
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.en.html
|
| 10 |
|
| 80 |
|
| 81 |
|
| 82 |
== Changelog ==
|
| 83 |
+
= 1.7.1 =
|
| 84 |
+
* Feature: Extends the [products] shortcode to allow 'brands' attribute
|
| 85 |
+
* Feature: The brands column is sortable now
|
| 86 |
+
* Catalan translation (thanks to Lluisma)
|
| 87 |
+
* Enhancement: Easier select brands page link in breadcrumbs
|
| 88 |
+
* Enhancement: Configure the brand banner and the brand description position independently
|
| 89 |
+
* Dev: New filter 'pwb_taxonomy_rewrite' to change the rewrite slug
|
| 90 |
+
* Dev: New filter 'pwb_taxonomy_with_front' to change default "with_front" value
|
| 91 |
+
* Fix: Fatal error in PHP5.4
|
| 92 |
= 1.7.0 =
|
| 93 |
* Feature: A-Z Listing shortcode
|
| 94 |
* Feature: New brands exporter/importer introduced
|
