Version Description
- Feature: A-Z Listing shortcode
- Feature: New brands exporter/importer introduced
- Fix: Missing some brands to filter
- Fix: Coupon doesnt work for product variations (thanks @gekomees)
- Fix: The brand description is not shown if there are no products
- Enhancement: wpautop() for brand descriptions
- Enhancement: Other filter by brand widget enhancements
- Enhancement: Brands page link in breadcrumbs
- Enhancement: Enqueue the carousel lib conditionally
- Dev: New filter hook 'pwb_description_allowed_tags'
- Update: WC 3.5 compatibility
Download this release
Release Info
| Developer | titodevera |
| Plugin | |
| Version | 1.7.0 |
| Comparing to | |
| See all releases | |
Code changes from version 1.6.5 to 1.7.0
- assets/css/styles-admin.css +44 -0
- assets/css/styles-admin.min.css +1 -1
- assets/css/styles-frontend.css +60 -0
- assets/css/styles-frontend.min.css +1 -1
- assets/img/icon_pwb.jpg +0 -0
- assets/js/functions-admin.js +71 -2
- assets/js/functions-admin.min.js +1 -1
- assets/js/functions-frontend.js +91 -85
- assets/js/functions-frontend.min.js +1 -1
- classes/admin/class-brands-custom-fields.php +3 -2
- classes/admin/class-brands-exporter.php +128 -0
- classes/admin/class-edit-brands-page.php +1 -1
- classes/admin/class-pwb-admin-tab.php +8 -4
- classes/admin/class-pwb-coupon.php +5 -1
- classes/class-perfect-woocommerce-brands.php +66 -38
- classes/class-pwb-api-support.php +1 -4
- classes/shortcodes/class-pwb-all-brands.php +3 -3
- classes/shortcodes/class-pwb-az-listing.php +125 -0
- classes/shortcodes/class-pwb-carousel.php +5 -1
- classes/shortcodes/class-pwb-product-carousel.php +4 -0
- classes/widgets/class-pwb-filter-by-brand.php +54 -57
- lang/perfect-woocommerce-brands-es_ES.mo +0 -0
- lang/perfect-woocommerce-brands-es_ES.po +195 -161
- lang/perfect-woocommerce-brands.pot +192 -154
- main.php +12 -12
- readme.txt +17 -3
- templates/admin/brands-exporter.php +19 -0
- templates/shortcodes/carousel.php +1 -1
- uninstall.php +3 -0
assets/css/styles-admin.css
CHANGED
|
@@ -105,6 +105,15 @@
|
|
| 105 |
display: none!important;
|
| 106 |
}
|
| 107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
/* ----------------------- /Taxonomy pwb-brand ----------------------- */
|
| 109 |
|
| 110 |
/* ----------------------- Settings page ----------------------- */
|
|
@@ -164,3 +173,38 @@ table.wp-list-table .column-taxonomy-pwb-brand{
|
|
| 164 |
@keyframes pwbblinkkf {
|
| 165 |
50% { opacity: 0; }
|
| 166 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
display: none!important;
|
| 106 |
}
|
| 107 |
}
|
| 108 |
+
.pwb-brands-exporter{
|
| 109 |
+
margin-top: 20px;
|
| 110 |
+
padding-top: 20px;
|
| 111 |
+
border-top: 1px solid #ddd;
|
| 112 |
+
text-align: right;
|
| 113 |
+
}
|
| 114 |
+
.pwb-brands-exporter p{
|
| 115 |
+
font-style: italic;
|
| 116 |
+
}
|
| 117 |
/* ----------------------- /Taxonomy pwb-brand ----------------------- */
|
| 118 |
|
| 119 |
/* ----------------------- Settings page ----------------------- */
|
| 173 |
@keyframes pwbblinkkf {
|
| 174 |
50% { opacity: 0; }
|
| 175 |
}
|
| 176 |
+
@keyframes PWBLoadingOverlay {
|
| 177 |
+
to {transform: rotate(360deg);}
|
| 178 |
+
}
|
| 179 |
+
.pwb-loading-overlay{
|
| 180 |
+
position: relative;
|
| 181 |
+
}
|
| 182 |
+
.pwb-loading-overlay::after{
|
| 183 |
+
content: "";
|
| 184 |
+
position: absolute;
|
| 185 |
+
top: 0;
|
| 186 |
+
right: 0;
|
| 187 |
+
bottom: 0;
|
| 188 |
+
left: 0;
|
| 189 |
+
background-color: rgba( 255, 255, 255, .7 );
|
| 190 |
+
z-index: 1;
|
| 191 |
+
}
|
| 192 |
+
.pwb-loading-overlay::before{
|
| 193 |
+
content: "";
|
| 194 |
+
position: absolute;
|
| 195 |
+
box-sizing: border-box;
|
| 196 |
+
top: 50%;
|
| 197 |
+
left: 50%;
|
| 198 |
+
width: 15px;
|
| 199 |
+
height: 15px;
|
| 200 |
+
margin-top: -7.5px;
|
| 201 |
+
margin-left: -7.5px;
|
| 202 |
+
border-radius: 50%;
|
| 203 |
+
border-top: 2px solid #000;
|
| 204 |
+
border-right: 2px solid transparent;
|
| 205 |
+
animation: PWBLoadingOverlay .6s linear infinite;
|
| 206 |
+
z-index: 1;
|
| 207 |
+
}
|
| 208 |
+
input.pwb-brands-import-file{
|
| 209 |
+
display: none!important;
|
| 210 |
+
}
|
assets/css/styles-admin.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-blocked{opacity:.6}.taxonomy-pwb-brand .pwb_brand_image_selected_remove{color:#ff3030;font-family:Arial,Helvetica,sans-serif;text-decoration:none;font-size:20px;font-weight:bold;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,0.5);opacity:0;-webkit-transition:opacity 200ms ease-in-out;-moz-transition:opacity 200ms ease-in-out;-ms-transition:opacity 200ms ease-in-out;-o-transition:opacity 200ms ease-in-out;transition:opacity 200ms ease-in-out}.taxonomy-pwb-brand .pwb_brand_image_selected span{display:inline-block;position:relative;text-align:center;line-height:90px;height:90px}.taxonomy-pwb-brand .pwb_brand_image_selected span:hover .pwb_brand_image_selected_remove{opacity:1}.taxonomy-pwb-brand .pwb_brand_cont #pwb_brand_image,.taxonomy-pwb-brand .pwb_brand_cont #pwb_brand_banner{display:none}.taxonomy-pwb-brand .pwb_brand_cont>div{margin-top:10px}#wp-pwb-brand-description-field-wrap,#brand-description-help-text{width:95%}.taxonomy-pwb-brand .term-description-wrap{display:none!important}.taxonomy-pwb-brand #col-right.pwb-force-full-width .pwb-edit-brands-bottom>span{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.taxonomy-pwb-brand table.wp-list-table .column-featured{width:48px;text-align:center}.taxonomy-pwb-brand .pwb-edit-brands-bottom{margin-top:20px;margin-bottom:20px;background-color:#f6f6f6;border-top:1px solid #e4e4e4;padding:10px}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span:hover{cursor:pointer}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span{float:left}.taxonomy-pwb-brand .pwb-featured-count{font-style:italic;float:right;margin-left:12px;margin-top:0;margin-bottom:0}.taxonomy-pwb-brand table.wp-list-table .column-featured .dashicons-star-empty:hover:before{content:"\f155"}.taxonomy-pwb-brand table .column-featured>span:hover{cursor:pointer}@media screen and (max-width:782px){.taxonomy-pwb-brand .wp-list-table thead th.column-logo,.taxonomy-pwb-brand .wp-list-table tfoot th.column-logo{display:none}.taxonomy-pwb-brand .wp-list-table td.column-logo:before{content:""!important}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span{display:none}}@media screen and (min-width:782px){.taxonomy-pwb-brand #col-right.pwb-force-full-width{width:100%!important}.taxonomy-pwb-brand #col-left.pwb-force-full-width{width:0!important;display:none!important}}#wc_pwb_admin_status_result{display:none;background-color:#f6f6f6;padding:14px}#wc_pwb_admin_tab_tools_system_status{display:none!important}select.pwb-admin-tab-field,input[type="text"].pwb-admin-tab-field{min-width:350px;display:block;height:auto}table.wp-list-table .column-taxonomy-pwb-brand{width:11%!important}.pwb-display-as-logo{display:none}.pwb-display-as-logo.show{display:block}.pwb-notice-dismissible p a{margin-right:12px}.pwb-notice-dismissible .dashicons-heart{color:#f188ff;margin-left:3px}.pwb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999999;line-height:1;background:rgba(0,0,0,0.9);font-size:2em;padding-top:20px;text-align:center}.pwb-modal-inner{max-width:70%;margin:0 auto;animation:pwbblinkkf 3s linear infinite;color:#fff}.pwb-modal-inner p{font-size:2em}@keyframes pwbblinkkf{50%{opacity:0}}
|
| 1 |
+
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-blocked{opacity:.6}.taxonomy-pwb-brand .pwb_brand_image_selected_remove{color:#ff3030;font-family:Arial,Helvetica,sans-serif;text-decoration:none;font-size:20px;font-weight:bold;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,0.5);opacity:0;-webkit-transition:opacity 200ms ease-in-out;-moz-transition:opacity 200ms ease-in-out;-ms-transition:opacity 200ms ease-in-out;-o-transition:opacity 200ms ease-in-out;transition:opacity 200ms ease-in-out}.taxonomy-pwb-brand .pwb_brand_image_selected span{display:inline-block;position:relative;text-align:center;line-height:90px;height:90px}.taxonomy-pwb-brand .pwb_brand_image_selected span:hover .pwb_brand_image_selected_remove{opacity:1}.taxonomy-pwb-brand .pwb_brand_cont #pwb_brand_image,.taxonomy-pwb-brand .pwb_brand_cont #pwb_brand_banner{display:none}.taxonomy-pwb-brand .pwb_brand_cont>div{margin-top:10px}#wp-pwb-brand-description-field-wrap,#brand-description-help-text{width:95%}.taxonomy-pwb-brand .term-description-wrap{display:none!important}.taxonomy-pwb-brand #col-right.pwb-force-full-width .pwb-edit-brands-bottom>span{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.taxonomy-pwb-brand table.wp-list-table .column-featured{width:48px;text-align:center}.taxonomy-pwb-brand .pwb-edit-brands-bottom{margin-top:20px;margin-bottom:20px;background-color:#f6f6f6;border-top:1px solid #e4e4e4;padding:10px}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span:hover{cursor:pointer}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span{float:left}.taxonomy-pwb-brand .pwb-featured-count{font-style:italic;float:right;margin-left:12px;margin-top:0;margin-bottom:0}.taxonomy-pwb-brand table.wp-list-table .column-featured .dashicons-star-empty:hover:before{content:"\f155"}.taxonomy-pwb-brand table .column-featured>span:hover{cursor:pointer}@media screen and (max-width:782px){.taxonomy-pwb-brand .wp-list-table thead th.column-logo,.taxonomy-pwb-brand .wp-list-table tfoot th.column-logo{display:none}.taxonomy-pwb-brand .wp-list-table td.column-logo:before{content:""!important}.taxonomy-pwb-brand .pwb-edit-brands-bottom>span{display:none}}@media screen and (min-width:782px){.taxonomy-pwb-brand #col-right.pwb-force-full-width{width:100%!important}.taxonomy-pwb-brand #col-left.pwb-force-full-width{width:0!important;display:none!important}}.pwb-brands-exporter{margin-top:20px;padding-top:20px;border-top:1px solid #ddd;text-align:right}.pwb-brands-exporter p{font-style:italic}#wc_pwb_admin_status_result{display:none;background-color:#f6f6f6;padding:14px}#wc_pwb_admin_tab_tools_system_status{display:none!important}select.pwb-admin-tab-field,input[type="text"].pwb-admin-tab-field{min-width:350px;display:block;height:auto}table.wp-list-table .column-taxonomy-pwb-brand{width:11%!important}.pwb-display-as-logo{display:none}.pwb-display-as-logo.show{display:block}.pwb-notice-dismissible p a{margin-right:12px}.pwb-notice-dismissible .dashicons-heart{color:#f188ff;margin-left:3px}.pwb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999999;line-height:1;background:rgba(0,0,0,0.9);font-size:2em;padding-top:20px;text-align:center}.pwb-modal-inner{max-width:70%;margin:0 auto;animation:pwbblinkkf 3s linear infinite;color:#fff}.pwb-modal-inner p{font-size:2em}@keyframes pwbblinkkf{50%{opacity:0}}@keyframes PWBLoadingOverlay{to{transform:rotate(360deg)}}.pwb-loading-overlay{position:relative}.pwb-loading-overlay::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.7);z-index:1}.pwb-loading-overlay::before{content:"";position:absolute;box-sizing:border-box;top:50%;left:50%;width:15px;height:15px;margin-top:-7.5px;margin-left:-7.5px;border-radius:50%;border-top:2px solid #000;border-right:2px solid transparent;animation:PWBLoadingOverlay .6s linear infinite;z-index:1}input.pwb-brands-import-file{display:none!important}
|
assets/css/styles-frontend.css
CHANGED
|
@@ -220,6 +220,54 @@
|
|
| 220 |
}
|
| 221 |
/* ----------------------- /PWB All Brands ----------------------- */
|
| 222 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 223 |
/* ----------------------- Filter products widget ----------------------- */
|
| 224 |
.pwb-filter-products input[type="checkbox"]{
|
| 225 |
margin-right: 10px;
|
|
@@ -281,4 +329,16 @@
|
|
| 281 |
width: 50%;
|
| 282 |
}
|
| 283 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
/* ----------------------- /Responsive ----------------------- */
|
| 220 |
}
|
| 221 |
/* ----------------------- /PWB All Brands ----------------------- */
|
| 222 |
|
| 223 |
+
/* ----------------------- PWB AZ Listing ----------------------- */
|
| 224 |
+
.pwb-az-listing-row{
|
| 225 |
+
margin-bottom: 20px;
|
| 226 |
+
}
|
| 227 |
+
.pwb-az-listing-row-in{
|
| 228 |
+
margin-left: -5px;
|
| 229 |
+
margin-right: -5px;
|
| 230 |
+
}
|
| 231 |
+
.pwb-az-listing-col{
|
| 232 |
+
padding: 5px;
|
| 233 |
+
}
|
| 234 |
+
.pwb-az-listing-col > a{
|
| 235 |
+
display: block;
|
| 236 |
+
text-transform: uppercase;
|
| 237 |
+
white-space:nowrap;
|
| 238 |
+
overflow:hidden;
|
| 239 |
+
}
|
| 240 |
+
.pwb-az-listing-title{
|
| 241 |
+
border-bottom: 1px solid #ddd;
|
| 242 |
+
font-weight: bold;
|
| 243 |
+
font-size: 115%;
|
| 244 |
+
text-transform: uppercase;
|
| 245 |
+
}
|
| 246 |
+
.pwb-az-listing-header{
|
| 247 |
+
margin-bottom: 30px;
|
| 248 |
+
}
|
| 249 |
+
.pwb-az-listing-header ul{
|
| 250 |
+
margin: 0;
|
| 251 |
+
padding: 0;
|
| 252 |
+
list-style: none;
|
| 253 |
+
margin-right: -2px;
|
| 254 |
+
margin-left: -2px;
|
| 255 |
+
}
|
| 256 |
+
.pwb-az-listing-header li{
|
| 257 |
+
display: inline-block;
|
| 258 |
+
float: left;
|
| 259 |
+
width: 25px;
|
| 260 |
+
height: 25px;
|
| 261 |
+
margin: 2px;
|
| 262 |
+
line-height: 25px;
|
| 263 |
+
border: 1px solid #ddd;
|
| 264 |
+
text-align: center;
|
| 265 |
+
}
|
| 266 |
+
.pwb-az-listing-header a{
|
| 267 |
+
text-transform: uppercase;
|
| 268 |
+
}
|
| 269 |
+
/* ----------------------- /PWB AZ Listing ----------------------- */
|
| 270 |
+
|
| 271 |
/* ----------------------- Filter products widget ----------------------- */
|
| 272 |
.pwb-filter-products input[type="checkbox"]{
|
| 273 |
margin-right: 10px;
|
| 329 |
width: 50%;
|
| 330 |
}
|
| 331 |
}
|
| 332 |
+
|
| 333 |
+
@media (min-width: 576px) {
|
| 334 |
+
.pwb-az-listing-col{
|
| 335 |
+
width: 50%;
|
| 336 |
+
float: left;
|
| 337 |
+
}
|
| 338 |
+
}
|
| 339 |
+
@media (min-width: 992px) {
|
| 340 |
+
.pwb-az-listing-col{
|
| 341 |
+
width: 25%;
|
| 342 |
+
}
|
| 343 |
+
}
|
| 344 |
/* ----------------------- /Responsive ----------------------- */
|
assets/css/styles-frontend.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-brand-banner-cont.before-loop{margin-bottom:1em}.pwb-brand-banner-cont.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-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%}}
|
| 1 |
+
.pwb-clearfix:after{content:"";display:table;clear:both}.pwb-brand-banner-cont.before-loop{margin-bottom:1em}.pwb-brand-banner-cont.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/img/icon_pwb.jpg
CHANGED
|
Binary file
|
assets/js/functions-admin.js
CHANGED
|
@@ -54,14 +54,16 @@ jQuery( function ( $ ) {
|
|
| 54 |
});
|
| 55 |
|
| 56 |
//clear custom fields when brand is added
|
| 57 |
-
|
|
|
|
| 58 |
//Check ajax action of request that succeeded
|
| 59 |
if( typeof settings != "undefined" && settings.data && ~settings.data.indexOf("action=add-tag") && ~settings.data.indexOf("taxonomy=pwb-brand") ) {
|
| 60 |
$('#pwb_brand_image').val('');
|
| 61 |
$('#pwb_brand_banner').val('');
|
| 62 |
$('.pwb_brand_image_selected').remove();
|
| 63 |
}
|
| 64 |
-
|
|
|
|
| 65 |
|
| 66 |
function add_delete_link( $imageSelectorScope ){
|
| 67 |
|
|
@@ -271,4 +273,71 @@ jQuery( function ( $ ) {
|
|
| 271 |
}
|
| 272 |
/* ····························· /Widgets ····························· */
|
| 273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 274 |
});
|
| 54 |
});
|
| 55 |
|
| 56 |
//clear custom fields when brand is added
|
| 57 |
+
if( $('body').hasClass('edit-tags-php') && $('body').hasClass('taxonomy-pwb-brand') ){
|
| 58 |
+
jQuery( document ).ajaxSuccess(function( event, xhr, settings ) {
|
| 59 |
//Check ajax action of request that succeeded
|
| 60 |
if( typeof settings != "undefined" && settings.data && ~settings.data.indexOf("action=add-tag") && ~settings.data.indexOf("taxonomy=pwb-brand") ) {
|
| 61 |
$('#pwb_brand_image').val('');
|
| 62 |
$('#pwb_brand_banner').val('');
|
| 63 |
$('.pwb_brand_image_selected').remove();
|
| 64 |
}
|
| 65 |
+
});
|
| 66 |
+
}
|
| 67 |
|
| 68 |
function add_delete_link( $imageSelectorScope ){
|
| 69 |
|
| 273 |
}
|
| 274 |
/* ····························· /Widgets ····························· */
|
| 275 |
|
| 276 |
+
/* ····························· Brands exporter ····························· */
|
| 277 |
+
$('button.pwb-brands-export').on('click', function(e){
|
| 278 |
+
e.preventDefault();
|
| 279 |
+
|
| 280 |
+
var $clickedBtn = $(this);
|
| 281 |
+
$clickedBtn.addClass('pwb-loading-overlay');
|
| 282 |
+
$clickedBtn.prop("disabled",true);
|
| 283 |
+
|
| 284 |
+
var data = { 'action': 'pwb_brands_export' };
|
| 285 |
+
$.post(ajax_object.ajax_url, data, function(response) {
|
| 286 |
+
|
| 287 |
+
if( response.success ){
|
| 288 |
+
$clickedBtn.removeClass('pwb-loading-overlay');
|
| 289 |
+
$clickedBtn.prop("disabled",false);
|
| 290 |
+
|
| 291 |
+
//descarga el archivo json de exportación
|
| 292 |
+
$('#pwb-download-export-file').remove();
|
| 293 |
+
var link = document.createElement("a");
|
| 294 |
+
link.download = 'brands.json';
|
| 295 |
+
link.id = 'pwb-download-export-file';
|
| 296 |
+
link.href = response.data.export_file_url;
|
| 297 |
+
$('body').append( link );
|
| 298 |
+
link.click();
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
});
|
| 302 |
+
|
| 303 |
+
});
|
| 304 |
+
|
| 305 |
+
$('button.pwb-brands-import').on('click', function(e){
|
| 306 |
+
e.preventDefault();
|
| 307 |
+
$('input.pwb-brands-import-file').trigger('click');
|
| 308 |
+
});
|
| 309 |
+
$('input.pwb-brands-import-file').on('change', function(e){
|
| 310 |
+
e.preventDefault();
|
| 311 |
+
|
| 312 |
+
var $clickedBtn = $('button.pwb-brands-import');
|
| 313 |
+
$clickedBtn.addClass('pwb-loading-overlay');
|
| 314 |
+
$clickedBtn.prop("disabled",true);
|
| 315 |
+
|
| 316 |
+
var file = $(this)[0].files[0];
|
| 317 |
+
|
| 318 |
+
var reqData = new FormData();
|
| 319 |
+
reqData.append('action', 'pwb_brands_import');
|
| 320 |
+
reqData.append('file', file);
|
| 321 |
+
|
| 322 |
+
$.ajax({
|
| 323 |
+
url: ajax_object.ajax_url,
|
| 324 |
+
type: 'post',
|
| 325 |
+
cache: false,
|
| 326 |
+
dataType: 'json',
|
| 327 |
+
contentType: false,
|
| 328 |
+
processData: false,
|
| 329 |
+
data: reqData,
|
| 330 |
+
success: function( resp ){
|
| 331 |
+
if( resp.success ){
|
| 332 |
+
$clickedBtn.removeClass('pwb-loading-overlay');
|
| 333 |
+
location.reload();
|
| 334 |
+
}else{
|
| 335 |
+
alert('Importer error');
|
| 336 |
+
}
|
| 337 |
+
}
|
| 338 |
+
});
|
| 339 |
+
|
| 340 |
+
})
|
| 341 |
+
/* ····························· /Brands exporter ····························· */
|
| 342 |
+
|
| 343 |
});
|
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())});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()}})
|
| 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")}}})})});
|
assets/js/functions-frontend.js
CHANGED
|
@@ -5,107 +5,113 @@ jQuery( function ( $ ) {
|
|
| 5 |
location.href = href;
|
| 6 |
});
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
| 43 |
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
|
|
|
|
| 80 |
|
| 81 |
/* ··························· Filter by brand widget ··························· */
|
| 82 |
|
| 83 |
var PWBFilterByBrand = function(){
|
| 84 |
|
|
|
|
| 85 |
var currentUrl = window.location.href;
|
| 86 |
|
| 87 |
-
var marcas =
|
| 88 |
$('.pwb-filter-products input[type="checkbox"]').each(function(index){
|
| 89 |
-
|
| 90 |
-
if(checked){
|
| 91 |
-
marcas+=$(this).val();
|
| 92 |
-
if($('.pwb-filter-products input[type="checkbox"]').length-1 != index){
|
| 93 |
-
marcas+=',';
|
| 94 |
-
}
|
| 95 |
-
}
|
| 96 |
});
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
-
|
| 99 |
-
|
| 100 |
|
| 101 |
-
|
| 102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
|
| 104 |
-
if( currentUrl.indexOf("?") === -1 ){
|
| 105 |
-
currentUrl = currentUrl + '?pwb-brand-filter='+marcas;
|
| 106 |
}else{
|
| 107 |
-
currentUrl =
|
| 108 |
}
|
|
|
|
| 109 |
location.href = currentUrl;
|
| 110 |
|
| 111 |
}
|
| 5 |
location.href = href;
|
| 6 |
});
|
| 7 |
|
| 8 |
+
if( typeof $.fn.slick === 'function' ){
|
| 9 |
+
|
| 10 |
+
$('.pwb-carousel').slick({
|
| 11 |
+
slide: '.pwb-slick-slide',
|
| 12 |
+
infinite: true,
|
| 13 |
+
draggable: false,
|
| 14 |
+
prevArrow: '<div class="slick-prev"><span title="Prev"><</span></div>',
|
| 15 |
+
nextArrow: '<div class="slick-next"><span title="Next">></span></div>',
|
| 16 |
+
speed: 300,
|
| 17 |
+
lazyLoad: 'progressive',
|
| 18 |
+
responsive: [
|
| 19 |
+
{
|
| 20 |
+
breakpoint: 1024,
|
| 21 |
+
settings: {
|
| 22 |
+
slidesToShow: 4,
|
| 23 |
+
draggable: true,
|
| 24 |
+
arrows: false
|
| 25 |
+
}
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
breakpoint: 600,
|
| 29 |
+
settings: {
|
| 30 |
+
slidesToShow: 3,
|
| 31 |
+
draggable: true,
|
| 32 |
+
arrows: false
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
breakpoint: 480,
|
| 37 |
+
settings: {
|
| 38 |
+
slidesToShow: 2,
|
| 39 |
+
draggable: true,
|
| 40 |
+
arrows: false
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
]
|
| 44 |
+
});
|
| 45 |
|
| 46 |
+
$('.pwb-product-carousel').slick({
|
| 47 |
+
slide: '.pwb-slick-slide',
|
| 48 |
+
infinite: true,
|
| 49 |
+
draggable: false,
|
| 50 |
+
prevArrow: '<div class="slick-prev"><span title="Prev"><</span></div>',
|
| 51 |
+
nextArrow: '<div class="slick-next"><span title="Next">></span></div>',
|
| 52 |
+
speed: 300,
|
| 53 |
+
lazyLoad: 'progressive',
|
| 54 |
+
responsive: [
|
| 55 |
+
{
|
| 56 |
+
breakpoint: 1024,
|
| 57 |
+
settings: {
|
| 58 |
+
slidesToShow: 3,
|
| 59 |
+
draggable: true,
|
| 60 |
+
arrows: false
|
| 61 |
+
}
|
| 62 |
+
},
|
| 63 |
+
{
|
| 64 |
+
breakpoint: 600,
|
| 65 |
+
settings: {
|
| 66 |
+
slidesToShow: 2,
|
| 67 |
+
draggable: true,
|
| 68 |
+
arrows: false
|
| 69 |
+
}
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
breakpoint: 480,
|
| 73 |
+
settings: {
|
| 74 |
+
slidesToShow: 1,
|
| 75 |
+
draggable: true,
|
| 76 |
+
arrows: false
|
| 77 |
+
}
|
| 78 |
+
}
|
| 79 |
+
]
|
| 80 |
+
});
|
| 81 |
|
| 82 |
+
}
|
| 83 |
|
| 84 |
/* ··························· Filter by brand widget ··························· */
|
| 85 |
|
| 86 |
var PWBFilterByBrand = function(){
|
| 87 |
|
| 88 |
+
var baseUrl = [location.protocol, '//', location.host, location.pathname].join('');
|
| 89 |
var currentUrl = window.location.href;
|
| 90 |
|
| 91 |
+
var marcas = [];
|
| 92 |
$('.pwb-filter-products input[type="checkbox"]').each(function(index){
|
| 93 |
+
if( $(this).prop('checked') ) marcas.push( $(this).val() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
});
|
| 95 |
+
marcas = marcas.join();
|
| 96 |
+
|
| 97 |
+
if( marcas ){
|
| 98 |
|
| 99 |
+
//removes previous "pwb-brand" from url
|
| 100 |
+
currentUrl = currentUrl.replace(/&?pwb-brand-filter=([^&]$|[^&]*)/i, "");
|
| 101 |
|
| 102 |
+
//removes pagination
|
| 103 |
+
currentUrl = currentUrl.replace(/\/page\/\d*\//i, "");
|
| 104 |
+
|
| 105 |
+
if( currentUrl.indexOf("?") === -1 ){
|
| 106 |
+
currentUrl = currentUrl + '?pwb-brand-filter='+marcas;
|
| 107 |
+
}else{
|
| 108 |
+
currentUrl = currentUrl + '&pwb-brand-filter='+marcas;
|
| 109 |
+
}
|
| 110 |
|
|
|
|
|
|
|
| 111 |
}else{
|
| 112 |
+
currentUrl = baseUrl;
|
| 113 |
}
|
| 114 |
+
|
| 115 |
location.href = currentUrl;
|
| 116 |
|
| 117 |
}
|
assets/js/functions-frontend.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
jQuery(function(e){e(".pwb-dropdown-widget").on("change",function(){var g=e(this).find(":selected").val();location.href=g});e(".pwb-carousel").slick({slide:".pwb-slick-slide",infinite:true,draggable:false,prevArrow:'<div class="slick-prev"><span title="Prev"><</span></div>',nextArrow:'<div class="slick-next"><span title="Next">></span></div>',speed:300,lazyLoad:"progressive",responsive:[{breakpoint:1024,settings:{slidesToShow:4,draggable:true,arrows:false}},{breakpoint:600,settings:{slidesToShow:3,draggable:true,arrows:false}},{breakpoint:480,settings:{slidesToShow:2,draggable:true,arrows:false}}]});e(".pwb-product-carousel").slick({slide:".pwb-slick-slide",infinite:true,draggable:false,prevArrow:'<div class="slick-prev"><span title="Prev"><</span></div>',nextArrow:'<div class="slick-next"><span title="Next">></span></div>',speed:300,lazyLoad:"progressive",responsive:[{breakpoint:1024,settings:{slidesToShow:3,draggable:true,arrows:false}},{breakpoint:600,settings:{slidesToShow:2,draggable:true,arrows:false}},{breakpoint:480,settings:{slidesToShow:1,draggable:true,arrows:false}}]})
|
| 1 |
+
jQuery(function(e){e(".pwb-dropdown-widget").on("change",function(){var g=e(this).find(":selected").val();location.href=g});if(typeof e.fn.slick==="function"){e(".pwb-carousel").slick({slide:".pwb-slick-slide",infinite:true,draggable:false,prevArrow:'<div class="slick-prev"><span title="Prev"><</span></div>',nextArrow:'<div class="slick-next"><span title="Next">></span></div>',speed:300,lazyLoad:"progressive",responsive:[{breakpoint:1024,settings:{slidesToShow:4,draggable:true,arrows:false}},{breakpoint:600,settings:{slidesToShow:3,draggable:true,arrows:false}},{breakpoint:480,settings:{slidesToShow:2,draggable:true,arrows:false}}]});e(".pwb-product-carousel").slick({slide:".pwb-slick-slide",infinite:true,draggable:false,prevArrow:'<div class="slick-prev"><span title="Prev"><</span></div>',nextArrow:'<div class="slick-next"><span title="Next">></span></div>',speed:300,lazyLoad:"progressive",responsive:[{breakpoint:1024,settings:{slidesToShow:3,draggable:true,arrows:false}},{breakpoint:600,settings:{slidesToShow:2,draggable:true,arrows:false}},{breakpoint:480,settings:{slidesToShow:1,draggable:true,arrows:false}}]})}var f=function(){var h=[location.protocol,"//",location.host,location.pathname].join("");var i=window.location.href;var g=[];e('.pwb-filter-products input[type="checkbox"]').each(function(j){if(e(this).prop("checked")){g.push(e(this).val())}});g=g.join();if(g){i=i.replace(/&?pwb-brand-filter=([^&]$|[^&]*)/i,"");i=i.replace(/\/page\/\d*\//i,"");if(i.indexOf("?")===-1){i=i+"?pwb-brand-filter="+g}else{i=i+"&pwb-brand-filter="+g}}else{i=h}location.href=i};e(".pwb-filter-products button").on("click",function(){f()});e(".pwb-filter-products.pwb-hide-submit-btn input").on("change",function(){f()});var d=PWBgetUrlParameter("pwb-brand-filter");if(d!=null){var b=d.split(",");e('.pwb-filter-products input[type="checkbox"]').prop("checked",false);for(var c=0,a=b.length;c<a;c++){e('.pwb-filter-products input[type="checkbox"]').each(function(g){if(e(this).val()){if(b[c]==e(this).val()){e(this).prop("checked",true)}}})}}else{e('.pwb-filter-products input[type="checkbox"]').prop("checked",false)}});var PWBgetUrlParameter=function PWBgetUrlParameter(a){var d=decodeURIComponent(window.location.search.substring(1)),c=d.split("&"),e,b;for(b=0;b<c.length;b++){e=c[b].split("=");if(e[0]===a){return e[1]===undefined?true:e[1]}}};
|
classes/admin/class-brands-custom-fields.php
CHANGED
|
@@ -161,10 +161,11 @@ class Brands_Custom_Fields {
|
|
| 161 |
|
| 162 |
/* ·············· Brand desc ·············· */
|
| 163 |
if( isset( $_POST['pwb_brand_description_field'] ) ){
|
| 164 |
-
$
|
| 165 |
-
|
| 166 |
'<p><span><a><ul><ol><li><h1><h2><h3><h4><h5><h6><pre><strong><em><blockquote><del><ins><img><code><hr>'
|
| 167 |
);
|
|
|
|
| 168 |
global $wpdb;
|
| 169 |
$wpdb->update( $wpdb->term_taxonomy, [ 'description' => $desc ], [ 'term_id' => $term_id ] );
|
| 170 |
}
|
| 161 |
|
| 162 |
/* ·············· Brand desc ·············· */
|
| 163 |
if( isset( $_POST['pwb_brand_description_field'] ) ){
|
| 164 |
+
$allowed_tags = apply_filters(
|
| 165 |
+
'pwb_description_allowed_tags',
|
| 166 |
'<p><span><a><ul><ol><li><h1><h2><h3><h4><h5><h6><pre><strong><em><blockquote><del><ins><img><code><hr>'
|
| 167 |
);
|
| 168 |
+
$desc = strip_tags( wp_unslash( $_POST['pwb_brand_description_field'] ), $allowed_tags );
|
| 169 |
global $wpdb;
|
| 170 |
$wpdb->update( $wpdb->term_taxonomy, [ 'description' => $desc ], [ 'term_id' => $term_id ] );
|
| 171 |
}
|
classes/admin/class-brands-exporter.php
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
namespace Perfect_Woocommerce_Brands\Admin;
|
| 3 |
+
|
| 4 |
+
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
| 5 |
+
|
| 6 |
+
class Brands_Exporter {
|
| 7 |
+
|
| 8 |
+
function __construct(){
|
| 9 |
+
add_action( 'after-pwb-brand-table', array( $this, 'exporter_button' ) );
|
| 10 |
+
add_action( 'wp_ajax_pwb_brands_export', array( $this, 'export_brands' ) );
|
| 11 |
+
add_action( 'wp_ajax_pwb_brands_import', array( $this, 'import_brands' ) );
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
public function exporter_button(){
|
| 15 |
+
echo \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::render_template(
|
| 16 |
+
'brands-exporter', 'admin', array( 'ok' => 'va' )
|
| 17 |
+
);
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
public function export_brands(){
|
| 21 |
+
$this->get_brands();
|
| 22 |
+
wp_die();
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
private function get_brands(){
|
| 26 |
+
|
| 27 |
+
$brands_data = array();
|
| 28 |
+
|
| 29 |
+
$brands = get_terms( 'pwb-brand',array( 'hide_empty' => false ) );
|
| 30 |
+
foreach( $brands as $brand ){
|
| 31 |
+
|
| 32 |
+
$current_brand = array(
|
| 33 |
+
'slug' => $brand->slug,
|
| 34 |
+
'name' => $brand->name,
|
| 35 |
+
'banner_link' => get_term_meta( $brand->term_id, 'pwb_brand_banner_link', true ),
|
| 36 |
+
'desc' => htmlentities( $brand->description )
|
| 37 |
+
);
|
| 38 |
+
|
| 39 |
+
$image = get_term_meta( $brand->term_id, 'pwb_brand_image', true );
|
| 40 |
+
$image = wp_get_attachment_image_src( $image, 'full' );
|
| 41 |
+
if( $image ) $current_brand['image'] = $image[0];
|
| 42 |
+
|
| 43 |
+
$banner = get_term_meta( $brand->term_id, 'pwb_brand_banner', true );
|
| 44 |
+
$banner = wp_get_attachment_image_src( $banner, 'full' );
|
| 45 |
+
if( $banner ) $current_brand['banner'] = $banner[0];
|
| 46 |
+
|
| 47 |
+
$brands_data[] = $current_brand;
|
| 48 |
+
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
$export_file = fopen( WP_CONTENT_DIR . '/uploads/pwb-export.json', 'w' );
|
| 52 |
+
fwrite( $export_file, json_encode( $brands_data ) );
|
| 53 |
+
fclose( $export_file );
|
| 54 |
+
|
| 55 |
+
$result = array( 'export_file_url' => WP_CONTENT_URL . '/uploads/pwb-export.json' );
|
| 56 |
+
|
| 57 |
+
wp_send_json_success( $result );
|
| 58 |
+
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
public function import_brands(){
|
| 62 |
+
|
| 63 |
+
if( isset( $_FILES['file'] ) ){
|
| 64 |
+
$file = $_FILES['file'];
|
| 65 |
+
|
| 66 |
+
$file_content = json_decode( file_get_contents( $file['tmp_name'] ), true );
|
| 67 |
+
|
| 68 |
+
if( is_array( $file_content ) ){
|
| 69 |
+
|
| 70 |
+
foreach( $file_content as $brand ){
|
| 71 |
+
|
| 72 |
+
$new_brand = wp_insert_term( $brand['name'], 'pwb-brand', array(
|
| 73 |
+
'slug' => $brand['slug'],
|
| 74 |
+
'description' => html_entity_decode( $brand['desc'] )
|
| 75 |
+
));
|
| 76 |
+
|
| 77 |
+
if( !is_wp_error( $new_brand ) ){
|
| 78 |
+
|
| 79 |
+
if( !empty( $brand['image'] ) )
|
| 80 |
+
$this->upload_remote_image_and_attach( $brand['image'], $new_brand['term_id'], 'pwb_brand_image' );
|
| 81 |
+
if( !empty( $brand['banner'] ) )
|
| 82 |
+
$this->upload_remote_image_and_attach( $brand['banner'], $new_brand['term_id'], 'pwb_brand_banner' );
|
| 83 |
+
if( !empty( $brand['banner_link'] ) )
|
| 84 |
+
update_term_meta( $new_brand['term_id'], 'pwb_brand_banner_link', $brand['banner_link'], true );
|
| 85 |
+
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
wp_send_json_success();
|
| 91 |
+
|
| 92 |
+
}else{
|
| 93 |
+
wp_send_json_error();
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
}else{
|
| 99 |
+
wp_send_json_error();
|
| 100 |
+
}
|
| 101 |
+
|
| 102 |
+
wp_die();
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
private function upload_remote_image_and_attach( $image_url, $term_id, $meta_key ){
|
| 106 |
+
|
| 107 |
+
$get = wp_remote_get( $image_url );
|
| 108 |
+
$type = wp_remote_retrieve_header( $get, 'content-type' );
|
| 109 |
+
|
| 110 |
+
if( !$type ) return false;
|
| 111 |
+
|
| 112 |
+
$mirror = wp_upload_bits( basename( $image_url ), '', wp_remote_retrieve_body( $get ) );
|
| 113 |
+
|
| 114 |
+
$attachment = array(
|
| 115 |
+
'post_title' => basename( $image_url ),
|
| 116 |
+
'post_mime_type' => $type
|
| 117 |
+
);
|
| 118 |
+
|
| 119 |
+
$attach_id = wp_insert_attachment( $attachment, $mirror['file'] );
|
| 120 |
+
require_once ABSPATH . 'wp-admin/includes/image.php';
|
| 121 |
+
$attach_data = wp_generate_attachment_metadata( $attach_id, $mirror['file'] );
|
| 122 |
+
wp_update_attachment_metadata( $attach_id, $attach_data );
|
| 123 |
+
|
| 124 |
+
update_term_meta( $term_id, $meta_key, $attach_id, true );
|
| 125 |
+
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
}
|
classes/admin/class-edit-brands-page.php
CHANGED
|
@@ -108,7 +108,7 @@ class Edit_Brands_Page {
|
|
| 108 |
$direction = 'up';
|
| 109 |
$brand = intval( $_POST['brand'] );
|
| 110 |
if( $this->is_featured_brand( $brand ) ){
|
| 111 |
-
|
| 112 |
$direction = 'down';
|
| 113 |
}else{
|
| 114 |
update_term_meta( $brand, 'pwb_featured_brand', true );
|
| 108 |
$direction = 'up';
|
| 109 |
$brand = intval( $_POST['brand'] );
|
| 110 |
if( $this->is_featured_brand( $brand ) ){
|
| 111 |
+
delete_term_meta( $brand, 'pwb_featured_brand', true );
|
| 112 |
$direction = 'down';
|
| 113 |
}else{
|
| 114 |
update_term_meta( $brand, 'pwb_featured_brand', true );
|
classes/admin/class-pwb-admin-tab.php
CHANGED
|
@@ -62,10 +62,7 @@
|
|
| 62 |
|
| 63 |
$available_image_sizes_adapted = array();
|
| 64 |
$available_image_sizes = get_intermediate_image_sizes();
|
| 65 |
-
|
| 66 |
-
foreach($available_image_sizes as $image_size){
|
| 67 |
-
$available_image_sizes_adapted[$image_size] = $image_size;
|
| 68 |
-
}
|
| 69 |
$available_image_sizes_adapted['full'] = 'full';
|
| 70 |
|
| 71 |
$settings = array(
|
|
@@ -152,6 +149,13 @@
|
|
| 152 |
'after_sharing' => __( 'After sharing', 'perfect-woocommerce-brands' )
|
| 153 |
)
|
| 154 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
'section_end' => array(
|
| 156 |
'type' => 'sectionend',
|
| 157 |
'id' => 'wc_pwb_admin_tab_section_end'
|
| 62 |
|
| 63 |
$available_image_sizes_adapted = array();
|
| 64 |
$available_image_sizes = get_intermediate_image_sizes();
|
| 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(
|
| 149 |
'after_sharing' => __( 'After sharing', 'perfect-woocommerce-brands' )
|
| 150 |
)
|
| 151 |
),
|
| 152 |
+
'brands_page_id' => array(
|
| 153 |
+
'name' => __( 'Brands page id', 'perfect-woocommerce-brands' ),
|
| 154 |
+
'type' => 'text',
|
| 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',
|
| 161 |
'id' => 'wc_pwb_admin_tab_section_end'
|
classes/admin/class-pwb-coupon.php
CHANGED
|
@@ -64,7 +64,11 @@
|
|
| 64 |
$selected_brands = get_post_meta( $coupon_id, '_pwb_coupon_restriction', true );
|
| 65 |
if ( empty( $selected_brands ) ) return $valid;
|
| 66 |
|
| 67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
$product_brands = wp_get_post_terms( $product_id, 'pwb-brand', array( 'fields' => 'ids' ) );
|
| 69 |
$valid_brands = array_intersect( $selected_brands, $product_brands );
|
| 70 |
return !empty( $valid_brands );
|
| 64 |
$selected_brands = get_post_meta( $coupon_id, '_pwb_coupon_restriction', true );
|
| 65 |
if ( empty( $selected_brands ) ) return $valid;
|
| 66 |
|
| 67 |
+
if( $product->is_type( 'variation' ) ){
|
| 68 |
+
$product_id = $product->get_parent_id();
|
| 69 |
+
}else{
|
| 70 |
+
$product_id = is_callable( array( $product, 'get_id' ) ) ? $product->get_id() : $product->id;
|
| 71 |
+
}
|
| 72 |
$product_brands = wp_get_post_terms( $product_id, 'pwb-brand', array( 'fields' => 'ids' ) );
|
| 73 |
$valid_brands = array_intersect( $selected_brands, $product_brands );
|
| 74 |
return !empty( $valid_brands );
|
classes/class-perfect-woocommerce-brands.php
CHANGED
|
@@ -11,7 +11,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 11 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
| 12 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
| 13 |
$this->brand_logo_position();
|
| 14 |
-
$this
|
| 15 |
add_action( 'woocommerce_after_shop_loop_item_title', array( $this, 'show_brands_in_loop' ) );
|
| 16 |
$this->add_shortcodes();
|
| 17 |
if( is_plugin_active('js_composer/js_composer.php') || is_plugin_active('visual_composer/js_composer.php') ){
|
|
@@ -35,16 +35,18 @@ class Perfect_Woocommerce_Brands{
|
|
| 35 |
remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );
|
| 36 |
});
|
| 37 |
add_action( 'woocommerce_product_duplicate', array( $this, 'product_duplicate_save' ), 10, 2 );
|
|
|
|
|
|
|
| 38 |
}
|
| 39 |
|
| 40 |
public function review_notice(){
|
| 41 |
$show_notice = get_option('wc_pwb_notice_plugin_review', true);
|
| 42 |
$activate_on = get_option('pwb_activate_on', time());
|
| 43 |
$now = time();
|
| 44 |
-
$
|
| 45 |
$date_diff = $now - $activate_on;
|
| 46 |
|
| 47 |
-
if ( $show_notice && $date_diff > $
|
| 48 |
?>
|
| 49 |
<div class="notice notice-info pwb-notice-dismissible is-dismissible" data-notice="wc_pwb_notice_plugin_review">
|
| 50 |
<p><?php echo __('We know that you´re in love with Perfect WooCommerce Brands, you can help us making it a bit better. Thanks a lot!', 'perfect-woocommerce-brands' ); ?><span class="dashicons dashicons-heart"></span></p>
|
|
@@ -152,6 +154,10 @@ class Perfect_Woocommerce_Brands{
|
|
| 152 |
'\Perfect_Woocommerce_Brands\Shortcodes\PWB_All_Brands_Shortcode',
|
| 153 |
'all_brands_shortcode'
|
| 154 |
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
add_shortcode( 'pwb-brand', array(
|
| 156 |
'\Perfect_Woocommerce_Brands\Shortcodes\PWB_Brand_Shortcode',
|
| 157 |
'brand_shortcode'
|
|
@@ -241,12 +247,18 @@ class Perfect_Woocommerce_Brands{
|
|
| 241 |
}
|
| 242 |
|
| 243 |
public function brand_desc_position(){
|
| 244 |
-
|
| 245 |
-
if(
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 249 |
}
|
|
|
|
| 250 |
}
|
| 251 |
|
| 252 |
/*
|
|
@@ -448,6 +460,16 @@ class Perfect_Woocommerce_Brands{
|
|
| 448 |
|
| 449 |
));
|
| 450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 451 |
vc_map(array(
|
| 452 |
"name" => __( "PWB brand", "perfect-woocommerce-brands" ),
|
| 453 |
"description" => __( "Show brand for a specific product", "perfect-woocommerce-brands" ),
|
|
@@ -506,7 +528,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 506 |
$attachment_html = wp_get_attachment_image($attachment_id,$image_size);
|
| 507 |
|
| 508 |
if( !empty($attachment_html) && $show_as=='brand_image' || !empty($attachment_html) && !$show_as ){
|
| 509 |
-
echo '<a href="'.$brand_link.'" title="'
|
| 510 |
}else{
|
| 511 |
echo '<a href="'.$brand_link.'" title="'.__( 'View brand', 'perfect-woocommerce-brands' ).'">'.$brand->name.'</a>';
|
| 512 |
}
|
|
@@ -525,7 +547,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 525 |
|
| 526 |
public function enqueue_scripts(){
|
| 527 |
|
| 528 |
-
|
| 529 |
'pwb-lib-slick',
|
| 530 |
PWB_PLUGIN . '/assets/lib/slick/slick.min.js',
|
| 531 |
array('jquery'),
|
|
@@ -533,7 +555,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 533 |
true
|
| 534 |
);
|
| 535 |
|
| 536 |
-
|
| 537 |
'pwb-lib-slick',
|
| 538 |
PWB_PLUGIN . '/assets/lib/slick/slick.css',
|
| 539 |
array(),
|
|
@@ -544,7 +566,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 544 |
wp_enqueue_style(
|
| 545 |
'pwb-styles-frontend',
|
| 546 |
PWB_PLUGIN . '/assets/css/styles-frontend.min.css',
|
| 547 |
-
array(
|
| 548 |
PWB_PLUGIN_VERSION,
|
| 549 |
'all'
|
| 550 |
);
|
|
@@ -552,7 +574,7 @@ class Perfect_Woocommerce_Brands{
|
|
| 552 |
wp_enqueue_script(
|
| 553 |
'pwb-functions-frontend',
|
| 554 |
PWB_PLUGIN . '/assets/js/functions-frontend.min.js',
|
| 555 |
-
array('jquery'
|
| 556 |
PWB_PLUGIN_VERSION,
|
| 557 |
true
|
| 558 |
);
|
|
@@ -692,38 +714,34 @@ class Perfect_Woocommerce_Brands{
|
|
| 692 |
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 693 |
$show_desc_class = ( !$show_desc || $show_desc == 'yes' ) ? 'before-loop' : 'after-loop';
|
| 694 |
|
| 695 |
-
|
| 696 |
-
|
| 697 |
-
|
| 698 |
-
$brand_banner_link = get_term_meta( $queried_object->term_id, 'pwb_brand_banner_link', true );
|
| 699 |
-
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 700 |
-
|
| 701 |
-
if( $brand_banner!='' || $queried_object->description != '' && $show_desc !== 'no' ){
|
| 702 |
-
echo '<div class="pwb-brand-banner-cont '.$show_desc_class.'">';
|
| 703 |
-
}
|
| 704 |
|
| 705 |
-
|
| 706 |
-
|
| 707 |
-
|
| 708 |
-
if($brand_banner_link!=''){
|
| 709 |
-
echo '<a href="'.site_url($brand_banner_link).'">'.wp_get_attachment_image ( $brand_banner, 'full', false ).'</a>';
|
| 710 |
-
}else{
|
| 711 |
-
echo wp_get_attachment_image ( $brand_banner, 'full', false );
|
| 712 |
-
}
|
| 713 |
-
echo '</div>';
|
| 714 |
-
}
|
| 715 |
|
| 716 |
-
|
| 717 |
-
|
| 718 |
-
|
| 719 |
-
|
| 720 |
-
echo '</
|
|
|
|
|
|
|
| 721 |
}
|
|
|
|
|
|
|
| 722 |
|
| 723 |
-
|
|
|
|
|
|
|
|
|
|
| 724 |
echo '</div>';
|
| 725 |
}
|
| 726 |
|
|
|
|
|
|
|
| 727 |
}
|
| 728 |
|
| 729 |
}
|
|
@@ -741,4 +759,14 @@ class Perfect_Woocommerce_Brands{
|
|
| 741 |
wp_set_object_terms( $duplicate->get_id(), $product_brands, 'pwb-brand' );
|
| 742 |
}
|
| 743 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 744 |
}
|
| 11 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
| 12 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
| 13 |
$this->brand_logo_position();
|
| 14 |
+
add_action( 'parse_query', array( $this, 'brand_desc_position' ) );
|
| 15 |
add_action( 'woocommerce_after_shop_loop_item_title', array( $this, 'show_brands_in_loop' ) );
|
| 16 |
$this->add_shortcodes();
|
| 17 |
if( is_plugin_active('js_composer/js_composer.php') || is_plugin_active('visual_composer/js_composer.php') ){
|
| 35 |
remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );
|
| 36 |
});
|
| 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(){
|
| 43 |
$show_notice = get_option('wc_pwb_notice_plugin_review', true);
|
| 44 |
$activate_on = get_option('pwb_activate_on', time());
|
| 45 |
$now = time();
|
| 46 |
+
$one_week = 604800;
|
| 47 |
$date_diff = $now - $activate_on;
|
| 48 |
|
| 49 |
+
if ( $show_notice && $date_diff > $one_week ) {
|
| 50 |
?>
|
| 51 |
<div class="notice notice-info pwb-notice-dismissible is-dismissible" data-notice="wc_pwb_notice_plugin_review">
|
| 52 |
<p><?php echo __('We know that you´re in love with Perfect WooCommerce Brands, you can help us making it a bit better. Thanks a lot!', 'perfect-woocommerce-brands' ); ?><span class="dashicons dashicons-heart"></span></p>
|
| 154 |
'\Perfect_Woocommerce_Brands\Shortcodes\PWB_All_Brands_Shortcode',
|
| 155 |
'all_brands_shortcode'
|
| 156 |
) );
|
| 157 |
+
add_shortcode( 'pwb-az-listing', array(
|
| 158 |
+
'\Perfect_Woocommerce_Brands\Shortcodes\PWB_AZ_Listing_Shortcode',
|
| 159 |
+
'shortcode'
|
| 160 |
+
) );
|
| 161 |
add_shortcode( 'pwb-brand', array(
|
| 162 |
'\Perfect_Woocommerce_Brands\Shortcodes\PWB_Brand_Shortcode',
|
| 163 |
'brand_shortcode'
|
| 247 |
}
|
| 248 |
|
| 249 |
public function brand_desc_position(){
|
| 250 |
+
|
| 251 |
+
if( is_tax('pwb-brand') ){
|
| 252 |
+
|
| 253 |
+
$show_desc = get_option('wc_pwb_admin_tab_brand_desc');
|
| 254 |
+
if( !$show_desc || $show_desc == 'yes' ){
|
| 255 |
+
add_action( 'woocommerce_archive_description', array( $this, 'archive_page_banner' ), 15);
|
| 256 |
+
}elseif( $show_desc == 'yes_after_loop' ){
|
| 257 |
+
add_action( 'woocommerce_after_main_content', array( $this, 'archive_page_banner' ), 9);
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
}
|
| 261 |
+
|
| 262 |
}
|
| 263 |
|
| 264 |
/*
|
| 460 |
|
| 461 |
));
|
| 462 |
|
| 463 |
+
vc_map(array(
|
| 464 |
+
"name" => __( "PWB AZ Listing", "perfect-woocommerce-brands" ),
|
| 465 |
+
"description" => __( "AZ Listing for brands", "perfect-woocommerce-brands" ),
|
| 466 |
+
"base" => "pwb-az-listing",
|
| 467 |
+
"class" => "",
|
| 468 |
+
"icon" => PWB_PLUGIN.'/assets/img/icon_pwb.jpg',
|
| 469 |
+
"category" => "Woocommerce",
|
| 470 |
+
"params" => array()
|
| 471 |
+
));
|
| 472 |
+
|
| 473 |
vc_map(array(
|
| 474 |
"name" => __( "PWB brand", "perfect-woocommerce-brands" ),
|
| 475 |
"description" => __( "Show brand for a specific product", "perfect-woocommerce-brands" ),
|
| 528 |
$attachment_html = wp_get_attachment_image($attachment_id,$image_size);
|
| 529 |
|
| 530 |
if( !empty($attachment_html) && $show_as=='brand_image' || !empty($attachment_html) && !$show_as ){
|
| 531 |
+
echo '<a href="'.$brand_link.'" title="'.$brand->name.'">'.$attachment_html.'</a>';
|
| 532 |
}else{
|
| 533 |
echo '<a href="'.$brand_link.'" title="'.__( 'View brand', 'perfect-woocommerce-brands' ).'">'.$brand->name.'</a>';
|
| 534 |
}
|
| 547 |
|
| 548 |
public function enqueue_scripts(){
|
| 549 |
|
| 550 |
+
wp_register_script(
|
| 551 |
'pwb-lib-slick',
|
| 552 |
PWB_PLUGIN . '/assets/lib/slick/slick.min.js',
|
| 553 |
array('jquery'),
|
| 555 |
true
|
| 556 |
);
|
| 557 |
|
| 558 |
+
wp_register_style(
|
| 559 |
'pwb-lib-slick',
|
| 560 |
PWB_PLUGIN . '/assets/lib/slick/slick.css',
|
| 561 |
array(),
|
| 566 |
wp_enqueue_style(
|
| 567 |
'pwb-styles-frontend',
|
| 568 |
PWB_PLUGIN . '/assets/css/styles-frontend.min.css',
|
| 569 |
+
array(),
|
| 570 |
PWB_PLUGIN_VERSION,
|
| 571 |
'all'
|
| 572 |
);
|
| 574 |
wp_enqueue_script(
|
| 575 |
'pwb-functions-frontend',
|
| 576 |
PWB_PLUGIN . '/assets/js/functions-frontend.min.js',
|
| 577 |
+
array('jquery'),
|
| 578 |
PWB_PLUGIN_VERSION,
|
| 579 |
true
|
| 580 |
);
|
| 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 |
|
| 747 |
}
|
| 759 |
wp_set_object_terms( $duplicate->get_id(), $product_brands, 'pwb-brand' );
|
| 760 |
}
|
| 761 |
|
| 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 |
+
}
|
| 769 |
+
return $crumbs;
|
| 770 |
+
}
|
| 771 |
+
|
| 772 |
}
|
classes/class-pwb-api-support.php
CHANGED
|
@@ -7,10 +7,7 @@ defined('ABSPATH') or die('No script kiddies please!');
|
|
| 7 |
|
| 8 |
class PWB_API_Support{
|
| 9 |
|
| 10 |
-
private $namespaces = array(
|
| 11 |
-
"wc/v1",
|
| 12 |
-
"wc/v2",
|
| 13 |
-
);
|
| 14 |
private $base = 'brands';
|
| 15 |
|
| 16 |
function __construct(){
|
| 7 |
|
| 8 |
class PWB_API_Support{
|
| 9 |
|
| 10 |
+
private $namespaces = array( "wc/v1", "wc/v2", "wc/v3" );
|
|
|
|
|
|
|
|
|
|
| 11 |
private $base = 'brands';
|
| 12 |
|
| 13 |
function __construct(){
|
classes/shortcodes/class-pwb-all-brands.php
CHANGED
|
@@ -78,18 +78,18 @@ class PWB_All_Brands_Shortcode{
|
|
| 78 |
|
| 79 |
<?php if( $title_position != 'none' && $title_position != 'after' ): ?>
|
| 80 |
<p>
|
| 81 |
-
<?php echo $brand_name
|
| 82 |
<small>(<?php echo $brand->count;?>)</small>
|
| 83 |
</p>
|
| 84 |
<?php endif; ?>
|
| 85 |
|
| 86 |
<div>
|
| 87 |
-
<a href="<?php echo $brand_link;?>" title="<?php
|
| 88 |
</div>
|
| 89 |
|
| 90 |
<?php if( $title_position != 'none' && $title_position == 'after' ): ?>
|
| 91 |
<p>
|
| 92 |
-
<?php echo $brand_name
|
| 93 |
<small>(<?php echo $brand->count;?>)</small>
|
| 94 |
</p>
|
| 95 |
<?php endif; ?>
|
| 78 |
|
| 79 |
<?php if( $title_position != 'none' && $title_position != 'after' ): ?>
|
| 80 |
<p>
|
| 81 |
+
<a href="<?php echo $brand_link;?>"><?php echo $brand_name;?></a>
|
| 82 |
<small>(<?php echo $brand->count;?>)</small>
|
| 83 |
</p>
|
| 84 |
<?php endif; ?>
|
| 85 |
|
| 86 |
<div>
|
| 87 |
+
<a href="<?php echo $brand_link;?>" title="<?php echo $brand_name;?>"><?php echo $attachment_html;?></a>
|
| 88 |
</div>
|
| 89 |
|
| 90 |
<?php if( $title_position != 'none' && $title_position == 'after' ): ?>
|
| 91 |
<p>
|
| 92 |
+
<a href="<?php echo $brand_link;?>"><?php echo $brand_name;?></a>
|
| 93 |
<small>(<?php echo $brand->count;?>)</small>
|
| 94 |
</p>
|
| 95 |
<?php endif; ?>
|
classes/shortcodes/class-pwb-az-listing.php
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
namespace Perfect_Woocommerce_Brands\Shortcodes;
|
| 3 |
+
use WP_Query;
|
| 4 |
+
|
| 5 |
+
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
| 6 |
+
|
| 7 |
+
class PWB_AZ_Listing_Shortcode{
|
| 8 |
+
|
| 9 |
+
public static function shortcode( $atts ) {
|
| 10 |
+
|
| 11 |
+
$atts = shortcode_atts( array(), $atts, 'pwb-az-listing' );
|
| 12 |
+
|
| 13 |
+
ob_start();
|
| 14 |
+
|
| 15 |
+
$brands = \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::get_brands( true, 'name', 'ASC' );
|
| 16 |
+
$grouped_brands = array();
|
| 17 |
+
|
| 18 |
+
$letter = null;
|
| 19 |
+
foreach( $brands as $brand ){
|
| 20 |
+
if( $letter != $brand->name[0] ) $letter = $brand->name[0];
|
| 21 |
+
$letter = strtolower( self::replace_specials_characters( $letter ) );
|
| 22 |
+
$grouped_brands[$letter][] = $brand;
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
//navigation
|
| 26 |
+
if( !empty( $grouped_brands ) ):
|
| 27 |
+
?>
|
| 28 |
+
<div class="pwb-az-listing">
|
| 29 |
+
|
| 30 |
+
<div class="pwb-az-listing-header">
|
| 31 |
+
<ul class="pwb-clearfix">
|
| 32 |
+
<?php
|
| 33 |
+
foreach( $grouped_brands as $letter => $brand_group ):
|
| 34 |
+
?>
|
| 35 |
+
<li><a href="#pwb-az-listing-<?php echo $letter;?>"><?php echo $letter;?></a></li>
|
| 36 |
+
<?php
|
| 37 |
+
endforeach;
|
| 38 |
+
?>
|
| 39 |
+
</ul>
|
| 40 |
+
</div>
|
| 41 |
+
|
| 42 |
+
<div class="pwb-az-listing-content">
|
| 43 |
+
<?php
|
| 44 |
+
|
| 45 |
+
foreach( $grouped_brands as $letter => $brand_group ):
|
| 46 |
+
?>
|
| 47 |
+
<div id="pwb-az-listing-<?php echo $letter;?>" class="pwb-az-listing-row pwb-clearfix">
|
| 48 |
+
<p class="pwb-az-listing-title"><?php echo $letter;?></p>
|
| 49 |
+
<div class="pwb-az-listing-row-in">
|
| 50 |
+
<?php
|
| 51 |
+
foreach( $brand_group as $brand ):
|
| 52 |
+
if( !empty( self::has_products( $brand->term_id ) ) ):
|
| 53 |
+
?>
|
| 54 |
+
<div class="pwb-az-listing-col">
|
| 55 |
+
<a href="<?php echo get_term_link($brand->term_id);?>"><?php echo $brand->name;?></a>
|
| 56 |
+
</div>
|
| 57 |
+
<?php
|
| 58 |
+
endif;
|
| 59 |
+
endforeach;
|
| 60 |
+
?>
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<?php
|
| 64 |
+
endforeach;
|
| 65 |
+
|
| 66 |
+
?>
|
| 67 |
+
</div>
|
| 68 |
+
|
| 69 |
+
</div>
|
| 70 |
+
<?php
|
| 71 |
+
|
| 72 |
+
endif;
|
| 73 |
+
|
| 74 |
+
return ob_get_clean();
|
| 75 |
+
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
protected static function replace_specials_characters($s){
|
| 79 |
+
$s = preg_replace("/á|à|â|ã|ª/","a",$s);
|
| 80 |
+
$s = preg_replace("/Á|À|Â|Ã/","A",$s);
|
| 81 |
+
$s = preg_replace("/é|è|ê/","e",$s);
|
| 82 |
+
$s = preg_replace("/É|È|Ê/","E",$s);
|
| 83 |
+
$s = preg_replace("/í|ì|î/","i",$s);
|
| 84 |
+
$s = preg_replace("/Í|Ì|Î/","I",$s);
|
| 85 |
+
$s = preg_replace("/ó|ò|ô|õ|º/","o",$s);
|
| 86 |
+
$s = preg_replace("/Ó|Ò|Ô|Õ/","O",$s);
|
| 87 |
+
$s = preg_replace("/ú|ù|û/","u",$s);
|
| 88 |
+
$s = preg_replace("/Ú|Ù|Û/","U",$s);
|
| 89 |
+
|
| 90 |
+
$s = preg_replace('/[^a-zA-Z0-9_.-]/', '', $s);
|
| 91 |
+
return $s;
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
private static function has_products( $brand_id ){
|
| 95 |
+
|
| 96 |
+
$args = array(
|
| 97 |
+
'posts_per_page' => -1,
|
| 98 |
+
'post_type' => 'product',
|
| 99 |
+
'tax_query' => array(
|
| 100 |
+
array(
|
| 101 |
+
'taxonomy' => 'pwb-brand',
|
| 102 |
+
'field' => 'term_id',
|
| 103 |
+
'terms' => array( $brand_id )
|
| 104 |
+
)
|
| 105 |
+
),
|
| 106 |
+
'fields' => 'ids'
|
| 107 |
+
);
|
| 108 |
+
|
| 109 |
+
if( get_option('woocommerce_hide_out_of_stock_items') === 'yes' ){
|
| 110 |
+
$args['meta_query'] = array(
|
| 111 |
+
array(
|
| 112 |
+
'key' => '_stock_status',
|
| 113 |
+
'value' => 'outofstock',
|
| 114 |
+
'compare' => 'NOT IN'
|
| 115 |
+
)
|
| 116 |
+
);
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
$wp_query = new WP_Query($args);
|
| 120 |
+
wp_reset_postdata();
|
| 121 |
+
return $wp_query->posts;
|
| 122 |
+
|
| 123 |
+
}
|
| 124 |
+
|
| 125 |
+
}
|
classes/shortcodes/class-pwb-carousel.php
CHANGED
|
@@ -19,6 +19,10 @@ class PWB_Carousel_Shortcode{
|
|
| 19 |
'hide_empty' => false
|
| 20 |
), $atts, 'pwb-carousel' );
|
| 21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
return \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::render_template(
|
| 23 |
'carousel',
|
| 24 |
'shortcodes',
|
|
@@ -57,7 +61,7 @@ class PWB_Carousel_Shortcode{
|
|
| 57 |
$attachment_html = $brand->name;
|
| 58 |
if($attachment_id!='') $attachment_html = wp_get_attachment_image( $attachment_id, self::$atts['image_size'] );
|
| 59 |
|
| 60 |
-
$brands[] = array( 'link' => $brand_link, 'attachment_html' => $attachment_html );
|
| 61 |
|
| 62 |
$foreach_i++;
|
| 63 |
}
|
| 19 |
'hide_empty' => false
|
| 20 |
), $atts, 'pwb-carousel' );
|
| 21 |
|
| 22 |
+
//enqueue deps
|
| 23 |
+
if( !wp_style_is('pwb-lib-slick') ) wp_enqueue_style('pwb-lib-slick');
|
| 24 |
+
if( !wp_script_is('pwb-lib-slick') ) wp_enqueue_script('pwb-lib-slick');
|
| 25 |
+
|
| 26 |
return \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::render_template(
|
| 27 |
'carousel',
|
| 28 |
'shortcodes',
|
| 61 |
$attachment_html = $brand->name;
|
| 62 |
if($attachment_id!='') $attachment_html = wp_get_attachment_image( $attachment_id, self::$atts['image_size'] );
|
| 63 |
|
| 64 |
+
$brands[] = array( 'link' => $brand_link, 'attachment_html' => $attachment_html, 'name' => $brand->name );
|
| 65 |
|
| 66 |
$foreach_i++;
|
| 67 |
}
|
classes/shortcodes/class-pwb-product-carousel.php
CHANGED
|
@@ -18,6 +18,10 @@ class PWB_Product_Carousel_Shortcode{
|
|
| 18 |
'arrows' => "false"
|
| 19 |
), $atts, 'pwb-product-carousel' );
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
return \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::render_template(
|
| 22 |
'product-carousel',
|
| 23 |
'shortcodes',
|
| 18 |
'arrows' => "false"
|
| 19 |
), $atts, 'pwb-product-carousel' );
|
| 20 |
|
| 21 |
+
//enqueue deps
|
| 22 |
+
if( !wp_style_is('pwb-lib-slick') ) wp_enqueue_style('pwb-lib-slick');
|
| 23 |
+
if( !wp_script_is('pwb-lib-slick') ) wp_enqueue_script('pwb-lib-slick');
|
| 24 |
+
|
| 25 |
return \Perfect_Woocommerce_Brands\Perfect_Woocommerce_Brands::render_template(
|
| 26 |
'product-carousel',
|
| 27 |
'shortcodes',
|
classes/widgets/class-pwb-filter-by-brand.php
CHANGED
|
@@ -19,7 +19,6 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 19 |
|
| 20 |
$title = ( isset( $instance[ 'title' ] ) ) ? $instance[ 'title' ] : __('Brands', 'perfect-woocommerce-brands');
|
| 21 |
$limit = ( isset( $instance[ 'limit' ] ) ) ? $instance[ 'limit' ] : 20;
|
| 22 |
-
$hide_empty = ( isset( $hide_empty ) && $hide_empty == 'on' ) ? true : false;
|
| 23 |
$hide_submit_btn = ( isset( $hide_submit_btn ) && $hide_submit_btn == 'on' ) ? true : false;
|
| 24 |
?>
|
| 25 |
<p>
|
|
@@ -32,16 +31,6 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 32 |
</label>
|
| 33 |
<input class="widefat" id="<?php echo $this->get_field_id( 'limit' ); ?>" name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo esc_attr( $limit ); ?>" />
|
| 34 |
</p>
|
| 35 |
-
<p>
|
| 36 |
-
<input
|
| 37 |
-
type="checkbox"
|
| 38 |
-
id="<?php echo esc_attr( $this->get_field_id('hide_empty') ); ?>"
|
| 39 |
-
name="<?php echo esc_attr( $this->get_field_name('hide_empty') ); ?>"
|
| 40 |
-
<?php checked( $hide_empty ); ?>>
|
| 41 |
-
<label for="<?php echo esc_attr( $this->get_field_id('hide_empty') ); ?>">
|
| 42 |
-
<?php echo __( 'Hide empty', 'perfect-woocommerce-brands' );?>
|
| 43 |
-
</label>
|
| 44 |
-
</p>
|
| 45 |
<p>
|
| 46 |
<input
|
| 47 |
type="checkbox"
|
|
@@ -62,8 +51,7 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 62 |
$instance = array();
|
| 63 |
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : '';
|
| 64 |
$instance['limit'] = ( $limit != false ) ? $limit : $old_instance['limit'];
|
| 65 |
-
$instance['
|
| 66 |
-
$instance['hide_submit_btn'] = $new_instance['hide_submit_btn'];
|
| 67 |
return $instance;
|
| 68 |
}
|
| 69 |
|
|
@@ -74,16 +62,12 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 74 |
if( !is_tax('pwb-brand') && !is_product() ){
|
| 75 |
|
| 76 |
$hide_submit_btn = ( isset( $hide_submit_btn ) && $hide_submit_btn == 'on' ) ? true : false;
|
| 77 |
-
$hide_empty = ( isset( $hide_empty ) && $hide_empty == 'on' ) ? true : false;
|
| 78 |
-
$brands = get_terms( 'pwb-brand', array( 'hide_empty' => $hide_empty ) );
|
| 79 |
-
$brands_ids = array();
|
| 80 |
-
foreach( $brands as $brand ) $brands_ids[] = $brand->term_id;
|
| 81 |
|
| 82 |
$show_widget = true;
|
| 83 |
-
$
|
| 84 |
-
if( is_product_category() ){
|
| 85 |
-
$
|
| 86 |
-
if(
|
| 87 |
}
|
| 88 |
|
| 89 |
if( $show_widget ){
|
|
@@ -94,7 +78,7 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 94 |
|
| 95 |
echo $args['before_widget'];
|
| 96 |
if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title'];
|
| 97 |
-
$this->render_widget( $
|
| 98 |
echo $args['after_widget'];
|
| 99 |
}
|
| 100 |
|
|
@@ -102,39 +86,40 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 102 |
|
| 103 |
}
|
| 104 |
|
| 105 |
-
public function render_widget( $
|
| 106 |
-
|
| 107 |
-
if( is_product_category() ){
|
| 108 |
|
| 109 |
-
|
| 110 |
-
while ( $the_query->have_posts() ) {
|
| 111 |
-
$the_query->the_post();
|
| 112 |
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
| 115 |
}
|
|
|
|
| 116 |
}
|
| 117 |
-
wp_reset_postdata();
|
| 118 |
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
|
|
|
|
|
|
| 124 |
|
| 125 |
}else{
|
| 126 |
//no product category
|
| 127 |
-
$cate_url = get_permalink( wc_get_page_id( 'shop' ));
|
| 128 |
-
$result_brands =
|
| 129 |
-
if( $limit > 0 ) $result_brands = array_slice( $brands_ids, 0, $limit );
|
| 130 |
}
|
| 131 |
|
|
|
|
|
|
|
| 132 |
global $wp;
|
| 133 |
$current_url = home_url(add_query_arg(array(),$wp->request));
|
| 134 |
|
| 135 |
if( !empty( $result_brands ) ){
|
| 136 |
|
| 137 |
-
$result_brands = array_unique($result_brands);
|
| 138 |
$result_brands_ordered = array();
|
| 139 |
foreach( $result_brands as $brand ){
|
| 140 |
$brand = get_term($brand);
|
|
@@ -154,33 +139,45 @@ class PWB_Filter_By_Brand_Widget extends \WP_Widget {
|
|
| 154 |
|
| 155 |
}
|
| 156 |
|
| 157 |
-
private function current_products_query(
|
| 158 |
|
| 159 |
-
$cat = get_queried_object();
|
| 160 |
-
$cat_id = $cat->term_taxonomy_id;
|
| 161 |
-
$cat_id_array = get_term_children( $cat_id, 'product_cat' );
|
| 162 |
-
$cat_id_array[] = $cat_id;
|
| 163 |
-
|
| 164 |
-
$result_brands = array();
|
| 165 |
$args = array(
|
| 166 |
'posts_per_page' => -1,
|
| 167 |
'post_type' => 'product',
|
| 168 |
'tax_query' => array(
|
| 169 |
-
'relation' => 'AND',
|
| 170 |
-
array(
|
| 171 |
-
'taxonomy' => 'product_cat',
|
| 172 |
-
'field' => 'term_id',
|
| 173 |
-
'terms' => $cat_id_array
|
| 174 |
-
),
|
| 175 |
array(
|
| 176 |
'taxonomy' => 'pwb-brand',
|
| 177 |
-
|
| 178 |
-
'terms' => $brands_ids
|
| 179 |
)
|
| 180 |
-
)
|
|
|
|
| 181 |
);
|
| 182 |
|
| 183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
|
| 185 |
}
|
| 186 |
|
| 19 |
|
| 20 |
$title = ( isset( $instance[ 'title' ] ) ) ? $instance[ 'title' ] : __('Brands', 'perfect-woocommerce-brands');
|
| 21 |
$limit = ( isset( $instance[ 'limit' ] ) ) ? $instance[ 'limit' ] : 20;
|
|
|
|
| 22 |
$hide_submit_btn = ( isset( $hide_submit_btn ) && $hide_submit_btn == 'on' ) ? true : false;
|
| 23 |
?>
|
| 24 |
<p>
|
| 31 |
</label>
|
| 32 |
<input class="widefat" id="<?php echo $this->get_field_id( 'limit' ); ?>" name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo esc_attr( $limit ); ?>" />
|
| 33 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
<p>
|
| 35 |
<input
|
| 36 |
type="checkbox"
|
| 51 |
$instance = array();
|
| 52 |
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : '';
|
| 53 |
$instance['limit'] = ( $limit != false ) ? $limit : $old_instance['limit'];
|
| 54 |
+
$instance['hide_submit_btn'] = ( isset( $new_instance['hide_submit_btn'] ) ) ? $new_instance['hide_submit_btn'] : '';
|
|
|
|
| 55 |
return $instance;
|
| 56 |
}
|
| 57 |
|
| 62 |
if( !is_tax('pwb-brand') && !is_product() ){
|
| 63 |
|
| 64 |
$hide_submit_btn = ( isset( $hide_submit_btn ) && $hide_submit_btn == 'on' ) ? true : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
$show_widget = true;
|
| 67 |
+
$current_products = false;
|
| 68 |
+
if( is_product_category() || is_shop() ){
|
| 69 |
+
$current_products = $this->current_products_query();
|
| 70 |
+
if( empty( $current_products ) ) $show_widget = false;
|
| 71 |
}
|
| 72 |
|
| 73 |
if( $show_widget ){
|
| 78 |
|
| 79 |
echo $args['before_widget'];
|
| 80 |
if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title'];
|
| 81 |
+
$this->render_widget( $current_products, $limit, $hide_submit_btn );
|
| 82 |
echo $args['after_widget'];
|
| 83 |
}
|
| 84 |
|
| 86 |
|
| 87 |
}
|
| 88 |
|
| 89 |
+
public function render_widget( $current_products, $limit, $hide_submit_btn ){
|
|
|
|
|
|
|
| 90 |
|
| 91 |
+
if( is_product_category() || is_shop() ){
|
|
|
|
|
|
|
| 92 |
|
| 93 |
+
if( !empty( $current_products ) ) {
|
| 94 |
+
$result_brands = array();
|
| 95 |
+
foreach( $current_products as $product_id ) {
|
| 96 |
+
$product_brands = wp_get_post_terms($product_id, 'pwb-brand');
|
| 97 |
+
foreach($product_brands as $brand) $result_brands[] = $brand->term_id;
|
| 98 |
}
|
| 99 |
+
$result_brands = array_unique($result_brands);
|
| 100 |
}
|
|
|
|
| 101 |
|
| 102 |
+
if( is_shop() ){
|
| 103 |
+
$cate_url = get_permalink( wc_get_page_id( 'shop' ) );
|
| 104 |
+
}else{
|
| 105 |
+
$cate = get_queried_object();
|
| 106 |
+
$cateID = $cate->term_id;
|
| 107 |
+
$cate_url = get_term_link($cateID);
|
| 108 |
+
}
|
| 109 |
|
| 110 |
}else{
|
| 111 |
//no product category
|
| 112 |
+
$cate_url = get_permalink( wc_get_page_id( 'shop' ) );
|
| 113 |
+
$result_brands = get_terms( 'pwb-brand', array( 'hide_empty' => true, 'fields' => 'ids' ) );
|
|
|
|
| 114 |
}
|
| 115 |
|
| 116 |
+
if( $limit > 0 ) $result_brands = array_slice( $result_brands, 0, $limit );
|
| 117 |
+
|
| 118 |
global $wp;
|
| 119 |
$current_url = home_url(add_query_arg(array(),$wp->request));
|
| 120 |
|
| 121 |
if( !empty( $result_brands ) ){
|
| 122 |
|
|
|
|
| 123 |
$result_brands_ordered = array();
|
| 124 |
foreach( $result_brands as $brand ){
|
| 125 |
$brand = get_term($brand);
|
| 139 |
|
| 140 |
}
|
| 141 |
|
| 142 |
+
private function current_products_query(){
|
| 143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
$args = array(
|
| 145 |
'posts_per_page' => -1,
|
| 146 |
'post_type' => 'product',
|
| 147 |
'tax_query' => array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
array(
|
| 149 |
'taxonomy' => 'pwb-brand',
|
| 150 |
+
'operator' => 'EXISTS'
|
|
|
|
| 151 |
)
|
| 152 |
+
),
|
| 153 |
+
'fields' => 'ids'
|
| 154 |
);
|
| 155 |
|
| 156 |
+
$cat = get_queried_object();
|
| 157 |
+
if( is_a( $cat, 'WP_Term' ) ){
|
| 158 |
+
$cat_id = $cat->term_taxonomy_id;
|
| 159 |
+
$cat_id_array = get_term_children( $cat_id, 'product_cat' );
|
| 160 |
+
$cat_id_array[] = $cat_id;
|
| 161 |
+
$args['tax_query'][] = array(
|
| 162 |
+
'taxonomy' => 'product_cat',
|
| 163 |
+
'field' => 'term_id',
|
| 164 |
+
'terms' => $cat_id_array
|
| 165 |
+
);
|
| 166 |
+
}
|
| 167 |
+
|
| 168 |
+
if( get_option('woocommerce_hide_out_of_stock_items') === 'yes' ){
|
| 169 |
+
$args['meta_query'] = array(
|
| 170 |
+
array(
|
| 171 |
+
'key' => '_stock_status',
|
| 172 |
+
'value' => 'outofstock',
|
| 173 |
+
'compare' => 'NOT IN'
|
| 174 |
+
)
|
| 175 |
+
);
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
$wp_query = new WP_Query($args);
|
| 179 |
+
wp_reset_postdata();
|
| 180 |
+
return $wp_query->posts;
|
| 181 |
|
| 182 |
}
|
| 183 |
|
lang/perfect-woocommerce-brands-es_ES.mo
CHANGED
|
Binary file
|
lang/perfect-woocommerce-brands-es_ES.po
CHANGED
|
@@ -7,8 +7,8 @@ msgid ""
|
|
| 7 |
msgstr ""
|
| 8 |
"Project-Id-Version: \n"
|
| 9 |
"Report-Msgid-Bugs-To: \n"
|
| 10 |
-
"POT-Creation-Date: 2018-
|
| 11 |
-
"PO-Revision-Date: 2018-
|
| 12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
| 13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
| 14 |
"Language: \n"
|
|
@@ -18,7 +18,7 @@ msgstr ""
|
|
| 18 |
"Plural-Forms: \n"
|
| 19 |
"X-Generator: Eazy Po 0.9.5.3\n"
|
| 20 |
|
| 21 |
-
#: main.php:
|
| 22 |
msgid ""
|
| 23 |
"Perfect WooCommerce Brands needs WooCommerce to run. Please, install and "
|
| 24 |
"active WooCommerce plugin."
|
|
@@ -26,7 +26,7 @@ msgstr ""
|
|
| 26 |
"Perfect WooCommerce Brands necesita WooCommerce para funcionar. Por favor, "
|
| 27 |
"instala y activa WooCommerce."
|
| 28 |
|
| 29 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 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!"
|
|
@@ -34,7 +34,7 @@ msgstr ""
|
|
| 34 |
"Sabemos que Perfect WooCommerce Brands te encanta, puedes ayudarnos a "
|
| 35 |
"hacerlo un poco mejor. ¡Muchas gracias!"
|
| 36 |
|
| 37 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 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>"
|
|
@@ -42,7 +42,7 @@ msgstr ""
|
|
| 42 |
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 43 |
"reviews/?rate=5#new-post\" target=\"_blank\">Dejar una review</a>"
|
| 44 |
|
| 45 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 46 |
msgid ""
|
| 47 |
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 48 |
"woocommerce-brands\" target=\"_blank\">Translate the plugin</a>"
|
|
@@ -50,7 +50,7 @@ msgstr ""
|
|
| 50 |
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 51 |
"woocommerce-brands\" target=\"_blank\">Traducir el plugin</a>"
|
| 52 |
|
| 53 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 54 |
msgid ""
|
| 55 |
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 56 |
"\"_blank\">View on GitHub</a>"
|
|
@@ -58,20 +58,20 @@ msgstr ""
|
|
| 58 |
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 59 |
"\"_blank\">Ver en GitHub</a>"
|
| 60 |
|
| 61 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 62 |
msgid "Settings"
|
| 63 |
msgstr "Ajustes"
|
| 64 |
|
| 65 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 66 |
msgid "PWB Product carousel"
|
| 67 |
msgstr "PWB Carrusel de productos"
|
| 68 |
|
| 69 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 70 |
msgid "Product carousel by brand or by category"
|
| 71 |
msgstr "Carrusel de productos por marca o categoría"
|
| 72 |
|
| 73 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 74 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 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
|
|
@@ -79,170 +79,174 @@ msgstr "Carrusel de productos por marca o categoría"
|
|
| 79 |
msgid "Brand"
|
| 80 |
msgstr "Marca"
|
| 81 |
|
| 82 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 83 |
msgid "Products"
|
| 84 |
msgstr "Productos"
|
| 85 |
|
| 86 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 87 |
msgid "Number of products to load"
|
| 88 |
msgstr "Número de productos que cargar"
|
| 89 |
|
| 90 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 91 |
msgid "Products to show"
|
| 92 |
msgstr "Productos a mostrar"
|
| 93 |
|
| 94 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 95 |
msgid "Number of products to show"
|
| 96 |
msgstr "Número de productos que mostrar"
|
| 97 |
|
| 98 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 99 |
msgid "Products to scroll"
|
| 100 |
msgstr "Número de productos por scroll"
|
| 101 |
|
| 102 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 103 |
msgid "Number of products to scroll"
|
| 104 |
msgstr "Número de productos por cada scroll"
|
| 105 |
|
| 106 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 107 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 108 |
msgid "Autoplay"
|
| 109 |
msgstr "Modo automático"
|
| 110 |
|
| 111 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 112 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 113 |
msgid "Autoplay carousel"
|
| 114 |
msgstr "Modo automático para el carrusel"
|
| 115 |
|
| 116 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 117 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 118 |
msgid "Arrows"
|
| 119 |
msgstr "Flechas de navegación"
|
| 120 |
|
| 121 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 122 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 123 |
msgid "Display prev and next arrows"
|
| 124 |
msgstr "Mostrar flechas de navegación"
|
| 125 |
|
| 126 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 127 |
msgid "PWB Brands carousel"
|
| 128 |
msgstr "PWB Carrusel de marcas"
|
| 129 |
|
| 130 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 131 |
msgid "Brands carousel"
|
| 132 |
msgstr "Carrusel de marcas"
|
| 133 |
|
| 134 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 135 |
msgid "Items"
|
| 136 |
msgstr "Elementos"
|
| 137 |
|
| 138 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 139 |
msgid "Number of items to load (or 'featured')"
|
| 140 |
msgstr "Número de elementos a cargar (o 'featured')"
|
| 141 |
|
| 142 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 143 |
msgid "Items to show"
|
| 144 |
msgstr "Elementos a mostrar"
|
| 145 |
|
| 146 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 147 |
msgid "Number of items to show"
|
| 148 |
msgstr "Número de elementos a mostrar"
|
| 149 |
|
| 150 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 151 |
msgid "Items to scroll"
|
| 152 |
msgstr "Número de elementos por scroll"
|
| 153 |
|
| 154 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 155 |
msgid "Number of items to scroll"
|
| 156 |
msgstr "Número de elementos por cada scroll"
|
| 157 |
|
| 158 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 159 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 160 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 161 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 162 |
msgid "Brand logo size"
|
| 163 |
msgstr "Tamaño del logo de la marca"
|
| 164 |
|
| 165 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 166 |
msgid "PWB All brands"
|
| 167 |
msgstr "PWB Todas las marcas"
|
| 168 |
|
| 169 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 170 |
msgid "Show all brands"
|
| 171 |
msgstr "Mostrar todas las marcas"
|
| 172 |
|
| 173 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 174 |
msgid "Brands per page"
|
| 175 |
msgstr "Marcas por página"
|
| 176 |
|
| 177 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 178 |
msgid "Show x brands per page"
|
| 179 |
msgstr "Mostrar x marcas por página"
|
| 180 |
|
| 181 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 182 |
msgid "Order by"
|
| 183 |
msgstr "Ordenar por"
|
| 184 |
|
| 185 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 186 |
msgid "Order"
|
| 187 |
msgstr "Orden"
|
| 188 |
|
| 189 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 190 |
msgid "Title position"
|
| 191 |
msgstr "Posición del título"
|
| 192 |
|
| 193 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 194 |
msgid "Before image"
|
| 195 |
msgstr "Antes de la imagen"
|
| 196 |
|
| 197 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 198 |
msgid "After image"
|
| 199 |
msgstr "Después de la imagen"
|
| 200 |
|
| 201 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 202 |
msgid "Hide"
|
| 203 |
msgstr "Ocultar"
|
| 204 |
|
| 205 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 206 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 207 |
-
#: classes/widgets/class-pwb-
|
| 208 |
-
#: classes/widgets/class-pwb-list.php:66
|
| 209 |
msgid "Hide empty"
|
| 210 |
msgstr "Ocultar vacías"
|
| 211 |
|
| 212 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 213 |
msgid "Hide brands that have not been assigned to any product"
|
| 214 |
msgstr "Ocultar marcas que no han sido asignadas a ningún producto"
|
| 215 |
|
| 216 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 217 |
msgid "PWB brand"
|
| 218 |
msgstr "PWB Marca"
|
| 219 |
|
| 220 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 221 |
msgid "Show brand for a specific product"
|
| 222 |
msgstr "Ver marcas de un producto específico"
|
| 223 |
|
| 224 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 225 |
msgid "Product id"
|
| 226 |
msgstr "Id del producto"
|
| 227 |
|
| 228 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 229 |
msgid "Product id (post id)"
|
| 230 |
msgstr "Id del producto (id del post)"
|
| 231 |
|
| 232 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 233 |
-
#: classes/class-perfect-woocommerce-brands.php:511
|
| 234 |
-
#: classes/shortcodes/class-pwb-all-brands.php:90
|
| 235 |
#: classes/shortcodes/class-pwb-brand.php:29
|
| 236 |
#: classes/shortcodes/class-pwb-brand.php:31
|
| 237 |
-
#: templates/shortcodes/carousel.php:18
|
| 238 |
msgid "View brand"
|
| 239 |
msgstr "Ver marca"
|
| 240 |
|
| 241 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 242 |
msgid "¿Start migration?"
|
| 243 |
msgstr "¿Comenzar la migración?"
|
| 244 |
|
| 245 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 246 |
msgid ""
|
| 247 |
"We are migrating the product brands. ¡Don´t close this window until the "
|
| 248 |
"process is finished!"
|
|
@@ -250,11 +254,11 @@ msgstr ""
|
|
| 250 |
"Estamos migrando las marcas de producto. ¡No cierres esta ventana hasta que "
|
| 251 |
"el proceso finalice!"
|
| 252 |
|
| 253 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 254 |
msgid "¿Start loading dummy data?"
|
| 255 |
msgstr "¿Comenzar con la importación?"
|
| 256 |
|
| 257 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 258 |
msgid ""
|
| 259 |
"We are importing the dummy data. ¡Don´t close this window until the process "
|
| 260 |
"is finished!"
|
|
@@ -262,80 +266,85 @@ msgstr ""
|
|
| 262 |
"En este momento estamos importando las marcas ficticias. ¡No cierre esta "
|
| 263 |
"ventana hasta que termine el proceso!"
|
| 264 |
|
| 265 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 266 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 267 |
#: classes/admin/class-edit-brands-page.php:128
|
| 268 |
#: classes/admin/class-pwb-admin-tab.php:21
|
| 269 |
-
#: classes/widgets/class-pwb-
|
| 270 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 271 |
-
#:
|
|
|
|
| 272 |
msgid "Brands"
|
| 273 |
msgstr "Marcas"
|
| 274 |
|
| 275 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 276 |
msgid "All Brands"
|
| 277 |
msgstr "Todas las marcas"
|
| 278 |
|
| 279 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 280 |
msgid "Edit Brand"
|
| 281 |
msgstr "Editar marca"
|
| 282 |
|
| 283 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 284 |
msgid "View Brand"
|
| 285 |
msgstr "Ver marca"
|
| 286 |
|
| 287 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 288 |
msgid "Update Brand"
|
| 289 |
msgstr "Actualizar marca"
|
| 290 |
|
| 291 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 292 |
msgid "Add New Brand"
|
| 293 |
msgstr "Añadir nueva marca"
|
| 294 |
|
| 295 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 296 |
msgid "New Brand Name"
|
| 297 |
msgstr "Nuevo nombre de marca"
|
| 298 |
|
| 299 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 300 |
msgid "Parent Brand"
|
| 301 |
msgstr "Marca Padre"
|
| 302 |
|
| 303 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 304 |
msgid "Parent Brand:"
|
| 305 |
msgstr "Marca Padre:"
|
| 306 |
|
| 307 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 308 |
msgid "Search Brands"
|
| 309 |
msgstr "Buscar Marcas"
|
| 310 |
|
| 311 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 312 |
msgid "Popular Brands"
|
| 313 |
msgstr "Marcas Populares"
|
| 314 |
|
| 315 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 316 |
msgid "Separate brands with commas"
|
| 317 |
msgstr "Separar marcas con comas"
|
| 318 |
|
| 319 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 320 |
msgid "Add or remove brands"
|
| 321 |
msgstr "Añadir o eliminar marcas"
|
| 322 |
|
| 323 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 324 |
msgid "Choose from the most used brands"
|
| 325 |
msgstr "Seleccionar de las marcas más utilizadas"
|
| 326 |
|
| 327 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 328 |
msgid "No brands found"
|
| 329 |
msgstr "No se han encontrado marcas"
|
| 330 |
|
| 331 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 332 |
msgid "All"
|
| 333 |
msgstr "Todas"
|
| 334 |
|
| 335 |
-
#: classes/class-pwb-api-support.php:
|
| 336 |
msgid "Product brands"
|
| 337 |
msgstr "Marcas del producto"
|
| 338 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 339 |
#: classes/admin/class-brands-custom-fields.php:20
|
| 340 |
#: classes/admin/class-brands-custom-fields.php:59
|
| 341 |
msgid "Description"
|
|
@@ -352,7 +361,7 @@ msgstr ""
|
|
| 352 |
|
| 353 |
#: classes/admin/class-brands-custom-fields.php:26
|
| 354 |
#: classes/admin/class-brands-custom-fields.php:68
|
| 355 |
-
#: classes/widgets/class-pwb-list.php:
|
| 356 |
msgid "Brand logo"
|
| 357 |
msgstr "Logo de la marca"
|
| 358 |
|
|
@@ -404,126 +413,135 @@ msgstr "Error!"
|
|
| 404 |
msgid "Show featured brands first"
|
| 405 |
msgstr "Mostrar marcas favoritas primero"
|
| 406 |
|
| 407 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 408 |
msgid "Brands settings"
|
| 409 |
msgstr "Ajustes de las marcas"
|
| 410 |
|
| 411 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 412 |
msgid "Slug"
|
| 413 |
msgstr "Slug"
|
| 414 |
|
| 415 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 416 |
msgid "Brands taxonomy slug"
|
| 417 |
msgstr "Slug de la taxonomía marcas"
|
| 418 |
|
| 419 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 420 |
msgid "Show brand description"
|
| 421 |
msgstr "Mostrar descripción de la marca"
|
| 422 |
|
| 423 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 424 |
msgid "Show brand description (if is set) on brand archive page"
|
| 425 |
msgstr "Mostrar descripción de la marca en la página de archivo"
|
| 426 |
|
| 427 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 428 |
msgid "Yes, before product loop"
|
| 429 |
msgstr "Si, antes de los productos"
|
| 430 |
|
| 431 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 432 |
msgid "Yes, after product loop"
|
| 433 |
msgstr "Si, después de los productos"
|
| 434 |
|
| 435 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 436 |
msgid "No, hide description"
|
| 437 |
msgstr "No, ocultar descripción"
|
| 438 |
|
| 439 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 440 |
msgid "Single product tab"
|
| 441 |
msgstr "Tab en la página del producto"
|
| 442 |
|
| 443 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 444 |
msgid "Show brand tab in single product page"
|
| 445 |
msgstr "Mostrar pestaña con información de la marca en la página del producto"
|
| 446 |
|
| 447 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 448 |
msgid "Show brands in loop"
|
| 449 |
msgstr "Mostrar marcas en el loop"
|
| 450 |
|
| 451 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 452 |
msgid "Show brand logo (or name) in product loop"
|
| 453 |
msgstr "Mostrar el logo de la marca (o el nombre) en el loop"
|
| 454 |
|
| 455 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 456 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 457 |
msgid "No"
|
| 458 |
msgstr "No"
|
| 459 |
|
| 460 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 461 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 462 |
msgid "Show brand link"
|
| 463 |
msgstr "Mostrar el link de la marca"
|
| 464 |
|
| 465 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 466 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 467 |
msgid "Show brand image (if is set)"
|
| 468 |
msgstr "Mostrar el logo de la marca (si tiene uno asignado)"
|
| 469 |
|
| 470 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 471 |
msgid "Show brands in single product"
|
| 472 |
msgstr "Mostrar marcas en la página del producto"
|
| 473 |
|
| 474 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 475 |
msgid "Show brand logo (or name) in single product"
|
| 476 |
msgstr "Mostrar el logo de la marca (o el nombre) en la página del producto"
|
| 477 |
|
| 478 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 479 |
msgid "Brand logo size for single product view"
|
| 480 |
msgstr "Tamaño del logo para la vista individual de producto"
|
| 481 |
|
| 482 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 483 |
msgid "Brand position"
|
| 484 |
msgstr "Posición de la marca"
|
| 485 |
|
| 486 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 487 |
msgid "For single product"
|
| 488 |
msgstr "En la página individual de cada producto"
|
| 489 |
|
| 490 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 491 |
msgid "Before title"
|
| 492 |
msgstr "Antes del título"
|
| 493 |
|
| 494 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 495 |
msgid "After title"
|
| 496 |
msgstr "Después del título"
|
| 497 |
|
| 498 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 499 |
msgid "After price"
|
| 500 |
msgstr "Después del precio"
|
| 501 |
|
| 502 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 503 |
msgid "After excerpt"
|
| 504 |
msgstr "Después de la descripción corta"
|
| 505 |
|
| 506 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 507 |
msgid "After add to cart"
|
| 508 |
msgstr "Después del botón de comprar"
|
| 509 |
|
| 510 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 511 |
msgid "After meta"
|
| 512 |
msgstr "Después del meta"
|
| 513 |
|
| 514 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 515 |
msgid "After sharing"
|
| 516 |
msgstr "Después de compartir"
|
| 517 |
|
| 518 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 519 |
msgid "Tools"
|
| 520 |
msgstr "Herramientas"
|
| 521 |
|
| 522 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
|
|
|
| 523 |
msgid "Import brands"
|
| 524 |
msgstr "Importar marcas"
|
| 525 |
|
| 526 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 527 |
#, php-format
|
| 528 |
msgid ""
|
| 529 |
"Import brands from other brand plugin. <a href=\"%s\" target=\"_blank"
|
|
@@ -532,42 +550,42 @@ msgstr ""
|
|
| 532 |
"Importar marcas de producto de otro plugin de marcas. <a href=\"%s\" target="
|
| 533 |
"\"_blank\">Pulsa aquí para ver la documentación</a>"
|
| 534 |
|
| 535 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 536 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 537 |
msgid "-"
|
| 538 |
msgstr "-"
|
| 539 |
|
| 540 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 541 |
msgid "YITH WooCommerce Brands Add-On"
|
| 542 |
msgstr "YITH WooCommerce Brands Add-On"
|
| 543 |
|
| 544 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 545 |
msgid "Ultimate WooCommerce Brands"
|
| 546 |
msgstr "Ultimate WooCommerce Brands"
|
| 547 |
|
| 548 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 549 |
msgid "Offical WooCommerce Brands"
|
| 550 |
msgstr "Offical WooCommerce Brands"
|
| 551 |
|
| 552 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 553 |
msgid "Dummy data"
|
| 554 |
msgstr "Datos ficticios"
|
| 555 |
|
| 556 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 557 |
msgid "Import generic brands and assign it to products randomly"
|
| 558 |
msgstr ""
|
| 559 |
"Importar marcas genéricas y asignarlas a los productos existentes de forma "
|
| 560 |
"aleatoria"
|
| 561 |
|
| 562 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 563 |
msgid "Start import"
|
| 564 |
msgstr "Comenzar importación"
|
| 565 |
|
| 566 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 567 |
msgid "System status"
|
| 568 |
msgstr "Estado del sistema"
|
| 569 |
|
| 570 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 571 |
msgid "Show system status"
|
| 572 |
msgstr "Ver estado del sistema"
|
| 573 |
|
|
@@ -587,23 +605,23 @@ msgstr ""
|
|
| 587 |
"El cupón será válido si existe al menos un producto de la marca señalada en "
|
| 588 |
"el carrito"
|
| 589 |
|
| 590 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 591 |
msgid "First page"
|
| 592 |
msgstr "Primera página"
|
| 593 |
|
| 594 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 595 |
msgid "Previous page"
|
| 596 |
msgstr "Página anterior"
|
| 597 |
|
| 598 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 599 |
msgid "Next page"
|
| 600 |
msgstr "Siguiente página"
|
| 601 |
|
| 602 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 603 |
msgid "Last page"
|
| 604 |
msgstr "Última página"
|
| 605 |
|
| 606 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 607 |
msgid "No results"
|
| 608 |
msgstr "No se han encontrado resultados"
|
| 609 |
|
|
@@ -615,28 +633,36 @@ msgstr "Añade un desplegable con las marcas a tu sitio"
|
|
| 615 |
msgid "Brands dropdown"
|
| 616 |
msgstr "Desplegable de marcas"
|
| 617 |
|
| 618 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 619 |
msgid "Title"
|
| 620 |
msgstr "Título"
|
| 621 |
|
| 622 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 623 |
-
#: classes/widgets/class-pwb-list.php:
|
| 624 |
-
msgid "
|
| 625 |
-
msgstr "
|
| 626 |
|
| 627 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 628 |
msgid "Recommended for product categories or shop page"
|
| 629 |
msgstr "Recomendado para las categorías de producto y la página de la tienda"
|
| 630 |
|
| 631 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 632 |
msgid "Filter products by brand"
|
| 633 |
msgstr "Filtrar productos por marca"
|
| 634 |
|
| 635 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 636 |
-
#: classes/widgets/class-pwb-list.php:
|
| 637 |
msgid "Title:"
|
| 638 |
msgstr "Título:"
|
| 639 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 640 |
#: classes/widgets/class-pwb-list.php:10
|
| 641 |
msgid "Adds a brands list to your site"
|
| 642 |
msgstr "Añade una lista de marcas a tu sitio"
|
|
@@ -645,23 +671,38 @@ msgstr "Añade una lista de marcas a tu sitio"
|
|
| 645 |
msgid "Brands list"
|
| 646 |
msgstr "Lista de marcas"
|
| 647 |
|
| 648 |
-
#: classes/widgets/class-pwb-list.php:
|
| 649 |
msgid "Display as:"
|
| 650 |
msgstr "Mostrar como:"
|
| 651 |
|
| 652 |
-
#: classes/widgets/class-pwb-list.php:
|
| 653 |
msgid "Brand name"
|
| 654 |
msgstr "Nombre de la marca"
|
| 655 |
|
| 656 |
-
#: classes/widgets/class-pwb-list.php:
|
| 657 |
msgid "Columns:"
|
| 658 |
msgstr "Columnas:"
|
| 659 |
|
| 660 |
-
#: classes/widgets/class-pwb-list.php:
|
| 661 |
-
|
|
|
|
|
|
|
|
|
|
| 662 |
msgid "Go to"
|
| 663 |
msgstr "Ir a"
|
| 664 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 665 |
#: templates/shortcodes/carousel.php:24
|
| 666 |
#: templates/shortcodes/product-carousel.php:28
|
| 667 |
msgid "Loading"
|
|
@@ -671,18 +712,11 @@ msgstr "Cargando"
|
|
| 671 |
msgid "Nothing found"
|
| 672 |
msgstr "Aquí no hay nada"
|
| 673 |
|
| 674 |
-
#: templates/widgets/filter-by-brand.php:
|
| 675 |
msgid "Apply filter"
|
| 676 |
msgstr "Filtrar"
|
| 677 |
|
| 678 |
-
|
| 679 |
-
|
| 680 |
-
|
| 681 |
-
|
| 682 |
-
#~ msgstr "https://wordpress.org/plugins/perfect-woocommerce-brands/"
|
| 683 |
-
|
| 684 |
-
#~ msgid "Alberto de Vera Sevilla"
|
| 685 |
-
#~ msgstr "Alberto de Vera Sevilla"
|
| 686 |
-
|
| 687 |
-
#~ msgid "https://profiles.wordpress.org/titodevera/"
|
| 688 |
-
#~ msgstr "https://profiles.wordpress.org/titodevera/"
|
| 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: FULL NAME <EMAIL@ADDRESS>\n"
|
| 13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
| 14 |
"Language: \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."
|
| 26 |
"Perfect WooCommerce Brands necesita WooCommerce para funcionar. Por favor, "
|
| 27 |
"instala y 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!"
|
| 34 |
"Sabemos que Perfect WooCommerce Brands te encanta, puedes ayudarnos a "
|
| 35 |
"hacerlo un poco mejor. ¡Muchas gracias!"
|
| 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>"
|
| 42 |
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 43 |
"reviews/?rate=5#new-post\" target=\"_blank\">Dejar 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>"
|
| 50 |
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 51 |
"woocommerce-brands\" target=\"_blank\">Traducir 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>"
|
| 58 |
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 59 |
"\"_blank\">Ver en GitHub</a>"
|
| 60 |
|
| 61 |
+
#: classes/class-perfect-woocommerce-brands.php:79
|
| 62 |
msgid "Settings"
|
| 63 |
msgstr "Ajustes"
|
| 64 |
|
| 65 |
+
#: classes/class-perfect-woocommerce-brands.php:280
|
| 66 |
msgid "PWB Product carousel"
|
| 67 |
msgstr "PWB Carrusel de productos"
|
| 68 |
|
| 69 |
+
#: classes/class-perfect-woocommerce-brands.php:281
|
| 70 |
msgid "Product carousel by brand or by category"
|
| 71 |
msgstr "Carrusel de productos por marca o categoría"
|
| 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
|
| 79 |
msgid "Brand"
|
| 80 |
msgstr "Marca"
|
| 81 |
|
| 82 |
+
#: classes/class-perfect-woocommerce-brands.php:297
|
| 83 |
msgid "Products"
|
| 84 |
msgstr "Productos"
|
| 85 |
|
| 86 |
+
#: classes/class-perfect-woocommerce-brands.php:300
|
| 87 |
msgid "Number of products to load"
|
| 88 |
msgstr "Número de productos que cargar"
|
| 89 |
|
| 90 |
+
#: classes/class-perfect-woocommerce-brands.php:305
|
| 91 |
msgid "Products to show"
|
| 92 |
msgstr "Productos a mostrar"
|
| 93 |
|
| 94 |
+
#: classes/class-perfect-woocommerce-brands.php:308
|
| 95 |
msgid "Number of products to show"
|
| 96 |
msgstr "Número de productos que mostrar"
|
| 97 |
|
| 98 |
+
#: classes/class-perfect-woocommerce-brands.php:313
|
| 99 |
msgid "Products to scroll"
|
| 100 |
msgstr "Número de productos por scroll"
|
| 101 |
|
| 102 |
+
#: classes/class-perfect-woocommerce-brands.php:316
|
| 103 |
msgid "Number of products to scroll"
|
| 104 |
msgstr "Número de productos por cada scroll"
|
| 105 |
|
| 106 |
+
#: classes/class-perfect-woocommerce-brands.php:321
|
| 107 |
+
#: classes/class-perfect-woocommerce-brands.php:370
|
| 108 |
msgid "Autoplay"
|
| 109 |
msgstr "Modo automático"
|
| 110 |
|
| 111 |
+
#: classes/class-perfect-woocommerce-brands.php:323
|
| 112 |
+
#: classes/class-perfect-woocommerce-brands.php:372
|
| 113 |
msgid "Autoplay carousel"
|
| 114 |
msgstr "Modo automático para el carrusel"
|
| 115 |
|
| 116 |
+
#: classes/class-perfect-woocommerce-brands.php:328
|
| 117 |
+
#: classes/class-perfect-woocommerce-brands.php:377
|
| 118 |
msgid "Arrows"
|
| 119 |
msgstr "Flechas de navegación"
|
| 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 flechas de navegación"
|
| 125 |
|
| 126 |
+
#: classes/class-perfect-woocommerce-brands.php:336
|
| 127 |
msgid "PWB Brands carousel"
|
| 128 |
msgstr "PWB Carrusel de marcas"
|
| 129 |
|
| 130 |
+
#: classes/class-perfect-woocommerce-brands.php:337
|
| 131 |
msgid "Brands carousel"
|
| 132 |
msgstr "Carrusel de marcas"
|
| 133 |
|
| 134 |
+
#: classes/class-perfect-woocommerce-brands.php:346
|
| 135 |
msgid "Items"
|
| 136 |
msgstr "Elementos"
|
| 137 |
|
| 138 |
+
#: classes/class-perfect-woocommerce-brands.php:349
|
| 139 |
msgid "Number of items to load (or 'featured')"
|
| 140 |
msgstr "Número de elementos a cargar (o 'featured')"
|
| 141 |
|
| 142 |
+
#: classes/class-perfect-woocommerce-brands.php:354
|
| 143 |
msgid "Items to show"
|
| 144 |
msgstr "Elementos a mostrar"
|
| 145 |
|
| 146 |
+
#: classes/class-perfect-woocommerce-brands.php:357
|
| 147 |
msgid "Number of items to show"
|
| 148 |
msgstr "Número de elementos a mostrar"
|
| 149 |
|
| 150 |
+
#: classes/class-perfect-woocommerce-brands.php:362
|
| 151 |
msgid "Items to scroll"
|
| 152 |
msgstr "Número de elementos por scroll"
|
| 153 |
|
| 154 |
+
#: classes/class-perfect-woocommerce-brands.php:365
|
| 155 |
msgid "Number of items to scroll"
|
| 156 |
msgstr "Número de elementos por 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 "Tamaño del logo de la marca"
|
| 164 |
|
| 165 |
+
#: classes/class-perfect-woocommerce-brands.php:394
|
| 166 |
msgid "PWB All brands"
|
| 167 |
msgstr "PWB Todas las marcas"
|
| 168 |
|
| 169 |
+
#: classes/class-perfect-woocommerce-brands.php:395
|
| 170 |
msgid "Show all brands"
|
| 171 |
msgstr "Mostrar todas las marcas"
|
| 172 |
|
| 173 |
+
#: classes/class-perfect-woocommerce-brands.php:404
|
| 174 |
msgid "Brands per page"
|
| 175 |
msgstr "Marcas por página"
|
| 176 |
|
| 177 |
+
#: classes/class-perfect-woocommerce-brands.php:407
|
| 178 |
msgid "Show x brands per page"
|
| 179 |
msgstr "Mostrar x marcas por página"
|
| 180 |
|
| 181 |
+
#: classes/class-perfect-woocommerce-brands.php:418
|
| 182 |
msgid "Order by"
|
| 183 |
msgstr "Ordenar por"
|
| 184 |
|
| 185 |
+
#: classes/class-perfect-woocommerce-brands.php:432
|
| 186 |
msgid "Order"
|
| 187 |
msgstr "Orden"
|
| 188 |
|
| 189 |
+
#: classes/class-perfect-woocommerce-brands.php:442
|
| 190 |
msgid "Title position"
|
| 191 |
msgstr "Posición del título"
|
| 192 |
|
| 193 |
+
#: classes/class-perfect-woocommerce-brands.php:446
|
| 194 |
msgid "Before image"
|
| 195 |
msgstr "Antes de la imagen"
|
| 196 |
|
| 197 |
+
#: classes/class-perfect-woocommerce-brands.php:447
|
| 198 |
msgid "After image"
|
| 199 |
msgstr "Después de la imagen"
|
| 200 |
|
| 201 |
+
#: classes/class-perfect-woocommerce-brands.php:448
|
| 202 |
msgid "Hide"
|
| 203 |
msgstr "Ocultar"
|
| 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 "Ocultar vacías"
|
| 210 |
|
| 211 |
+
#: classes/class-perfect-woocommerce-brands.php:456
|
| 212 |
msgid "Hide brands that have not been assigned to any product"
|
| 213 |
msgstr "Ocultar marcas que no han sido asignadas a ningún producto"
|
| 214 |
|
| 215 |
+
#: classes/class-perfect-woocommerce-brands.php:464
|
| 216 |
+
msgid "PWB AZ Listing"
|
| 217 |
+
msgstr "Lista A-Z"
|
| 218 |
+
|
| 219 |
+
#: classes/class-perfect-woocommerce-brands.php:465
|
| 220 |
+
msgid "AZ Listing for brands"
|
| 221 |
+
msgstr "Listado A-Z de marcas"
|
| 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 "Ver marcas de un producto específico"
|
| 230 |
|
| 231 |
+
#: classes/class-perfect-woocommerce-brands.php:485
|
| 232 |
msgid "Product id"
|
| 233 |
msgstr "Id del producto"
|
| 234 |
|
| 235 |
+
#: classes/class-perfect-woocommerce-brands.php:488
|
| 236 |
msgid "Product id (post id)"
|
| 237 |
msgstr "Id del producto (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 "Ver marca"
|
| 244 |
|
| 245 |
+
#: classes/class-perfect-woocommerce-brands.php:598
|
| 246 |
msgid "¿Start migration?"
|
| 247 |
msgstr "¿Comenzar la migración?"
|
| 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!"
|
| 254 |
"Estamos migrando las marcas de producto. ¡No cierres esta ventana hasta que "
|
| 255 |
"el proceso finalice!"
|
| 256 |
|
| 257 |
+
#: classes/class-perfect-woocommerce-brands.php:600
|
| 258 |
msgid "¿Start loading dummy data?"
|
| 259 |
msgstr "¿Comenzar con la importación?"
|
| 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!"
|
| 266 |
"En este momento estamos importando las marcas ficticias. ¡No cierre esta "
|
| 267 |
"ventana hasta que termine el proceso!"
|
| 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 "Marcas"
|
| 279 |
|
| 280 |
+
#: classes/class-perfect-woocommerce-brands.php:613
|
| 281 |
msgid "All Brands"
|
| 282 |
msgstr "Todas las marcas"
|
| 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 "Ver marca"
|
| 291 |
|
| 292 |
+
#: classes/class-perfect-woocommerce-brands.php:616
|
| 293 |
msgid "Update Brand"
|
| 294 |
msgstr "Actualizar marca"
|
| 295 |
|
| 296 |
+
#: classes/class-perfect-woocommerce-brands.php:617
|
| 297 |
msgid "Add New Brand"
|
| 298 |
msgstr "Añadir nueva marca"
|
| 299 |
|
| 300 |
+
#: classes/class-perfect-woocommerce-brands.php:618
|
| 301 |
msgid "New Brand Name"
|
| 302 |
msgstr "Nuevo nombre de marca"
|
| 303 |
|
| 304 |
+
#: classes/class-perfect-woocommerce-brands.php:619
|
| 305 |
msgid "Parent Brand"
|
| 306 |
msgstr "Marca Padre"
|
| 307 |
|
| 308 |
+
#: classes/class-perfect-woocommerce-brands.php:620
|
| 309 |
msgid "Parent Brand:"
|
| 310 |
msgstr "Marca Padre:"
|
| 311 |
|
| 312 |
+
#: classes/class-perfect-woocommerce-brands.php:621
|
| 313 |
msgid "Search Brands"
|
| 314 |
msgstr "Buscar Marcas"
|
| 315 |
|
| 316 |
+
#: classes/class-perfect-woocommerce-brands.php:622
|
| 317 |
msgid "Popular Brands"
|
| 318 |
msgstr "Marcas Populares"
|
| 319 |
|
| 320 |
+
#: classes/class-perfect-woocommerce-brands.php:623
|
| 321 |
msgid "Separate brands with commas"
|
| 322 |
msgstr "Separar marcas con comas"
|
| 323 |
|
| 324 |
+
#: classes/class-perfect-woocommerce-brands.php:624
|
| 325 |
msgid "Add or remove brands"
|
| 326 |
msgstr "Añadir o eliminar marcas"
|
| 327 |
|
| 328 |
+
#: classes/class-perfect-woocommerce-brands.php:625
|
| 329 |
msgid "Choose from the most used brands"
|
| 330 |
msgstr "Seleccionar de las marcas más utilizadas"
|
| 331 |
|
| 332 |
+
#: classes/class-perfect-woocommerce-brands.php:626
|
| 333 |
msgid "No brands found"
|
| 334 |
msgstr "No se han encontrado marcas"
|
| 335 |
|
| 336 |
+
#: classes/class-perfect-woocommerce-brands.php:697
|
| 337 |
msgid "All"
|
| 338 |
msgstr "Todas"
|
| 339 |
|
| 340 |
+
#: classes/class-pwb-api-support.php:87
|
| 341 |
msgid "Product brands"
|
| 342 |
msgstr "Marcas del producto"
|
| 343 |
|
| 344 |
+
#: classes/class-pwb-term.php:20
|
| 345 |
+
msgid "Only WP_Term objects are allowed"
|
| 346 |
+
msgstr "Solo se permiten objetos del tipo WP_Term"
|
| 347 |
+
|
| 348 |
#: classes/admin/class-brands-custom-fields.php:20
|
| 349 |
#: classes/admin/class-brands-custom-fields.php:59
|
| 350 |
msgid "Description"
|
| 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 |
|
| 413 |
msgid "Show featured brands first"
|
| 414 |
msgstr "Mostrar marcas favoritas primero"
|
| 415 |
|
| 416 |
+
#: classes/admin/class-pwb-admin-tab.php:70
|
| 417 |
msgid "Brands settings"
|
| 418 |
msgstr "Ajustes de las marcas"
|
| 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 taxonomía marcas"
|
| 427 |
|
| 428 |
+
#: classes/admin/class-pwb-admin-tab.php:84
|
| 429 |
msgid "Show brand description"
|
| 430 |
msgstr "Mostrar descripción 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ón de la marca en la página de archivo"
|
| 435 |
|
| 436 |
+
#: classes/admin/class-pwb-admin-tab.php:91
|
| 437 |
msgid "Yes, before product loop"
|
| 438 |
msgstr "Si, antes de los productos"
|
| 439 |
|
| 440 |
+
#: classes/admin/class-pwb-admin-tab.php:92
|
| 441 |
msgid "Yes, after product loop"
|
| 442 |
msgstr "Si, después de los productos"
|
| 443 |
|
| 444 |
+
#: classes/admin/class-pwb-admin-tab.php:93
|
| 445 |
msgid "No, hide description"
|
| 446 |
msgstr "No, ocultar descripción"
|
| 447 |
|
| 448 |
+
#: classes/admin/class-pwb-admin-tab.php:97
|
| 449 |
msgid "Single product tab"
|
| 450 |
msgstr "Tab en la página del producto"
|
| 451 |
|
| 452 |
+
#: classes/admin/class-pwb-admin-tab.php:100
|
| 453 |
msgid "Show brand tab in single product page"
|
| 454 |
msgstr "Mostrar pestaña con información de la marca en la página del producto"
|
| 455 |
|
| 456 |
+
#: classes/admin/class-pwb-admin-tab.php:104
|
| 457 |
msgid "Show brands in loop"
|
| 458 |
msgstr "Mostrar marcas en el 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 nombre) en el 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 tiene uno asignado)"
|
| 478 |
|
| 479 |
+
#: classes/admin/class-pwb-admin-tab.php:116
|
| 480 |
msgid "Show brands in single product"
|
| 481 |
msgstr "Mostrar marcas en la página del producto"
|
| 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 nombre) en la página del producto"
|
| 486 |
|
| 487 |
+
#: classes/admin/class-pwb-admin-tab.php:132
|
| 488 |
msgid "Brand logo size for single product view"
|
| 489 |
msgstr "Tamaño del logo para la vista individual de producto"
|
| 490 |
|
| 491 |
+
#: classes/admin/class-pwb-admin-tab.php:137
|
| 492 |
msgid "Brand position"
|
| 493 |
msgstr "Posición de la marca"
|
| 494 |
|
| 495 |
+
#: classes/admin/class-pwb-admin-tab.php:140
|
| 496 |
msgid "For single product"
|
| 497 |
msgstr "En la página individual de cada producto"
|
| 498 |
|
| 499 |
+
#: classes/admin/class-pwb-admin-tab.php:143
|
| 500 |
msgid "Before title"
|
| 501 |
msgstr "Antes del título"
|
| 502 |
|
| 503 |
+
#: classes/admin/class-pwb-admin-tab.php:144
|
| 504 |
msgid "After title"
|
| 505 |
msgstr "Después del título"
|
| 506 |
|
| 507 |
+
#: classes/admin/class-pwb-admin-tab.php:145
|
| 508 |
msgid "After price"
|
| 509 |
msgstr "Después del precio"
|
| 510 |
|
| 511 |
+
#: classes/admin/class-pwb-admin-tab.php:146
|
| 512 |
msgid "After excerpt"
|
| 513 |
msgstr "Después de la descripción corta"
|
| 514 |
|
| 515 |
+
#: classes/admin/class-pwb-admin-tab.php:147
|
| 516 |
msgid "After add to cart"
|
| 517 |
msgstr "Después del botón de comprar"
|
| 518 |
|
| 519 |
+
#: classes/admin/class-pwb-admin-tab.php:148
|
| 520 |
msgid "After meta"
|
| 521 |
msgstr "Después del meta"
|
| 522 |
|
| 523 |
+
#: classes/admin/class-pwb-admin-tab.php:149
|
| 524 |
msgid "After sharing"
|
| 525 |
msgstr "Después de compartir"
|
| 526 |
|
| 527 |
+
#: classes/admin/class-pwb-admin-tab.php:153
|
| 528 |
+
msgid "Brands page id"
|
| 529 |
+
msgstr "ID de la página de marcas"
|
| 530 |
+
|
| 531 |
+
#: classes/admin/class-pwb-admin-tab.php:156
|
| 532 |
+
msgid "For linking breadcrumbs"
|
| 533 |
+
msgstr "Para el enlace de las migas de pan"
|
| 534 |
+
|
| 535 |
+
#: classes/admin/class-pwb-admin-tab.php:173
|
| 536 |
msgid "Tools"
|
| 537 |
msgstr "Herramientas"
|
| 538 |
|
| 539 |
+
#: classes/admin/class-pwb-admin-tab.php:179
|
| 540 |
+
#: templates/admin/brands-exporter.php:16
|
| 541 |
msgid "Import brands"
|
| 542 |
msgstr "Importar marcas"
|
| 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"
|
| 550 |
"Importar marcas de producto de otro plugin de marcas. <a href=\"%s\" target="
|
| 551 |
"\"_blank\">Pulsa aquí para ver la documentación</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 "Datos ficticios"
|
| 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 marcas genéricas y asignarlas a los productos existentes de forma "
|
| 578 |
"aleatoria"
|
| 579 |
|
| 580 |
+
#: classes/admin/class-pwb-admin-tab.php:202
|
| 581 |
msgid "Start import"
|
| 582 |
msgstr "Comenzar importación"
|
| 583 |
|
| 584 |
+
#: classes/admin/class-pwb-admin-tab.php:206
|
| 585 |
msgid "System status"
|
| 586 |
msgstr "Estado del sistema"
|
| 587 |
|
| 588 |
+
#: classes/admin/class-pwb-admin-tab.php:208
|
| 589 |
msgid "Show system status"
|
| 590 |
msgstr "Ver estado del sistema"
|
| 591 |
|
| 605 |
"El cupón será válido si existe al menos un producto de la marca señalada en "
|
| 606 |
"el carrito"
|
| 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 "Siguiente página"
|
| 619 |
|
| 620 |
+
#: classes/shortcodes/class-pwb-all-brands.php:118
|
| 621 |
msgid "Last page"
|
| 622 |
msgstr "Última página"
|
| 623 |
|
| 624 |
+
#: classes/shortcodes/class-pwb-all-brands.php:123
|
| 625 |
msgid "No results"
|
| 626 |
msgstr "No se han encontrado resultados"
|
| 627 |
|
| 633 |
msgid "Brands dropdown"
|
| 634 |
msgstr "Desplegable de marcas"
|
| 635 |
|
| 636 |
+
#: classes/widgets/class-pwb-dropdown.php:26
|
| 637 |
msgid "Title"
|
| 638 |
msgstr "Título"
|
| 639 |
|
| 640 |
+
#: classes/widgets/class-pwb-dropdown.php:54
|
| 641 |
+
#: classes/widgets/class-pwb-list.php:77
|
| 642 |
+
msgid "Only favorite brands"
|
| 643 |
+
msgstr "Solo marcas favoritas"
|
| 644 |
|
| 645 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:11
|
| 646 |
msgid "Recommended for product categories or shop page"
|
| 647 |
msgstr "Recomendado para las categorías de producto y la página de la tienda"
|
| 648 |
|
| 649 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:12
|
| 650 |
msgid "Filter products by brand"
|
| 651 |
msgstr "Filtrar productos 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ítulo:"
|
| 657 |
|
| 658 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:30
|
| 659 |
+
msgid "Max number of brands"
|
| 660 |
+
msgstr "Número máximo de marcas"
|
| 661 |
+
|
| 662 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:41
|
| 663 |
+
msgid "Hide filter button"
|
| 664 |
+
msgstr "No mostrar el botón Filtrar"
|
| 665 |
+
|
| 666 |
#: classes/widgets/class-pwb-list.php:10
|
| 667 |
msgid "Adds a brands list to your site"
|
| 668 |
msgstr "Añade una lista de marcas a tu sitio"
|
| 671 |
msgid "Brands list"
|
| 672 |
msgstr "Lista de marcas"
|
| 673 |
|
| 674 |
+
#: classes/widgets/class-pwb-list.php:37
|
| 675 |
msgid "Display as:"
|
| 676 |
msgstr "Mostrar como:"
|
| 677 |
|
| 678 |
+
#: classes/widgets/class-pwb-list.php:42
|
| 679 |
msgid "Brand name"
|
| 680 |
msgstr "Nombre de la marca"
|
| 681 |
|
| 682 |
+
#: classes/widgets/class-pwb-list.php:47
|
| 683 |
msgid "Columns:"
|
| 684 |
msgstr "Columnas:"
|
| 685 |
|
| 686 |
+
#: classes/widgets/class-pwb-list.php:87
|
| 687 |
+
msgid "Randomize"
|
| 688 |
+
msgstr "Aleatorio"
|
| 689 |
+
|
| 690 |
+
#: classes/widgets/class-pwb-list.php:119
|
| 691 |
msgid "Go to"
|
| 692 |
msgstr "Ir a"
|
| 693 |
|
| 694 |
+
#: templates/admin/brands-exporter.php:15
|
| 695 |
+
msgid "Export brands"
|
| 696 |
+
msgstr "Exportar marcas"
|
| 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 |
+
"Esta herramienta permite exportar e importar marcas entre dos sitios "
|
| 704 |
+
"diferentes que utilizan PWB"
|
| 705 |
+
|
| 706 |
#: templates/shortcodes/carousel.php:24
|
| 707 |
#: templates/shortcodes/product-carousel.php:28
|
| 708 |
msgid "Loading"
|
| 712 |
msgid "Nothing found"
|
| 713 |
msgstr "Aquí no hay nada"
|
| 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 se encuentran marcas disponibles"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/perfect-woocommerce-brands.pot
CHANGED
|
@@ -2,66 +2,65 @@
|
|
| 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 |
#, fuzzy
|
| 6 |
msgid ""
|
| 7 |
msgstr ""
|
| 8 |
-
"Project-Id-Version: \n"
|
| 9 |
-
"Report-Msgid-Bugs-To:
|
| 10 |
-
"POT-Creation-Date:
|
| 11 |
-
"PO-Revision-Date:
|
| 12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
| 13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
| 14 |
"Language: \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: nplurals=INTEGER; plural=EXPRESSION;\n"
|
| 19 |
-
"X-Generator: Eazy Po 0.9.5.3\n"
|
| 20 |
|
| 21 |
-
#: main.php:
|
| 22 |
msgid ""
|
| 23 |
"Perfect WooCommerce Brands needs WooCommerce to run. Please, install and "
|
| 24 |
"active WooCommerce plugin."
|
| 25 |
msgstr ""
|
| 26 |
|
| 27 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 28 |
msgid ""
|
| 29 |
"We know that you´re in love with Perfect WooCommerce Brands, you can help us "
|
| 30 |
"making it a bit better. Thanks a lot!"
|
| 31 |
msgstr ""
|
| 32 |
|
| 33 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 34 |
msgid ""
|
| 35 |
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 36 |
"reviews/?rate=5#new-post\" target=\"_blank\">Leave a review</a>"
|
| 37 |
msgstr ""
|
| 38 |
|
| 39 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 40 |
msgid ""
|
| 41 |
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 42 |
"woocommerce-brands\" target=\"_blank\">Translate the plugin</a>"
|
| 43 |
msgstr ""
|
| 44 |
|
| 45 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 46 |
msgid ""
|
| 47 |
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 48 |
"\"_blank\">View on GitHub</a>"
|
| 49 |
msgstr ""
|
| 50 |
|
| 51 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 52 |
msgid "Settings"
|
| 53 |
msgstr ""
|
| 54 |
|
| 55 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 56 |
msgid "PWB Product carousel"
|
| 57 |
msgstr ""
|
| 58 |
|
| 59 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 60 |
msgid "Product carousel by brand or by category"
|
| 61 |
msgstr ""
|
| 62 |
|
| 63 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 64 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 65 |
#: classes/class-pwb-product-tab.php:18 classes/class-pwb-product-tab.php:35
|
| 66 |
#: classes/admin/class-pwb-exporter-support.php:22
|
| 67 |
#: classes/admin/class-pwb-importer-support.php:22
|
|
@@ -69,259 +68,268 @@ msgstr ""
|
|
| 69 |
msgid "Brand"
|
| 70 |
msgstr ""
|
| 71 |
|
| 72 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 73 |
msgid "Products"
|
| 74 |
msgstr ""
|
| 75 |
|
| 76 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 77 |
msgid "Number of products to load"
|
| 78 |
msgstr ""
|
| 79 |
|
| 80 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 81 |
msgid "Products to show"
|
| 82 |
msgstr ""
|
| 83 |
|
| 84 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 85 |
msgid "Number of products to show"
|
| 86 |
msgstr ""
|
| 87 |
|
| 88 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 89 |
msgid "Products to scroll"
|
| 90 |
msgstr ""
|
| 91 |
|
| 92 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 93 |
msgid "Number of products to scroll"
|
| 94 |
msgstr ""
|
| 95 |
|
| 96 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 97 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 98 |
msgid "Autoplay"
|
| 99 |
msgstr ""
|
| 100 |
|
| 101 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 102 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 103 |
msgid "Autoplay carousel"
|
| 104 |
msgstr ""
|
| 105 |
|
| 106 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 107 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 108 |
msgid "Arrows"
|
| 109 |
msgstr ""
|
| 110 |
|
| 111 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 112 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 113 |
msgid "Display prev and next arrows"
|
| 114 |
msgstr ""
|
| 115 |
|
| 116 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 117 |
msgid "PWB Brands carousel"
|
| 118 |
msgstr ""
|
| 119 |
|
| 120 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 121 |
msgid "Brands carousel"
|
| 122 |
msgstr ""
|
| 123 |
|
| 124 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 125 |
msgid "Items"
|
| 126 |
msgstr ""
|
| 127 |
|
| 128 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 129 |
msgid "Number of items to load (or 'featured')"
|
| 130 |
msgstr ""
|
| 131 |
|
| 132 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 133 |
msgid "Items to show"
|
| 134 |
msgstr ""
|
| 135 |
|
| 136 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 137 |
msgid "Number of items to show"
|
| 138 |
msgstr ""
|
| 139 |
|
| 140 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 141 |
msgid "Items to scroll"
|
| 142 |
msgstr ""
|
| 143 |
|
| 144 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 145 |
msgid "Number of items to scroll"
|
| 146 |
msgstr ""
|
| 147 |
|
| 148 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 149 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 150 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 151 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 152 |
msgid "Brand logo size"
|
| 153 |
msgstr ""
|
| 154 |
|
| 155 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 156 |
msgid "PWB All brands"
|
| 157 |
msgstr ""
|
| 158 |
|
| 159 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 160 |
msgid "Show all brands"
|
| 161 |
msgstr ""
|
| 162 |
|
| 163 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 164 |
msgid "Brands per page"
|
| 165 |
msgstr ""
|
| 166 |
|
| 167 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 168 |
msgid "Show x brands per page"
|
| 169 |
msgstr ""
|
| 170 |
|
| 171 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 172 |
msgid "Order by"
|
| 173 |
msgstr ""
|
| 174 |
|
| 175 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 176 |
msgid "Order"
|
| 177 |
msgstr ""
|
| 178 |
|
| 179 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 180 |
msgid "Title position"
|
| 181 |
msgstr ""
|
| 182 |
|
| 183 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 184 |
msgid "Before image"
|
| 185 |
msgstr ""
|
| 186 |
|
| 187 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 188 |
msgid "After image"
|
| 189 |
msgstr ""
|
| 190 |
|
| 191 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 192 |
msgid "Hide"
|
| 193 |
msgstr ""
|
| 194 |
|
| 195 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 196 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 197 |
-
#: classes/widgets/class-pwb-
|
| 198 |
-
#: classes/widgets/class-pwb-list.php:66
|
| 199 |
msgid "Hide empty"
|
| 200 |
msgstr ""
|
| 201 |
|
| 202 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 203 |
msgid "Hide brands that have not been assigned to any product"
|
| 204 |
msgstr ""
|
| 205 |
|
| 206 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 207 |
msgid "PWB brand"
|
| 208 |
msgstr ""
|
| 209 |
|
| 210 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 211 |
msgid "Show brand for a specific product"
|
| 212 |
msgstr ""
|
| 213 |
|
| 214 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 215 |
msgid "Product id"
|
| 216 |
msgstr ""
|
| 217 |
|
| 218 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 219 |
msgid "Product id (post id)"
|
| 220 |
msgstr ""
|
| 221 |
|
| 222 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 223 |
-
#: classes/class-perfect-woocommerce-brands.php:511
|
| 224 |
-
#: classes/shortcodes/class-pwb-all-brands.php:90
|
| 225 |
#: classes/shortcodes/class-pwb-brand.php:29
|
| 226 |
#: classes/shortcodes/class-pwb-brand.php:31
|
| 227 |
-
#: templates/shortcodes/carousel.php:18
|
| 228 |
msgid "View brand"
|
| 229 |
msgstr ""
|
| 230 |
|
| 231 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 232 |
msgid "¿Start migration?"
|
| 233 |
msgstr ""
|
| 234 |
|
| 235 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 236 |
msgid ""
|
| 237 |
"We are migrating the product brands. ¡Don´t close this window until the "
|
| 238 |
"process is finished!"
|
| 239 |
msgstr ""
|
| 240 |
|
| 241 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 242 |
msgid "¿Start loading dummy data?"
|
| 243 |
msgstr ""
|
| 244 |
|
| 245 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 246 |
msgid ""
|
| 247 |
"We are importing the dummy data. ¡Don´t close this window until the process "
|
| 248 |
"is finished!"
|
| 249 |
msgstr ""
|
| 250 |
|
| 251 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 252 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 253 |
#: classes/admin/class-edit-brands-page.php:128
|
| 254 |
#: classes/admin/class-pwb-admin-tab.php:21
|
| 255 |
-
#: classes/widgets/class-pwb-
|
| 256 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 257 |
-
#:
|
|
|
|
| 258 |
msgid "Brands"
|
| 259 |
msgstr ""
|
| 260 |
|
| 261 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 262 |
msgid "All Brands"
|
| 263 |
msgstr ""
|
| 264 |
|
| 265 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 266 |
msgid "Edit Brand"
|
| 267 |
msgstr ""
|
| 268 |
|
| 269 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 270 |
msgid "View Brand"
|
| 271 |
msgstr ""
|
| 272 |
|
| 273 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 274 |
msgid "Update Brand"
|
| 275 |
msgstr ""
|
| 276 |
|
| 277 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 278 |
msgid "Add New Brand"
|
| 279 |
msgstr ""
|
| 280 |
|
| 281 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 282 |
msgid "New Brand Name"
|
| 283 |
msgstr ""
|
| 284 |
|
| 285 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 286 |
msgid "Parent Brand"
|
| 287 |
msgstr ""
|
| 288 |
|
| 289 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 290 |
msgid "Parent Brand:"
|
| 291 |
msgstr ""
|
| 292 |
|
| 293 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 294 |
msgid "Search Brands"
|
| 295 |
msgstr ""
|
| 296 |
|
| 297 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 298 |
msgid "Popular Brands"
|
| 299 |
msgstr ""
|
| 300 |
|
| 301 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 302 |
msgid "Separate brands with commas"
|
| 303 |
msgstr ""
|
| 304 |
|
| 305 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 306 |
msgid "Add or remove brands"
|
| 307 |
msgstr ""
|
| 308 |
|
| 309 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 310 |
msgid "Choose from the most used brands"
|
| 311 |
msgstr ""
|
| 312 |
|
| 313 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 314 |
msgid "No brands found"
|
| 315 |
msgstr ""
|
| 316 |
|
| 317 |
-
#: classes/class-perfect-woocommerce-brands.php:
|
| 318 |
msgid "All"
|
| 319 |
msgstr ""
|
| 320 |
|
| 321 |
-
#: classes/class-pwb-api-support.php:
|
| 322 |
msgid "Product brands"
|
| 323 |
msgstr ""
|
| 324 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
#: classes/admin/class-brands-custom-fields.php:20
|
| 326 |
#: classes/admin/class-brands-custom-fields.php:59
|
| 327 |
msgid "Description"
|
|
@@ -336,7 +344,7 @@ msgstr ""
|
|
| 336 |
|
| 337 |
#: classes/admin/class-brands-custom-fields.php:26
|
| 338 |
#: classes/admin/class-brands-custom-fields.php:68
|
| 339 |
-
#: classes/widgets/class-pwb-list.php:
|
| 340 |
msgid "Brand logo"
|
| 341 |
msgstr ""
|
| 342 |
|
|
@@ -386,166 +394,175 @@ msgstr ""
|
|
| 386 |
msgid "Show featured brands first"
|
| 387 |
msgstr ""
|
| 388 |
|
| 389 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 390 |
msgid "Brands settings"
|
| 391 |
msgstr ""
|
| 392 |
|
| 393 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 394 |
msgid "Slug"
|
| 395 |
msgstr ""
|
| 396 |
|
| 397 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 398 |
msgid "Brands taxonomy slug"
|
| 399 |
msgstr ""
|
| 400 |
|
| 401 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 402 |
msgid "Show brand description"
|
| 403 |
msgstr ""
|
| 404 |
|
| 405 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 406 |
msgid "Show brand description (if is set) on brand archive page"
|
| 407 |
msgstr ""
|
| 408 |
|
| 409 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 410 |
msgid "Yes, before product loop"
|
| 411 |
msgstr ""
|
| 412 |
|
| 413 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 414 |
msgid "Yes, after product loop"
|
| 415 |
msgstr ""
|
| 416 |
|
| 417 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 418 |
msgid "No, hide description"
|
| 419 |
msgstr ""
|
| 420 |
|
| 421 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 422 |
msgid "Single product tab"
|
| 423 |
msgstr ""
|
| 424 |
|
| 425 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 426 |
msgid "Show brand tab in single product page"
|
| 427 |
msgstr ""
|
| 428 |
|
| 429 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 430 |
msgid "Show brands in loop"
|
| 431 |
msgstr ""
|
| 432 |
|
| 433 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 434 |
msgid "Show brand logo (or name) in product loop"
|
| 435 |
msgstr ""
|
| 436 |
|
| 437 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 438 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 439 |
msgid "No"
|
| 440 |
msgstr ""
|
| 441 |
|
| 442 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 443 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 444 |
msgid "Show brand link"
|
| 445 |
msgstr ""
|
| 446 |
|
| 447 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 448 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 449 |
msgid "Show brand image (if is set)"
|
| 450 |
msgstr ""
|
| 451 |
|
| 452 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 453 |
msgid "Show brands in single product"
|
| 454 |
msgstr ""
|
| 455 |
|
| 456 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 457 |
msgid "Show brand logo (or name) in single product"
|
| 458 |
msgstr ""
|
| 459 |
|
| 460 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 461 |
msgid "Brand logo size for single product view"
|
| 462 |
msgstr ""
|
| 463 |
|
| 464 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 465 |
msgid "Brand position"
|
| 466 |
msgstr ""
|
| 467 |
|
| 468 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 469 |
msgid "For single product"
|
| 470 |
msgstr ""
|
| 471 |
|
| 472 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 473 |
msgid "Before title"
|
| 474 |
msgstr ""
|
| 475 |
|
| 476 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 477 |
msgid "After title"
|
| 478 |
msgstr ""
|
| 479 |
|
| 480 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 481 |
msgid "After price"
|
| 482 |
msgstr ""
|
| 483 |
|
| 484 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 485 |
msgid "After excerpt"
|
| 486 |
msgstr ""
|
| 487 |
|
| 488 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 489 |
msgid "After add to cart"
|
| 490 |
msgstr ""
|
| 491 |
|
| 492 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 493 |
msgid "After meta"
|
| 494 |
msgstr ""
|
| 495 |
|
| 496 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 497 |
msgid "After sharing"
|
| 498 |
msgstr ""
|
| 499 |
|
| 500 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 501 |
msgid "Tools"
|
| 502 |
msgstr ""
|
| 503 |
|
| 504 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
|
|
|
| 505 |
msgid "Import brands"
|
| 506 |
msgstr ""
|
| 507 |
|
| 508 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 509 |
#, php-format
|
| 510 |
msgid ""
|
| 511 |
"Import brands from other brand plugin. <a href=\"%s\" target=\"_blank"
|
| 512 |
"\">Click here for more details</a>"
|
| 513 |
msgstr ""
|
| 514 |
|
| 515 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 516 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 517 |
msgid "-"
|
| 518 |
msgstr ""
|
| 519 |
|
| 520 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 521 |
msgid "YITH WooCommerce Brands Add-On"
|
| 522 |
msgstr ""
|
| 523 |
|
| 524 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 525 |
msgid "Ultimate WooCommerce Brands"
|
| 526 |
msgstr ""
|
| 527 |
|
| 528 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 529 |
msgid "Offical WooCommerce Brands"
|
| 530 |
msgstr ""
|
| 531 |
|
| 532 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 533 |
msgid "Dummy data"
|
| 534 |
msgstr ""
|
| 535 |
|
| 536 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 537 |
msgid "Import generic brands and assign it to products randomly"
|
| 538 |
msgstr ""
|
| 539 |
|
| 540 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 541 |
msgid "Start import"
|
| 542 |
msgstr ""
|
| 543 |
|
| 544 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 545 |
msgid "System status"
|
| 546 |
msgstr ""
|
| 547 |
|
| 548 |
-
#: classes/admin/class-pwb-admin-tab.php:
|
| 549 |
msgid "Show system status"
|
| 550 |
msgstr ""
|
| 551 |
|
|
@@ -563,23 +580,23 @@ msgid ""
|
|
| 563 |
"cart"
|
| 564 |
msgstr ""
|
| 565 |
|
| 566 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 567 |
msgid "First page"
|
| 568 |
msgstr ""
|
| 569 |
|
| 570 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 571 |
msgid "Previous page"
|
| 572 |
msgstr ""
|
| 573 |
|
| 574 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 575 |
msgid "Next page"
|
| 576 |
msgstr ""
|
| 577 |
|
| 578 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 579 |
msgid "Last page"
|
| 580 |
msgstr ""
|
| 581 |
|
| 582 |
-
#: classes/shortcodes/class-pwb-all-brands.php:
|
| 583 |
msgid "No results"
|
| 584 |
msgstr ""
|
| 585 |
|
|
@@ -591,28 +608,36 @@ msgstr ""
|
|
| 591 |
msgid "Brands dropdown"
|
| 592 |
msgstr ""
|
| 593 |
|
| 594 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 595 |
msgid "Title"
|
| 596 |
msgstr ""
|
| 597 |
|
| 598 |
-
#: classes/widgets/class-pwb-dropdown.php:
|
| 599 |
-
#: classes/widgets/class-pwb-list.php:
|
| 600 |
-
msgid "
|
| 601 |
msgstr ""
|
| 602 |
|
| 603 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 604 |
msgid "Recommended for product categories or shop page"
|
| 605 |
msgstr ""
|
| 606 |
|
| 607 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 608 |
msgid "Filter products by brand"
|
| 609 |
msgstr ""
|
| 610 |
|
| 611 |
-
#: classes/widgets/class-pwb-filter-by-brand.php:
|
| 612 |
-
#: classes/widgets/class-pwb-list.php:
|
| 613 |
msgid "Title:"
|
| 614 |
msgstr ""
|
| 615 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 616 |
#: classes/widgets/class-pwb-list.php:10
|
| 617 |
msgid "Adds a brands list to your site"
|
| 618 |
msgstr ""
|
|
@@ -621,23 +646,36 @@ msgstr ""
|
|
| 621 |
msgid "Brands list"
|
| 622 |
msgstr ""
|
| 623 |
|
| 624 |
-
#: classes/widgets/class-pwb-list.php:
|
| 625 |
msgid "Display as:"
|
| 626 |
msgstr ""
|
| 627 |
|
| 628 |
-
#: classes/widgets/class-pwb-list.php:
|
| 629 |
msgid "Brand name"
|
| 630 |
msgstr ""
|
| 631 |
|
| 632 |
-
#: classes/widgets/class-pwb-list.php:
|
| 633 |
msgid "Columns:"
|
| 634 |
msgstr ""
|
| 635 |
|
| 636 |
-
#: classes/widgets/class-pwb-list.php:
|
| 637 |
-
|
|
|
|
|
|
|
|
|
|
| 638 |
msgid "Go to"
|
| 639 |
msgstr ""
|
| 640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 641 |
#: templates/shortcodes/carousel.php:24
|
| 642 |
#: templates/shortcodes/product-carousel.php:28
|
| 643 |
msgid "Loading"
|
|
@@ -647,6 +685,6 @@ msgstr ""
|
|
| 647 |
msgid "Nothing found"
|
| 648 |
msgstr ""
|
| 649 |
|
| 650 |
-
#: templates/widgets/filter-by-brand.php:
|
| 651 |
msgid "Apply filter"
|
| 652 |
-
msgstr ""
|
| 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 |
#, fuzzy
|
| 7 |
msgid ""
|
| 8 |
msgstr ""
|
| 9 |
+
"Project-Id-Version: PACKAGE VERSION\n"
|
| 10 |
+
"Report-Msgid-Bugs-To: \n"
|
| 11 |
+
"POT-Creation-Date: 2018-11-29 00:11+0100\n"
|
| 12 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
| 13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
| 14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
| 15 |
"Language: \n"
|
| 16 |
"MIME-Version: 1.0\n"
|
| 17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
| 18 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
|
|
|
| 19 |
|
| 20 |
+
#: main.php:106
|
| 21 |
msgid ""
|
| 22 |
"Perfect WooCommerce Brands needs WooCommerce to run. Please, install and "
|
| 23 |
"active WooCommerce plugin."
|
| 24 |
msgstr ""
|
| 25 |
|
| 26 |
+
#: classes/class-perfect-woocommerce-brands.php:52
|
| 27 |
msgid ""
|
| 28 |
"We know that you´re in love with Perfect WooCommerce Brands, you can help us "
|
| 29 |
"making it a bit better. Thanks a lot!"
|
| 30 |
msgstr ""
|
| 31 |
|
| 32 |
+
#: classes/class-perfect-woocommerce-brands.php:54
|
| 33 |
msgid ""
|
| 34 |
"<a href=\"https://wordpress.org/support/plugin/perfect-woocommerce-brands/"
|
| 35 |
"reviews/?rate=5#new-post\" target=\"_blank\">Leave a review</a>"
|
| 36 |
msgstr ""
|
| 37 |
|
| 38 |
+
#: classes/class-perfect-woocommerce-brands.php:55
|
| 39 |
msgid ""
|
| 40 |
"<a href=\"https://translate.wordpress.org/projects/wp-plugins/perfect-"
|
| 41 |
"woocommerce-brands\" target=\"_blank\">Translate the plugin</a>"
|
| 42 |
msgstr ""
|
| 43 |
|
| 44 |
+
#: classes/class-perfect-woocommerce-brands.php:56
|
| 45 |
msgid ""
|
| 46 |
"<a href=\"https://github.com/titodevera/perfect-woocommerce-brands\" target="
|
| 47 |
"\"_blank\">View on GitHub</a>"
|
| 48 |
msgstr ""
|
| 49 |
|
| 50 |
+
#: classes/class-perfect-woocommerce-brands.php:79
|
| 51 |
msgid "Settings"
|
| 52 |
msgstr ""
|
| 53 |
|
| 54 |
+
#: classes/class-perfect-woocommerce-brands.php:280
|
| 55 |
msgid "PWB Product carousel"
|
| 56 |
msgstr ""
|
| 57 |
|
| 58 |
+
#: classes/class-perfect-woocommerce-brands.php:281
|
| 59 |
msgid "Product carousel by brand or by category"
|
| 60 |
msgstr ""
|
| 61 |
|
| 62 |
+
#: classes/class-perfect-woocommerce-brands.php:289
|
| 63 |
+
#: classes/class-perfect-woocommerce-brands.php:611
|
| 64 |
#: classes/class-pwb-product-tab.php:18 classes/class-pwb-product-tab.php:35
|
| 65 |
#: classes/admin/class-pwb-exporter-support.php:22
|
| 66 |
#: classes/admin/class-pwb-importer-support.php:22
|
| 68 |
msgid "Brand"
|
| 69 |
msgstr ""
|
| 70 |
|
| 71 |
+
#: classes/class-perfect-woocommerce-brands.php:297
|
| 72 |
msgid "Products"
|
| 73 |
msgstr ""
|
| 74 |
|
| 75 |
+
#: classes/class-perfect-woocommerce-brands.php:300
|
| 76 |
msgid "Number of products to load"
|
| 77 |
msgstr ""
|
| 78 |
|
| 79 |
+
#: classes/class-perfect-woocommerce-brands.php:305
|
| 80 |
msgid "Products to show"
|
| 81 |
msgstr ""
|
| 82 |
|
| 83 |
+
#: classes/class-perfect-woocommerce-brands.php:308
|
| 84 |
msgid "Number of products to show"
|
| 85 |
msgstr ""
|
| 86 |
|
| 87 |
+
#: classes/class-perfect-woocommerce-brands.php:313
|
| 88 |
msgid "Products to scroll"
|
| 89 |
msgstr ""
|
| 90 |
|
| 91 |
+
#: classes/class-perfect-woocommerce-brands.php:316
|
| 92 |
msgid "Number of products to scroll"
|
| 93 |
msgstr ""
|
| 94 |
|
| 95 |
+
#: classes/class-perfect-woocommerce-brands.php:321
|
| 96 |
+
#: classes/class-perfect-woocommerce-brands.php:370
|
| 97 |
msgid "Autoplay"
|
| 98 |
msgstr ""
|
| 99 |
|
| 100 |
+
#: classes/class-perfect-woocommerce-brands.php:323
|
| 101 |
+
#: classes/class-perfect-woocommerce-brands.php:372
|
| 102 |
msgid "Autoplay carousel"
|
| 103 |
msgstr ""
|
| 104 |
|
| 105 |
+
#: classes/class-perfect-woocommerce-brands.php:328
|
| 106 |
+
#: classes/class-perfect-woocommerce-brands.php:377
|
| 107 |
msgid "Arrows"
|
| 108 |
msgstr ""
|
| 109 |
|
| 110 |
+
#: classes/class-perfect-woocommerce-brands.php:330
|
| 111 |
+
#: classes/class-perfect-woocommerce-brands.php:379
|
| 112 |
msgid "Display prev and next arrows"
|
| 113 |
msgstr ""
|
| 114 |
|
| 115 |
+
#: classes/class-perfect-woocommerce-brands.php:336
|
| 116 |
msgid "PWB Brands carousel"
|
| 117 |
msgstr ""
|
| 118 |
|
| 119 |
+
#: classes/class-perfect-woocommerce-brands.php:337
|
| 120 |
msgid "Brands carousel"
|
| 121 |
msgstr ""
|
| 122 |
|
| 123 |
+
#: classes/class-perfect-woocommerce-brands.php:346
|
| 124 |
msgid "Items"
|
| 125 |
msgstr ""
|
| 126 |
|
| 127 |
+
#: classes/class-perfect-woocommerce-brands.php:349
|
| 128 |
msgid "Number of items to load (or 'featured')"
|
| 129 |
msgstr ""
|
| 130 |
|
| 131 |
+
#: classes/class-perfect-woocommerce-brands.php:354
|
| 132 |
msgid "Items to show"
|
| 133 |
msgstr ""
|
| 134 |
|
| 135 |
+
#: classes/class-perfect-woocommerce-brands.php:357
|
| 136 |
msgid "Number of items to show"
|
| 137 |
msgstr ""
|
| 138 |
|
| 139 |
+
#: classes/class-perfect-woocommerce-brands.php:362
|
| 140 |
msgid "Items to scroll"
|
| 141 |
msgstr ""
|
| 142 |
|
| 143 |
+
#: classes/class-perfect-woocommerce-brands.php:365
|
| 144 |
msgid "Number of items to scroll"
|
| 145 |
msgstr ""
|
| 146 |
|
| 147 |
+
#: classes/class-perfect-woocommerce-brands.php:383
|
| 148 |
+
#: classes/class-perfect-woocommerce-brands.php:411
|
| 149 |
+
#: classes/class-perfect-woocommerce-brands.php:492
|
| 150 |
+
#: classes/admin/class-pwb-admin-tab.php:129
|
| 151 |
msgid "Brand logo size"
|
| 152 |
msgstr ""
|
| 153 |
|
| 154 |
+
#: classes/class-perfect-woocommerce-brands.php:394
|
| 155 |
msgid "PWB All brands"
|
| 156 |
msgstr ""
|
| 157 |
|
| 158 |
+
#: classes/class-perfect-woocommerce-brands.php:395
|
| 159 |
msgid "Show all brands"
|
| 160 |
msgstr ""
|
| 161 |
|
| 162 |
+
#: classes/class-perfect-woocommerce-brands.php:404
|
| 163 |
msgid "Brands per page"
|
| 164 |
msgstr ""
|
| 165 |
|
| 166 |
+
#: classes/class-perfect-woocommerce-brands.php:407
|
| 167 |
msgid "Show x brands per page"
|
| 168 |
msgstr ""
|
| 169 |
|
| 170 |
+
#: classes/class-perfect-woocommerce-brands.php:418
|
| 171 |
msgid "Order by"
|
| 172 |
msgstr ""
|
| 173 |
|
| 174 |
+
#: classes/class-perfect-woocommerce-brands.php:432
|
| 175 |
msgid "Order"
|
| 176 |
msgstr ""
|
| 177 |
|
| 178 |
+
#: classes/class-perfect-woocommerce-brands.php:442
|
| 179 |
msgid "Title position"
|
| 180 |
msgstr ""
|
| 181 |
|
| 182 |
+
#: classes/class-perfect-woocommerce-brands.php:446
|
| 183 |
msgid "Before image"
|
| 184 |
msgstr ""
|
| 185 |
|
| 186 |
+
#: classes/class-perfect-woocommerce-brands.php:447
|
| 187 |
msgid "After image"
|
| 188 |
msgstr ""
|
| 189 |
|
| 190 |
+
#: classes/class-perfect-woocommerce-brands.php:448
|
| 191 |
msgid "Hide"
|
| 192 |
msgstr ""
|
| 193 |
|
| 194 |
+
#: classes/class-perfect-woocommerce-brands.php:454
|
| 195 |
+
#: classes/widgets/class-pwb-dropdown.php:43
|
| 196 |
+
#: classes/widgets/class-pwb-list.php:67
|
|
|
|
| 197 |
msgid "Hide empty"
|
| 198 |
msgstr ""
|
| 199 |
|
| 200 |
+
#: classes/class-perfect-woocommerce-brands.php:456
|
| 201 |
msgid "Hide brands that have not been assigned to any product"
|
| 202 |
msgstr ""
|
| 203 |
|
| 204 |
+
#: classes/class-perfect-woocommerce-brands.php:464
|
| 205 |
+
msgid "PWB AZ Listing"
|
| 206 |
+
msgstr ""
|
| 207 |
+
|
| 208 |
+
#: classes/class-perfect-woocommerce-brands.php:465
|
| 209 |
+
msgid "AZ Listing for brands"
|
| 210 |
+
msgstr ""
|
| 211 |
+
|
| 212 |
+
#: classes/class-perfect-woocommerce-brands.php:474
|
| 213 |
msgid "PWB brand"
|
| 214 |
msgstr ""
|
| 215 |
|
| 216 |
+
#: classes/class-perfect-woocommerce-brands.php:475
|
| 217 |
msgid "Show brand for a specific product"
|
| 218 |
msgstr ""
|
| 219 |
|
| 220 |
+
#: classes/class-perfect-woocommerce-brands.php:485
|
| 221 |
msgid "Product id"
|
| 222 |
msgstr ""
|
| 223 |
|
| 224 |
+
#: classes/class-perfect-woocommerce-brands.php:488
|
| 225 |
msgid "Product id (post id)"
|
| 226 |
msgstr ""
|
| 227 |
|
| 228 |
+
#: classes/class-perfect-woocommerce-brands.php:533
|
|
|
|
|
|
|
| 229 |
#: classes/shortcodes/class-pwb-brand.php:29
|
| 230 |
#: classes/shortcodes/class-pwb-brand.php:31
|
|
|
|
| 231 |
msgid "View brand"
|
| 232 |
msgstr ""
|
| 233 |
|
| 234 |
+
#: classes/class-perfect-woocommerce-brands.php:598
|
| 235 |
msgid "¿Start migration?"
|
| 236 |
msgstr ""
|
| 237 |
|
| 238 |
+
#: classes/class-perfect-woocommerce-brands.php:599
|
| 239 |
msgid ""
|
| 240 |
"We are migrating the product brands. ¡Don´t close this window until the "
|
| 241 |
"process is finished!"
|
| 242 |
msgstr ""
|
| 243 |
|
| 244 |
+
#: classes/class-perfect-woocommerce-brands.php:600
|
| 245 |
msgid "¿Start loading dummy data?"
|
| 246 |
msgstr ""
|
| 247 |
|
| 248 |
+
#: classes/class-perfect-woocommerce-brands.php:601
|
| 249 |
msgid ""
|
| 250 |
"We are importing the dummy data. ¡Don´t close this window until the process "
|
| 251 |
"is finished!"
|
| 252 |
msgstr ""
|
| 253 |
|
| 254 |
+
#: classes/class-perfect-woocommerce-brands.php:610
|
| 255 |
+
#: classes/class-perfect-woocommerce-brands.php:612
|
| 256 |
#: classes/admin/class-edit-brands-page.php:128
|
| 257 |
#: classes/admin/class-pwb-admin-tab.php:21
|
| 258 |
+
#: classes/widgets/class-pwb-dropdown.php:19
|
| 259 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:20
|
| 260 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:75
|
| 261 |
+
#: classes/widgets/class-pwb-list.php:19 templates/widgets/dropdown.php:16
|
| 262 |
msgid "Brands"
|
| 263 |
msgstr ""
|
| 264 |
|
| 265 |
+
#: classes/class-perfect-woocommerce-brands.php:613
|
| 266 |
msgid "All Brands"
|
| 267 |
msgstr ""
|
| 268 |
|
| 269 |
+
#: classes/class-perfect-woocommerce-brands.php:614
|
| 270 |
msgid "Edit Brand"
|
| 271 |
msgstr ""
|
| 272 |
|
| 273 |
+
#: classes/class-perfect-woocommerce-brands.php:615
|
| 274 |
msgid "View Brand"
|
| 275 |
msgstr ""
|
| 276 |
|
| 277 |
+
#: classes/class-perfect-woocommerce-brands.php:616
|
| 278 |
msgid "Update Brand"
|
| 279 |
msgstr ""
|
| 280 |
|
| 281 |
+
#: classes/class-perfect-woocommerce-brands.php:617
|
| 282 |
msgid "Add New Brand"
|
| 283 |
msgstr ""
|
| 284 |
|
| 285 |
+
#: classes/class-perfect-woocommerce-brands.php:618
|
| 286 |
msgid "New Brand Name"
|
| 287 |
msgstr ""
|
| 288 |
|
| 289 |
+
#: classes/class-perfect-woocommerce-brands.php:619
|
| 290 |
msgid "Parent Brand"
|
| 291 |
msgstr ""
|
| 292 |
|
| 293 |
+
#: classes/class-perfect-woocommerce-brands.php:620
|
| 294 |
msgid "Parent Brand:"
|
| 295 |
msgstr ""
|
| 296 |
|
| 297 |
+
#: classes/class-perfect-woocommerce-brands.php:621
|
| 298 |
msgid "Search Brands"
|
| 299 |
msgstr ""
|
| 300 |
|
| 301 |
+
#: classes/class-perfect-woocommerce-brands.php:622
|
| 302 |
msgid "Popular Brands"
|
| 303 |
msgstr ""
|
| 304 |
|
| 305 |
+
#: classes/class-perfect-woocommerce-brands.php:623
|
| 306 |
msgid "Separate brands with commas"
|
| 307 |
msgstr ""
|
| 308 |
|
| 309 |
+
#: classes/class-perfect-woocommerce-brands.php:624
|
| 310 |
msgid "Add or remove brands"
|
| 311 |
msgstr ""
|
| 312 |
|
| 313 |
+
#: classes/class-perfect-woocommerce-brands.php:625
|
| 314 |
msgid "Choose from the most used brands"
|
| 315 |
msgstr ""
|
| 316 |
|
| 317 |
+
#: classes/class-perfect-woocommerce-brands.php:626
|
| 318 |
msgid "No brands found"
|
| 319 |
msgstr ""
|
| 320 |
|
| 321 |
+
#: classes/class-perfect-woocommerce-brands.php:697
|
| 322 |
msgid "All"
|
| 323 |
msgstr ""
|
| 324 |
|
| 325 |
+
#: classes/class-pwb-api-support.php:87
|
| 326 |
msgid "Product brands"
|
| 327 |
msgstr ""
|
| 328 |
|
| 329 |
+
#: classes/class-pwb-term.php:20
|
| 330 |
+
msgid "Only WP_Term objects are allowed"
|
| 331 |
+
msgstr ""
|
| 332 |
+
|
| 333 |
#: classes/admin/class-brands-custom-fields.php:20
|
| 334 |
#: classes/admin/class-brands-custom-fields.php:59
|
| 335 |
msgid "Description"
|
| 344 |
|
| 345 |
#: classes/admin/class-brands-custom-fields.php:26
|
| 346 |
#: classes/admin/class-brands-custom-fields.php:68
|
| 347 |
+
#: classes/widgets/class-pwb-list.php:43
|
| 348 |
msgid "Brand logo"
|
| 349 |
msgstr ""
|
| 350 |
|
| 394 |
msgid "Show featured brands first"
|
| 395 |
msgstr ""
|
| 396 |
|
| 397 |
+
#: classes/admin/class-pwb-admin-tab.php:70
|
| 398 |
msgid "Brands settings"
|
| 399 |
msgstr ""
|
| 400 |
|
| 401 |
+
#: classes/admin/class-pwb-admin-tab.php:76
|
| 402 |
msgid "Slug"
|
| 403 |
msgstr ""
|
| 404 |
|
| 405 |
+
#: classes/admin/class-pwb-admin-tab.php:79
|
| 406 |
msgid "Brands taxonomy slug"
|
| 407 |
msgstr ""
|
| 408 |
|
| 409 |
+
#: classes/admin/class-pwb-admin-tab.php:84
|
| 410 |
msgid "Show brand description"
|
| 411 |
msgstr ""
|
| 412 |
|
| 413 |
+
#: classes/admin/class-pwb-admin-tab.php:88
|
| 414 |
msgid "Show brand description (if is set) on brand archive page"
|
| 415 |
msgstr ""
|
| 416 |
|
| 417 |
+
#: classes/admin/class-pwb-admin-tab.php:91
|
| 418 |
msgid "Yes, before product loop"
|
| 419 |
msgstr ""
|
| 420 |
|
| 421 |
+
#: classes/admin/class-pwb-admin-tab.php:92
|
| 422 |
msgid "Yes, after product loop"
|
| 423 |
msgstr ""
|
| 424 |
|
| 425 |
+
#: classes/admin/class-pwb-admin-tab.php:93
|
| 426 |
msgid "No, hide description"
|
| 427 |
msgstr ""
|
| 428 |
|
| 429 |
+
#: classes/admin/class-pwb-admin-tab.php:97
|
| 430 |
msgid "Single product tab"
|
| 431 |
msgstr ""
|
| 432 |
|
| 433 |
+
#: classes/admin/class-pwb-admin-tab.php:100
|
| 434 |
msgid "Show brand tab in single product page"
|
| 435 |
msgstr ""
|
| 436 |
|
| 437 |
+
#: classes/admin/class-pwb-admin-tab.php:104
|
| 438 |
msgid "Show brands in loop"
|
| 439 |
msgstr ""
|
| 440 |
|
| 441 |
+
#: classes/admin/class-pwb-admin-tab.php:107
|
| 442 |
msgid "Show brand logo (or name) in product loop"
|
| 443 |
msgstr ""
|
| 444 |
|
| 445 |
+
#: classes/admin/class-pwb-admin-tab.php:110
|
| 446 |
+
#: classes/admin/class-pwb-admin-tab.php:123
|
| 447 |
msgid "No"
|
| 448 |
msgstr ""
|
| 449 |
|
| 450 |
+
#: classes/admin/class-pwb-admin-tab.php:111
|
| 451 |
+
#: classes/admin/class-pwb-admin-tab.php:124
|
| 452 |
msgid "Show brand link"
|
| 453 |
msgstr ""
|
| 454 |
|
| 455 |
+
#: classes/admin/class-pwb-admin-tab.php:112
|
| 456 |
+
#: classes/admin/class-pwb-admin-tab.php:125
|
| 457 |
msgid "Show brand image (if is set)"
|
| 458 |
msgstr ""
|
| 459 |
|
| 460 |
+
#: classes/admin/class-pwb-admin-tab.php:116
|
| 461 |
msgid "Show brands in single product"
|
| 462 |
msgstr ""
|
| 463 |
|
| 464 |
+
#: classes/admin/class-pwb-admin-tab.php:119
|
| 465 |
msgid "Show brand logo (or name) in single product"
|
| 466 |
msgstr ""
|
| 467 |
|
| 468 |
+
#: classes/admin/class-pwb-admin-tab.php:132
|
| 469 |
msgid "Brand logo size for single product view"
|
| 470 |
msgstr ""
|
| 471 |
|
| 472 |
+
#: classes/admin/class-pwb-admin-tab.php:137
|
| 473 |
msgid "Brand position"
|
| 474 |
msgstr ""
|
| 475 |
|
| 476 |
+
#: classes/admin/class-pwb-admin-tab.php:140
|
| 477 |
msgid "For single product"
|
| 478 |
msgstr ""
|
| 479 |
|
| 480 |
+
#: classes/admin/class-pwb-admin-tab.php:143
|
| 481 |
msgid "Before title"
|
| 482 |
msgstr ""
|
| 483 |
|
| 484 |
+
#: classes/admin/class-pwb-admin-tab.php:144
|
| 485 |
msgid "After title"
|
| 486 |
msgstr ""
|
| 487 |
|
| 488 |
+
#: classes/admin/class-pwb-admin-tab.php:145
|
| 489 |
msgid "After price"
|
| 490 |
msgstr ""
|
| 491 |
|
| 492 |
+
#: classes/admin/class-pwb-admin-tab.php:146
|
| 493 |
msgid "After excerpt"
|
| 494 |
msgstr ""
|
| 495 |
|
| 496 |
+
#: classes/admin/class-pwb-admin-tab.php:147
|
| 497 |
msgid "After add to cart"
|
| 498 |
msgstr ""
|
| 499 |
|
| 500 |
+
#: classes/admin/class-pwb-admin-tab.php:148
|
| 501 |
msgid "After meta"
|
| 502 |
msgstr ""
|
| 503 |
|
| 504 |
+
#: classes/admin/class-pwb-admin-tab.php:149
|
| 505 |
msgid "After sharing"
|
| 506 |
msgstr ""
|
| 507 |
|
| 508 |
+
#: classes/admin/class-pwb-admin-tab.php:153
|
| 509 |
+
msgid "Brands page id"
|
| 510 |
+
msgstr ""
|
| 511 |
+
|
| 512 |
+
#: classes/admin/class-pwb-admin-tab.php:156
|
| 513 |
+
msgid "For linking breadcrumbs"
|
| 514 |
+
msgstr ""
|
| 515 |
+
|
| 516 |
+
#: classes/admin/class-pwb-admin-tab.php:173
|
| 517 |
msgid "Tools"
|
| 518 |
msgstr ""
|
| 519 |
|
| 520 |
+
#: classes/admin/class-pwb-admin-tab.php:179
|
| 521 |
+
#: templates/admin/brands-exporter.php:16
|
| 522 |
msgid "Import brands"
|
| 523 |
msgstr ""
|
| 524 |
|
| 525 |
+
#: classes/admin/class-pwb-admin-tab.php:183
|
| 526 |
#, php-format
|
| 527 |
msgid ""
|
| 528 |
"Import brands from other brand plugin. <a href=\"%s\" target=\"_blank"
|
| 529 |
"\">Click here for more details</a>"
|
| 530 |
msgstr ""
|
| 531 |
|
| 532 |
+
#: classes/admin/class-pwb-admin-tab.php:188
|
| 533 |
+
#: classes/admin/class-pwb-admin-tab.php:201
|
| 534 |
msgid "-"
|
| 535 |
msgstr ""
|
| 536 |
|
| 537 |
+
#: classes/admin/class-pwb-admin-tab.php:189
|
| 538 |
msgid "YITH WooCommerce Brands Add-On"
|
| 539 |
msgstr ""
|
| 540 |
|
| 541 |
+
#: classes/admin/class-pwb-admin-tab.php:190
|
| 542 |
msgid "Ultimate WooCommerce Brands"
|
| 543 |
msgstr ""
|
| 544 |
|
| 545 |
+
#: classes/admin/class-pwb-admin-tab.php:191
|
| 546 |
msgid "Offical WooCommerce Brands"
|
| 547 |
msgstr ""
|
| 548 |
|
| 549 |
+
#: classes/admin/class-pwb-admin-tab.php:195
|
| 550 |
msgid "Dummy data"
|
| 551 |
msgstr ""
|
| 552 |
|
| 553 |
+
#: classes/admin/class-pwb-admin-tab.php:198
|
| 554 |
msgid "Import generic brands and assign it to products randomly"
|
| 555 |
msgstr ""
|
| 556 |
|
| 557 |
+
#: classes/admin/class-pwb-admin-tab.php:202
|
| 558 |
msgid "Start import"
|
| 559 |
msgstr ""
|
| 560 |
|
| 561 |
+
#: classes/admin/class-pwb-admin-tab.php:206
|
| 562 |
msgid "System status"
|
| 563 |
msgstr ""
|
| 564 |
|
| 565 |
+
#: classes/admin/class-pwb-admin-tab.php:208
|
| 566 |
msgid "Show system status"
|
| 567 |
msgstr ""
|
| 568 |
|
| 580 |
"cart"
|
| 581 |
msgstr ""
|
| 582 |
|
| 583 |
+
#: classes/shortcodes/class-pwb-all-brands.php:108
|
| 584 |
msgid "First page"
|
| 585 |
msgstr ""
|
| 586 |
|
| 587 |
+
#: classes/shortcodes/class-pwb-all-brands.php:111
|
| 588 |
msgid "Previous page"
|
| 589 |
msgstr ""
|
| 590 |
|
| 591 |
+
#: classes/shortcodes/class-pwb-all-brands.php:115
|
| 592 |
msgid "Next page"
|
| 593 |
msgstr ""
|
| 594 |
|
| 595 |
+
#: classes/shortcodes/class-pwb-all-brands.php:118
|
| 596 |
msgid "Last page"
|
| 597 |
msgstr ""
|
| 598 |
|
| 599 |
+
#: classes/shortcodes/class-pwb-all-brands.php:123
|
| 600 |
msgid "No results"
|
| 601 |
msgstr ""
|
| 602 |
|
| 608 |
msgid "Brands dropdown"
|
| 609 |
msgstr ""
|
| 610 |
|
| 611 |
+
#: classes/widgets/class-pwb-dropdown.php:26
|
| 612 |
msgid "Title"
|
| 613 |
msgstr ""
|
| 614 |
|
| 615 |
+
#: classes/widgets/class-pwb-dropdown.php:54
|
| 616 |
+
#: classes/widgets/class-pwb-list.php:77
|
| 617 |
+
msgid "Only favorite brands"
|
| 618 |
msgstr ""
|
| 619 |
|
| 620 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:11
|
| 621 |
msgid "Recommended for product categories or shop page"
|
| 622 |
msgstr ""
|
| 623 |
|
| 624 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:12
|
| 625 |
msgid "Filter products by brand"
|
| 626 |
msgstr ""
|
| 627 |
|
| 628 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:25
|
| 629 |
+
#: classes/widgets/class-pwb-list.php:28
|
| 630 |
msgid "Title:"
|
| 631 |
msgstr ""
|
| 632 |
|
| 633 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:30
|
| 634 |
+
msgid "Max number of brands"
|
| 635 |
+
msgstr ""
|
| 636 |
+
|
| 637 |
+
#: classes/widgets/class-pwb-filter-by-brand.php:41
|
| 638 |
+
msgid "Hide filter button"
|
| 639 |
+
msgstr ""
|
| 640 |
+
|
| 641 |
#: classes/widgets/class-pwb-list.php:10
|
| 642 |
msgid "Adds a brands list to your site"
|
| 643 |
msgstr ""
|
| 646 |
msgid "Brands list"
|
| 647 |
msgstr ""
|
| 648 |
|
| 649 |
+
#: classes/widgets/class-pwb-list.php:37
|
| 650 |
msgid "Display as:"
|
| 651 |
msgstr ""
|
| 652 |
|
| 653 |
+
#: classes/widgets/class-pwb-list.php:42
|
| 654 |
msgid "Brand name"
|
| 655 |
msgstr ""
|
| 656 |
|
| 657 |
+
#: classes/widgets/class-pwb-list.php:47
|
| 658 |
msgid "Columns:"
|
| 659 |
msgstr ""
|
| 660 |
|
| 661 |
+
#: classes/widgets/class-pwb-list.php:87
|
| 662 |
+
msgid "Randomize"
|
| 663 |
+
msgstr ""
|
| 664 |
+
|
| 665 |
+
#: classes/widgets/class-pwb-list.php:119
|
| 666 |
msgid "Go to"
|
| 667 |
msgstr ""
|
| 668 |
|
| 669 |
+
#: templates/admin/brands-exporter.php:15
|
| 670 |
+
msgid "Export brands"
|
| 671 |
+
msgstr ""
|
| 672 |
+
|
| 673 |
+
#: templates/admin/brands-exporter.php:18
|
| 674 |
+
msgid ""
|
| 675 |
+
"This tool allows you to export and import the brands between different sites "
|
| 676 |
+
"using PWB."
|
| 677 |
+
msgstr ""
|
| 678 |
+
|
| 679 |
#: templates/shortcodes/carousel.php:24
|
| 680 |
#: templates/shortcodes/product-carousel.php:28
|
| 681 |
msgid "Loading"
|
| 685 |
msgid "Nothing found"
|
| 686 |
msgstr ""
|
| 687 |
|
| 688 |
+
#: templates/widgets/filter-by-brand.php:25
|
| 689 |
msgid "Apply filter"
|
| 690 |
+
msgstr ""
|
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 |
* 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.
|
| 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
|
|
@@ -22,8 +22,8 @@
|
|
| 22 |
* You should have received a copy of the GNU General Public License
|
| 23 |
* along with Perfect WooCommerce Brands. If not, see <http://www.gnu.org/licenses/>.
|
| 24 |
*
|
| 25 |
-
* WC requires at least: 2.
|
| 26 |
-
* WC tested up to: 3.
|
| 27 |
*/
|
| 28 |
|
| 29 |
namespace Perfect_Woocommerce_Brands;
|
|
@@ -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.
|
| 38 |
define( 'PWB_WP_VERSION', get_bloginfo( 'version' ) );
|
| 39 |
define( 'PWB_WC_VERSION', get_option( 'woocommerce_version' ) );
|
| 40 |
|
|
@@ -62,15 +62,13 @@ if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
|
|
| 62 |
require 'classes/shortcodes/class-pwb-product-carousel.php';
|
| 63 |
require 'classes/shortcodes/class-pwb-carousel.php';
|
| 64 |
require 'classes/shortcodes/class-pwb-all-brands.php';
|
|
|
|
| 65 |
require 'classes/shortcodes/class-pwb-brand.php';
|
| 66 |
require 'classes/class-perfect-woocommerce-brands.php';
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
require 'classes/admin/class-pwb-coupon.php';
|
| 72 |
-
new Admin\PWB_Coupon();
|
| 73 |
-
}
|
| 74 |
|
| 75 |
if( is_admin() ){
|
| 76 |
|
|
@@ -85,6 +83,8 @@ if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
|
|
| 85 |
new Admin\Edit_Brands_Page();
|
| 86 |
require 'classes/admin/class-brands-custom-fields.php';
|
| 87 |
new Admin\Brands_Custom_Fields();
|
|
|
|
|
|
|
| 88 |
|
| 89 |
if( defined('PWB_WC_VERSION') && version_compare( PWB_WC_VERSION, '3.1.0', '>=' ) ){
|
| 90 |
require 'classes/admin/class-pwb-importer-support.php';
|
| 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.0
|
| 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.0, 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
|
| 22 |
* You should have received a copy of the GNU General Public License
|
| 23 |
* along with Perfect WooCommerce Brands. If not, see <http://www.gnu.org/licenses/>.
|
| 24 |
*
|
| 25 |
+
* WC requires at least: 2.6
|
| 26 |
+
* WC tested up to: 3.5
|
| 27 |
*/
|
| 28 |
|
| 29 |
namespace Perfect_Woocommerce_Brands;
|
| 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.0' );
|
| 38 |
define( 'PWB_WP_VERSION', get_bloginfo( 'version' ) );
|
| 39 |
define( 'PWB_WC_VERSION', get_option( 'woocommerce_version' ) );
|
| 40 |
|
| 62 |
require 'classes/shortcodes/class-pwb-product-carousel.php';
|
| 63 |
require 'classes/shortcodes/class-pwb-carousel.php';
|
| 64 |
require 'classes/shortcodes/class-pwb-all-brands.php';
|
| 65 |
+
require 'classes/shortcodes/class-pwb-az-listing.php';
|
| 66 |
require 'classes/shortcodes/class-pwb-brand.php';
|
| 67 |
require 'classes/class-perfect-woocommerce-brands.php';
|
| 68 |
+
require 'classes/class-pwb-api-support.php';
|
| 69 |
+
new PWB_API_Support();
|
| 70 |
+
require 'classes/admin/class-pwb-coupon.php';
|
| 71 |
+
new Admin\PWB_Coupon();
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
if( is_admin() ){
|
| 74 |
|
| 83 |
new Admin\Edit_Brands_Page();
|
| 84 |
require 'classes/admin/class-brands-custom-fields.php';
|
| 85 |
new Admin\Brands_Custom_Fields();
|
| 86 |
+
require 'classes/admin/class-brands-exporter.php';
|
| 87 |
+
new Admin\Brands_Exporter();
|
| 88 |
|
| 89 |
if( defined('PWB_WC_VERSION') && version_compare( PWB_WC_VERSION, '3.1.0', '>=' ) ){
|
| 90 |
require 'classes/admin/class-pwb-importer-support.php';
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ 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: 4.9
|
| 7 |
-
Stable tag: 1.
|
| 8 |
License: GPL3
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.en.html
|
| 10 |
|
|
@@ -16,9 +16,9 @@ Is essential to work with product brands for increase sales and generate reliabi
|
|
| 16 |
With this extension you can add product brands to your WooCommerce site.
|
| 17 |
|
| 18 |
= Requirements =
|
| 19 |
-
> * PHP 5.4 or higher (
|
| 20 |
> * WordPress 4.4 or higher
|
| 21 |
-
> * WooCommerce 2.
|
| 22 |
> * Visual Composer (recommended)
|
| 23 |
|
| 24 |
= Features =
|
|
@@ -33,6 +33,7 @@ With this extension you can add product brands to your WooCommerce site.
|
|
| 33 |
> * Shortcode: Display brands carousel
|
| 34 |
> * Shortcode: Display product carousel by brand
|
| 35 |
> * Shortcode: Display brands for a specific product
|
|
|
|
| 36 |
> * Widget: Display brands as dropdown
|
| 37 |
> * Widget: Display brands as list (brand names or brand logos)
|
| 38 |
> * Widget: Filter products by brand
|
|
@@ -44,6 +45,7 @@ With this extension you can add product brands to your WooCommerce site.
|
|
| 44 |
> * WooCommerce built-in product importer/exporter support (WooCommerce 3.1.0+)
|
| 45 |
> * Brand tab for single product page
|
| 46 |
> * Favorite brands
|
|
|
|
| 47 |
> * And much more!
|
| 48 |
|
| 49 |
|
|
@@ -78,6 +80,18 @@ Go to `WooCommerce/Settings/` and click on `Brands` tab
|
|
| 78 |
|
| 79 |
|
| 80 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
= 1.6.5 =
|
| 82 |
* Include icon and banner brand image in api response (thanks @qbig)
|
| 83 |
* Feature: New option for show only favorite brands in the dropdown widget and the list widget
|
| 4 |
Tags: woocommerce, brands, brand taxonomy, product brands, woocommerce manufacturer, woocommerce supplier, e-commerce
|
| 5 |
Requires at least: 4.4
|
| 6 |
Tested up to: 4.9
|
| 7 |
+
Stable tag: 1.7.0
|
| 8 |
License: GPL3
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.en.html
|
| 10 |
|
| 16 |
With this extension you can add product brands to your WooCommerce site.
|
| 17 |
|
| 18 |
= Requirements =
|
| 19 |
+
> * PHP 5.4 or higher (PHP7 recommended)
|
| 20 |
> * WordPress 4.4 or higher
|
| 21 |
+
> * WooCommerce 2.6.0 or higher
|
| 22 |
> * Visual Composer (recommended)
|
| 23 |
|
| 24 |
= Features =
|
| 33 |
> * Shortcode: Display brands carousel
|
| 34 |
> * Shortcode: Display product carousel by brand
|
| 35 |
> * Shortcode: Display brands for a specific product
|
| 36 |
+
> * Shortcode: A-Z Listing
|
| 37 |
> * Widget: Display brands as dropdown
|
| 38 |
> * Widget: Display brands as list (brand names or brand logos)
|
| 39 |
> * Widget: Filter products by brand
|
| 45 |
> * WooCommerce built-in product importer/exporter support (WooCommerce 3.1.0+)
|
| 46 |
> * Brand tab for single product page
|
| 47 |
> * Favorite brands
|
| 48 |
+
> * Brands json import/export
|
| 49 |
> * And much more!
|
| 50 |
|
| 51 |
|
| 80 |
|
| 81 |
|
| 82 |
== Changelog ==
|
| 83 |
+
= 1.7.0 =
|
| 84 |
+
* Feature: A-Z Listing shortcode
|
| 85 |
+
* Feature: New brands exporter/importer introduced
|
| 86 |
+
* Fix: Missing some brands to filter
|
| 87 |
+
* Fix: Coupon doesn’t work for product variations (thanks @gekomees)
|
| 88 |
+
* Fix: The brand description is not shown if there are no products
|
| 89 |
+
* Enhancement: wpautop() for brand descriptions
|
| 90 |
+
* Enhancement: Other filter by brand widget enhancements
|
| 91 |
+
* Enhancement: Brands page link in breadcrumbs
|
| 92 |
+
* Enhancement: Enqueue the carousel lib conditionally
|
| 93 |
+
* Dev: New filter hook 'pwb_description_allowed_tags'
|
| 94 |
+
* Update: WC 3.5 compatibility
|
| 95 |
= 1.6.5 =
|
| 96 |
* Include icon and banner brand image in api response (thanks @qbig)
|
| 97 |
* Feature: New option for show only favorite brands in the dropdown widget and the list widget
|
templates/admin/brands-exporter.php
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* The template for displaying the edit-tags.php exporter/importer
|
| 4 |
+
* @version 1.0.0
|
| 5 |
+
*/
|
| 6 |
+
|
| 7 |
+
namespace Perfect_Woocommerce_Brands\Templates;
|
| 8 |
+
|
| 9 |
+
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
| 10 |
+
|
| 11 |
+
extract( $data );
|
| 12 |
+
?>
|
| 13 |
+
|
| 14 |
+
<div class="pwb-brands-exporter pwb-clearfix">
|
| 15 |
+
<button class="button pwb-brands-export"><?php _e('Export brands', 'perfect-woocommerce-brands');?></button>
|
| 16 |
+
<button class="button pwb-brands-import"><?php _e('Import brands', 'perfect-woocommerce-brands');?></button>
|
| 17 |
+
<input type="file" class="pwb-brands-import-file" accept="application/json">
|
| 18 |
+
<p><?php _e( 'This tool allows you to export and import the brands between different sites using PWB.', 'perfect-woocommerce-brands' );?></p>
|
| 19 |
+
</div>
|
templates/shortcodes/carousel.php
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
|
| 16 |
<?php foreach( $brands as $brand ): ?>
|
| 17 |
<div class="pwb-slick-slide">
|
| 18 |
-
<a href="<?php echo $brand['link'];?>" title="<?php
|
| 19 |
<?php echo $brand['attachment_html'];?>
|
| 20 |
</a>
|
| 21 |
</div>
|
| 15 |
|
| 16 |
<?php foreach( $brands as $brand ): ?>
|
| 17 |
<div class="pwb-slick-slide">
|
| 18 |
+
<a href="<?php echo $brand['link'];?>" title="<?php echo $brand['name']; ?>">
|
| 19 |
<?php echo $brand['attachment_html'];?>
|
| 20 |
</a>
|
| 21 |
</div>
|
uninstall.php
CHANGED
|
@@ -12,6 +12,9 @@
|
|
| 12 |
delete_option('wc_pwb_admin_tab_section_end');
|
| 13 |
delete_option('wc_pwb_notice_plugin_review');
|
| 14 |
|
|
|
|
|
|
|
|
|
|
| 15 |
//update permalinks and clean cache
|
| 16 |
flush_rewrite_rules();
|
| 17 |
wp_cache_flush();
|
| 12 |
delete_option('wc_pwb_admin_tab_section_end');
|
| 13 |
delete_option('wc_pwb_notice_plugin_review');
|
| 14 |
|
| 15 |
+
//elimina el archivo de marcas exportadas si existe
|
| 16 |
+
unlink( WP_CONTENT_DIR . '/uploads/pwb-export.json' );
|
| 17 |
+
|
| 18 |
//update permalinks and clean cache
|
| 19 |
flush_rewrite_rules();
|
| 20 |
wp_cache_flush();
|
