Version Description
- Enhancement - Russian translation
- Fix - Translation
- Fix - Network activation
- Fix - Displaying of filter with price
- Fix - Get normal min/max prices for filter with price
- Fix - Widgets displays incorrect with some themes
- Fix - Not filtering with some plugins
- Fix - Scrollbar displays incorrect with some themes
Download this release
Release Info
Developer | dholovnia |
Plugin | Advanced AJAX Product Filters |
Version | 1.1.4 |
Comparing to | |
See all releases |
Code changes from version 1.1.3 to 1.1.4
- README.md +11 -1
- includes/widget.php +62 -21
- js/widget.min.js +29 -10
- languages/BeRocket_AJAX_domain-ru_RU.mo +0 -0
- languages/BeRocket_AJAX_domain-ru_RU.po +270 -0
- languages/BeRocket_AJAX_domain.pot +257 -0
- readme.txt +12 -2
- templates/admin-settings.php +31 -31
- templates/admin.php +14 -14
- woocommerce-filters.php +27 -16
README.md
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://berocket.com
|
|
5 |
Tags: filters, product filters, ajax product filters, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce ajax product filters, widget, plugin
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 4.4
|
8 |
-
Stable tag: 1.1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -139,6 +139,16 @@ http://woocommerce-product-filter.berocket.com
|
|
139 |
|
140 |
== Changelog ==
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
= 1.1.3 =
|
143 |
* Enhancement - load only products from last AJAX request
|
144 |
* Enhancement - Uses HTML for widgets from theme
|
5 |
Tags: filters, product filters, ajax product filters, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce ajax product filters, widget, plugin
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 4.4
|
8 |
+
Stable tag: 1.1.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
139 |
|
140 |
== Changelog ==
|
141 |
|
142 |
+
= 1.1.4 =
|
143 |
+
* Enhancement - Russian translation
|
144 |
+
* Fix - Translation
|
145 |
+
* Fix - Network activation
|
146 |
+
* Fix - Displaying of filter with price
|
147 |
+
* Fix - Get normal min/max prices for filter with price
|
148 |
+
* Fix - Widgets displays incorrect with some themes
|
149 |
+
* Fix - Not filtering with some plugins
|
150 |
+
* Fix - Scrollbar displays incorrect with some themes
|
151 |
+
|
152 |
= 1.1.3 =
|
153 |
* Enhancement - load only products from last AJAX request
|
154 |
* Enhancement - Uses HTML for widgets from theme
|
includes/widget.php
CHANGED
@@ -3,11 +3,12 @@
|
|
3 |
define('BEROCKETAAPF', 'BeRocket_AAPF_Widget');
|
4 |
|
5 |
/* Widget */
|
|
|
6 |
function BeRocket_AAPF_load_widgets() {
|
7 |
register_widget( 'BeRocket_AAPF_widget' );
|
8 |
}
|
9 |
require_once dirname( __FILE__ ).'/functions.php';
|
10 |
-
if (
|
11 |
add_action( 'widgets_init', 'BeRocket_AAPF_load_widgets' );
|
12 |
add_action( 'wp_ajax_nopriv_berocket_aapf_listener', array( 'BeRocket_AAPF_Widget', 'listener' ) );
|
13 |
add_action( 'wp_ajax_berocket_aapf_listener', array( 'BeRocket_AAPF_Widget', 'listener' ) );
|
@@ -24,16 +25,16 @@ class BeRocket_AAPF_Widget extends WP_Widget {
|
|
24 |
function BeRocket_AAPF_Widget() {
|
25 |
global $wp_version;
|
26 |
/* Widget settings. */
|
27 |
-
$widget_ops = array( 'classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', BeRocket_AJAX_domain) );
|
28 |
|
29 |
/* Widget control settings. */
|
30 |
$control_ops = array( 'id_base' => 'berocket_aapf_widget' );
|
31 |
|
32 |
/* Create the widget. */
|
33 |
if( strcmp( $wp_version, '4.3') < 0 ) {
|
34 |
-
$this->WP_Widget( 'berocket_aapf_widget', __('AJAX Product Filters', BeRocket_AJAX_domain), $widget_ops, $control_ops );
|
35 |
} else {
|
36 |
-
$this->__construct( 'berocket_aapf_widget', __('AJAX Product Filters', BeRocket_AJAX_domain), $widget_ops, $control_ops );
|
37 |
}
|
38 |
|
39 |
add_filter( 'berocket_aapf_listener_wp_query_args', 'br_aapf_args_parser' );
|
@@ -47,7 +48,8 @@ class BeRocket_AAPF_Widget extends WP_Widget {
|
|
47 |
*/
|
48 |
function widget( $args, $instance ) {
|
49 |
$br_options = apply_filters( 'berocket_aapf_listener_br_options', get_option('br_filters_options') );
|
50 |
-
|
|
|
51 |
|
52 |
global $wp_query, $wp, $sitepress;
|
53 |
|
@@ -305,27 +307,66 @@ class BeRocket_AAPF_Widget extends WP_Widget {
|
|
305 |
|
306 |
public static function get_price_range( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items ){
|
307 |
global $wp_query;
|
|
|
308 |
$wp_query_product_cat_save = $wp_query;
|
309 |
-
$products = BeRocket_AAPF_Widget::get_filter_products( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items, false );
|
310 |
-
$wp_query = $wp_query_product_cat_save;
|
311 |
-
unset( $wp_query_product_cat_save );
|
312 |
$price_range = array();
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
|
|
|
|
325 |
}
|
326 |
}
|
327 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
|
|
|
|
|
|
|
|
329 |
|
330 |
if ( @ count( $price_range ) < 2 ) {
|
331 |
$price_range = false;
|
@@ -344,12 +385,12 @@ class BeRocket_AAPF_Widget extends WP_Widget {
|
|
344 |
$q_args['posts_per_page'] = 2000;
|
345 |
$q_args['post__in'] = '';
|
346 |
$q_args['tax_query'] = '';
|
347 |
-
$q_args['product_tag'] = '';
|
348 |
$q_args['taxonomy'] = '';
|
349 |
$q_args['term'] = '';
|
350 |
$q_args['meta_query'] = '';
|
351 |
$q_args['attribute'] = '';
|
352 |
$q_args['title'] = '';
|
|
|
353 |
$q_args['fields'] = 'ids';
|
354 |
$paged = 1;
|
355 |
do{
|
3 |
define('BEROCKETAAPF', 'BeRocket_AAPF_Widget');
|
4 |
|
5 |
/* Widget */
|
6 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
7 |
function BeRocket_AAPF_load_widgets() {
|
8 |
register_widget( 'BeRocket_AAPF_widget' );
|
9 |
}
|
10 |
require_once dirname( __FILE__ ).'/functions.php';
|
11 |
+
if ( ( is_plugin_active( 'woocommerce/woocommerce.php' ) || is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) && br_get_woocommerce_version() >= 2.1 ) {
|
12 |
add_action( 'widgets_init', 'BeRocket_AAPF_load_widgets' );
|
13 |
add_action( 'wp_ajax_nopriv_berocket_aapf_listener', array( 'BeRocket_AAPF_Widget', 'listener' ) );
|
14 |
add_action( 'wp_ajax_berocket_aapf_listener', array( 'BeRocket_AAPF_Widget', 'listener' ) );
|
25 |
function BeRocket_AAPF_Widget() {
|
26 |
global $wp_version;
|
27 |
/* Widget settings. */
|
28 |
+
$widget_ops = array( 'classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', 'BeRocket_AJAX_domain') );
|
29 |
|
30 |
/* Widget control settings. */
|
31 |
$control_ops = array( 'id_base' => 'berocket_aapf_widget' );
|
32 |
|
33 |
/* Create the widget. */
|
34 |
if( strcmp( $wp_version, '4.3') < 0 ) {
|
35 |
+
$this->WP_Widget( 'berocket_aapf_widget', __('AJAX Product Filters', 'BeRocket_AJAX_domain'), $widget_ops, $control_ops );
|
36 |
} else {
|
37 |
+
$this->__construct( 'berocket_aapf_widget', __('AJAX Product Filters', 'BeRocket_AJAX_domain'), $widget_ops, $control_ops );
|
38 |
}
|
39 |
|
40 |
add_filter( 'berocket_aapf_listener_wp_query_args', 'br_aapf_args_parser' );
|
48 |
*/
|
49 |
function widget( $args, $instance ) {
|
50 |
$br_options = apply_filters( 'berocket_aapf_listener_br_options', get_option('br_filters_options') );
|
51 |
+
|
52 |
+
if( @ $br_options['filters_turn_off'] || ( ! is_shop() && ! is_product_category() && ! is_product_taxonomy() && ! is_product_tag() ) ) return false;
|
53 |
|
54 |
global $wp_query, $wp, $sitepress;
|
55 |
|
307 |
|
308 |
public static function get_price_range( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items ){
|
309 |
global $wp_query;
|
310 |
+
$br_options = apply_filters( 'berocket_aapf_listener_br_options', get_option('br_filters_options') );
|
311 |
$wp_query_product_cat_save = $wp_query;
|
|
|
|
|
|
|
312 |
$price_range = array();
|
313 |
+
if( @ $br_options['show_all_values'] ) {
|
314 |
+
$products = BeRocket_AAPF_Widget::get_filter_products( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items, false );
|
315 |
+
foreach ( $products as $ID ) {
|
316 |
+
$meta_values = get_post_meta( $ID, '_price' );
|
317 |
+
if ( $meta_values[0] or $woocommerce_hide_out_of_stock_items != 'yes' ) {
|
318 |
+
$price_range[] = $meta_values[0];
|
319 |
+
}
|
320 |
+
$product_variation = get_children ( array ( 'post_parent' => $ID, 'post_type' => 'product_variation', 'numberposts' => -1, 'post_status' => 'any' ) );
|
321 |
+
if ( is_array( $product_variation ) ) {
|
322 |
+
foreach ( $product_variation as $variation ) {
|
323 |
+
$meta_values = get_post_meta( $variation->ID, '_price' );
|
324 |
+
if ( $meta_values[0] or $woocommerce_hide_out_of_stock_items != 'yes' ) {
|
325 |
+
$price_range[] = $meta_values[0];
|
326 |
+
}
|
327 |
}
|
328 |
}
|
329 |
}
|
330 |
+
} else {
|
331 |
+
$q_args = $wp_query->query_vars;
|
332 |
+
$q_args['posts_per_page'] = 2000;
|
333 |
+
$q_args['post__in'] = '';
|
334 |
+
$q_args['tax_query'] = '';
|
335 |
+
$q_args['taxonomy'] = '';
|
336 |
+
$q_args['term'] = '';
|
337 |
+
$q_args['meta_query'] = '';
|
338 |
+
$q_args['attribute'] = '';
|
339 |
+
$q_args['title'] = '';
|
340 |
+
$q_args['post_type'] = 'product';
|
341 |
+
$q_args['fields'] = 'ids';
|
342 |
+
$paged = 1;
|
343 |
+
do{
|
344 |
+
$q_args['paged'] = $paged;
|
345 |
+
$the_query = new WP_Query($q_args);
|
346 |
+
if ( $the_query->have_posts() ) {
|
347 |
+
foreach ( $the_query->posts as $ID ) {
|
348 |
+
$meta_values = get_post_meta( $ID, '_price' );
|
349 |
+
if ( $meta_values[0] or $woocommerce_hide_out_of_stock_items != 'yes' ) {
|
350 |
+
$price_range[] = $meta_values[0];
|
351 |
+
}
|
352 |
+
$product_variation = get_children ( array ( 'post_parent' => $ID, 'post_type' => 'product_variation', 'numberposts' => -1, 'post_status' => 'any' ) );
|
353 |
+
if ( is_array( $product_variation ) ) {
|
354 |
+
foreach ( $product_variation as $variation ) {
|
355 |
+
$meta_values = get_post_meta( $variation->ID, '_price' );
|
356 |
+
if ( $meta_values[0] or $woocommerce_hide_out_of_stock_items != 'yes' ) {
|
357 |
+
$price_range[] = $meta_values[0];
|
358 |
+
}
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
}
|
363 |
+
$paged++;
|
364 |
+
} while($paged <= $the_query->max_num_pages);
|
365 |
}
|
366 |
+
$wp_query = $wp_query_product_cat_save;
|
367 |
+
unset( $wp_query_product_cat_save );
|
368 |
+
|
369 |
+
$price_range = array_unique( $price_range );
|
370 |
|
371 |
if ( @ count( $price_range ) < 2 ) {
|
372 |
$price_range = false;
|
385 |
$q_args['posts_per_page'] = 2000;
|
386 |
$q_args['post__in'] = '';
|
387 |
$q_args['tax_query'] = '';
|
|
|
388 |
$q_args['taxonomy'] = '';
|
389 |
$q_args['term'] = '';
|
390 |
$q_args['meta_query'] = '';
|
391 |
$q_args['attribute'] = '';
|
392 |
$q_args['title'] = '';
|
393 |
+
$q_args['post_type'] = 'product';
|
394 |
$q_args['fields'] = 'ids';
|
395 |
$paged = 1;
|
396 |
do{
|
js/widget.min.js
CHANGED
@@ -169,6 +169,11 @@
|
|
169 |
update_data_containers();
|
170 |
update_selected_area();
|
171 |
|
|
|
|
|
|
|
|
|
|
|
172 |
args = {
|
173 |
current_language: the_ajax_script.current_language,
|
174 |
terms: berocket_aapf_widget_product_filters,
|
@@ -177,7 +182,7 @@
|
|
177 |
product_cat: the_ajax_script.product_cat,
|
178 |
product_taxonomy: the_ajax_script.product_taxonomy,
|
179 |
action: 'berocket_aapf_listener',
|
180 |
-
orderby:
|
181 |
};
|
182 |
|
183 |
if( the_ajax_script.seo_friendly_urls && 'history' in window && 'pushState' in history ) {
|
@@ -431,6 +436,7 @@
|
|
431 |
return uri;
|
432 |
} else {
|
433 |
var stateParameters = { BeRocket: "Rules" };
|
|
|
434 |
history.pushState(stateParameters, "BeRocket Rules", uri);
|
435 |
history.pathname = uri;
|
436 |
}
|
@@ -468,17 +474,21 @@
|
|
468 |
$('.berocket_aapf_widget').on("change", "input, select", function(){
|
469 |
if($(this).attr('type') == 'checkbox' || $(this).attr('type') == 'radio')
|
470 |
{
|
471 |
-
$label = $(this).parents('li').find('.berocket_label_widgets');
|
472 |
-
if( $label.parents('li').find('input').prop('checked')) {
|
473 |
-
$('.'+$label.attr('for')).
|
474 |
-
|
|
|
|
|
475 |
} else {
|
476 |
$('.'+$label.attr('for')).prop('checked', true);
|
477 |
-
if( $label.parents('li').find('input').attr('type') == 'radio' ) {
|
478 |
$('.'+$label.attr('for')).parents('.berocket_aapf_widget').find('li').removeClass('berocket_hide_sel_value');
|
479 |
}
|
480 |
if( the_ajax_script.hide_sel_value ) {
|
481 |
-
$('.'+$label.attr('for')).
|
|
|
|
|
482 |
}
|
483 |
$label.addClass('berocket_checked');
|
484 |
}
|
@@ -496,12 +506,16 @@
|
|
496 |
{
|
497 |
$('.'+$label.attr('for')).prop('checked', true).trigger('refresh');
|
498 |
if( the_ajax_script.hide_sel_value ) {
|
499 |
-
$('.'+$label.attr('for')).
|
|
|
|
|
500 |
}
|
501 |
}
|
502 |
else
|
503 |
{
|
504 |
-
$('.'+$label.attr('for')).prop('checked', false).trigger('refresh').
|
|
|
|
|
505 |
}
|
506 |
} else if($(this).is('select'))
|
507 |
{
|
@@ -544,7 +558,7 @@
|
|
544 |
|
545 |
$(".berocket_aapf_widget_height_control").each(function (i,o){
|
546 |
$(o).mCustomScrollbar({
|
547 |
-
axis: "
|
548 |
theme: $(o).data('scroll_theme'),
|
549 |
scrollInertia: 300
|
550 |
});
|
@@ -624,6 +638,11 @@
|
|
624 |
$(this).find('span').removeClass('show_button').addClass('hide_button');
|
625 |
}
|
626 |
});
|
|
|
|
|
|
|
|
|
|
|
627 |
});
|
628 |
})(jQuery);
|
629 |
|
169 |
update_data_containers();
|
170 |
update_selected_area();
|
171 |
|
172 |
+
var orderby = the_ajax_script.default_sorting;
|
173 |
+
if ( $('.woocommerce-ordering select.orderby').length > 0 ) {
|
174 |
+
orderby = $('.woocommerce-ordering select.orderby').val();
|
175 |
+
}
|
176 |
+
|
177 |
args = {
|
178 |
current_language: the_ajax_script.current_language,
|
179 |
terms: berocket_aapf_widget_product_filters,
|
182 |
product_cat: the_ajax_script.product_cat,
|
183 |
product_taxonomy: the_ajax_script.product_taxonomy,
|
184 |
action: 'berocket_aapf_listener',
|
185 |
+
orderby: orderby
|
186 |
};
|
187 |
|
188 |
if( the_ajax_script.seo_friendly_urls && 'history' in window && 'pushState' in history ) {
|
436 |
return uri;
|
437 |
} else {
|
438 |
var stateParameters = { BeRocket: "Rules" };
|
439 |
+
history.replaceState(stateParameters, "BeRocket Rules");
|
440 |
history.pushState(stateParameters, "BeRocket Rules", uri);
|
441 |
history.pathname = uri;
|
442 |
}
|
474 |
$('.berocket_aapf_widget').on("change", "input, select", function(){
|
475 |
if($(this).attr('type') == 'checkbox' || $(this).attr('type') == 'radio')
|
476 |
{
|
477 |
+
$label = $(this).parents('li').first().find('.berocket_label_widgets');
|
478 |
+
if( $label.parents('li').first().find('input').prop('checked')) {
|
479 |
+
$('.'+$label.attr('for')).each(function( i2, o2 ) {
|
480 |
+
$(o2).prop('checked', false);
|
481 |
+
$(o2).parents('li').first().removeClass('berocket_hide_sel_value');
|
482 |
+
});
|
483 |
} else {
|
484 |
$('.'+$label.attr('for')).prop('checked', true);
|
485 |
+
if( $label.parents('li').first().find('input').attr('type') == 'radio' ) {
|
486 |
$('.'+$label.attr('for')).parents('.berocket_aapf_widget').find('li').removeClass('berocket_hide_sel_value');
|
487 |
}
|
488 |
if( the_ajax_script.hide_sel_value ) {
|
489 |
+
$('.'+$label.attr('for')).each(function( i2, o2 ) {
|
490 |
+
$(o2).parents('li').first().addClass('berocket_hide_sel_value');
|
491 |
+
});
|
492 |
}
|
493 |
$label.addClass('berocket_checked');
|
494 |
}
|
506 |
{
|
507 |
$('.'+$label.attr('for')).prop('checked', true).trigger('refresh');
|
508 |
if( the_ajax_script.hide_sel_value ) {
|
509 |
+
$('.'+$label.attr('for')).each(function( i2, o2 ) {
|
510 |
+
$(o2).parents('li').first().addClass('berocket_hide_sel_value');
|
511 |
+
});
|
512 |
}
|
513 |
}
|
514 |
else
|
515 |
{
|
516 |
+
$('.'+$label.attr('for')).prop('checked', false).trigger('refresh').each(function( i2, o2 ) {
|
517 |
+
$(o2).parents('li').first().removeClass('berocket_hide_sel_value');
|
518 |
+
});
|
519 |
}
|
520 |
} else if($(this).is('select'))
|
521 |
{
|
558 |
|
559 |
$(".berocket_aapf_widget_height_control").each(function (i,o){
|
560 |
$(o).mCustomScrollbar({
|
561 |
+
axis: "y",
|
562 |
theme: $(o).data('scroll_theme'),
|
563 |
scrollInertia: 300
|
564 |
});
|
638 |
$(this).find('span').removeClass('show_button').addClass('hide_button');
|
639 |
}
|
640 |
});
|
641 |
+
window.onpopstate = function(event) {
|
642 |
+
if ( event.state != null && event.state.BeRocket == 'Rules' ) {
|
643 |
+
location.reload();
|
644 |
+
}
|
645 |
+
};
|
646 |
});
|
647 |
})(jQuery);
|
648 |
|
languages/BeRocket_AJAX_domain-ru_RU.mo
ADDED
Binary file
|
languages/BeRocket_AJAX_domain-ru_RU.po
ADDED
@@ -0,0 +1,270 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Advanced AJAX Product Filters for WooCommerce\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: Thu Feb 11 2016 10:53:27 GMT+0200 (EET)\n"
|
6 |
+
"PO-Revision-Date: Thu Feb 11 2016 11:32:11 GMT+0200 (EET)\n"
|
7 |
+
"Last-Translator: RazyRx <djcrazysait@mail.ru>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"Language: Russian\n"
|
10 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
|
11 |
+
"n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
+
"X-Poedit-Basepath: .\n"
|
17 |
+
"X-Poedit-SearchPath-0: ..\n"
|
18 |
+
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
19 |
+
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
20 |
+
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
21 |
+
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
22 |
+
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
23 |
+
"X-Generator: Loco - https://localise.biz/\n"
|
24 |
+
"X-Loco-Target-Locale: ru_RU"
|
25 |
+
|
26 |
+
#. Name of the plugin
|
27 |
+
msgid "Advanced AJAX Product Filters for WooCommerce"
|
28 |
+
msgstr "dvanced AJAX Product Filters for WooCommerce"
|
29 |
+
|
30 |
+
#. URI of the plugin
|
31 |
+
msgid "http://berocket.com/wp-plugins/product-filters"
|
32 |
+
msgstr "http://berocket.com/wp-plugins/product-filters"
|
33 |
+
|
34 |
+
#. Author of the plugin
|
35 |
+
msgid "BeRocket"
|
36 |
+
msgstr "BeRocket"
|
37 |
+
|
38 |
+
#. Author URI of the plugin
|
39 |
+
msgid "http://berocket.com"
|
40 |
+
msgstr "http://berocket.com"
|
41 |
+
|
42 |
+
#: ../woocommerce-filters.php:84
|
43 |
+
msgid "Activate WooCommerce plugin before"
|
44 |
+
msgstr "Сначала активируйте плагин WooCommerce"
|
45 |
+
|
46 |
+
#: ../woocommerce-filters.php:92
|
47 |
+
msgid "Update WooCommerce plugin"
|
48 |
+
msgstr "Обновите плагин WooCommerce"
|
49 |
+
|
50 |
+
#: ../woocommerce-filters.php:98
|
51 |
+
msgid "Product Filters Settings"
|
52 |
+
msgstr "Product Filters Настройки"
|
53 |
+
|
54 |
+
#: ../woocommerce-filters.php:98
|
55 |
+
msgid "Product Filters"
|
56 |
+
msgstr "Product Filters"
|
57 |
+
|
58 |
+
#: ../includes/widget.php:27
|
59 |
+
msgid "Add Filters to Products page"
|
60 |
+
msgstr "Добавляет фильтры на страницы с продуктами"
|
61 |
+
|
62 |
+
#: ../includes/widget.php:34 ../includes/widget.php:36
|
63 |
+
msgid "AJAX Product Filters"
|
64 |
+
msgstr "AJAX Product Filters"
|
65 |
+
|
66 |
+
#: ../templates/admin.php:2
|
67 |
+
msgid "Widget Type:"
|
68 |
+
msgstr "Тип Виджета:"
|
69 |
+
|
70 |
+
#: ../templates/admin.php:4
|
71 |
+
msgid "Filter"
|
72 |
+
msgstr "Фильтр"
|
73 |
+
|
74 |
+
#: ../templates/admin.php:5
|
75 |
+
msgid "Update Products button"
|
76 |
+
msgstr "Кнопка обновления продуктов"
|
77 |
+
|
78 |
+
#: ../templates/admin.php:13
|
79 |
+
msgid "Title:"
|
80 |
+
msgstr "Название:"
|
81 |
+
|
82 |
+
#: ../templates/admin.php:18
|
83 |
+
msgid "Attribute:"
|
84 |
+
msgstr "Атрибут:"
|
85 |
+
|
86 |
+
#: ../templates/admin.php:20
|
87 |
+
msgid "Price"
|
88 |
+
msgstr "Цена"
|
89 |
+
|
90 |
+
#: ../templates/admin.php:28
|
91 |
+
msgid "Type:"
|
92 |
+
msgstr "Тип:"
|
93 |
+
|
94 |
+
#: ../templates/admin.php:41
|
95 |
+
msgid "Operator:"
|
96 |
+
msgstr "Оператор:"
|
97 |
+
|
98 |
+
#: ../templates/admin.php:57
|
99 |
+
msgid "Advanced Settings"
|
100 |
+
msgstr "Продвинутые настройки"
|
101 |
+
|
102 |
+
#: ../templates/admin.php:61
|
103 |
+
msgid "CSS Class:"
|
104 |
+
msgstr "CSS класс:"
|
105 |
+
|
106 |
+
#: ../templates/admin.php:66
|
107 |
+
msgid "Product Category:"
|
108 |
+
msgstr "Категория продуктов:"
|
109 |
+
|
110 |
+
#: ../templates/admin.php:69
|
111 |
+
msgid "include subcats?"
|
112 |
+
msgstr "включить подкатегории?"
|
113 |
+
|
114 |
+
#: ../templates/admin.php:96
|
115 |
+
msgid "Filter Box Height:"
|
116 |
+
msgstr "Высота блока с фильтром:"
|
117 |
+
|
118 |
+
#: ../templates/admin.php:100
|
119 |
+
msgid "Scroll Theme:"
|
120 |
+
msgstr "Тема для прокрутки:"
|
121 |
+
|
122 |
+
#: ../templates/admin-settings.php:9
|
123 |
+
msgid "General"
|
124 |
+
msgstr "Основные"
|
125 |
+
|
126 |
+
#: ../templates/admin-settings.php:10
|
127 |
+
msgid "Design"
|
128 |
+
msgstr "Дизайн"
|
129 |
+
|
130 |
+
#: ../templates/admin-settings.php:11
|
131 |
+
msgid "JavaScript"
|
132 |
+
msgstr "JavaScript"
|
133 |
+
|
134 |
+
#: ../templates/admin-settings.php:12
|
135 |
+
msgid "Custom CSS"
|
136 |
+
msgstr "Пользовательские CSS"
|
137 |
+
|
138 |
+
#: ../templates/admin-settings.php:17
|
139 |
+
msgid "\"No Products\" message"
|
140 |
+
msgstr "Сообщение \"Нет продуктов\""
|
141 |
+
|
142 |
+
#: ../templates/admin-settings.php:21
|
143 |
+
msgid "Text that will be shown if no products found"
|
144 |
+
msgstr "Текст, которые будет отображаться, если не будет найдено продуктов"
|
145 |
+
|
146 |
+
#: ../templates/admin-settings.php:25
|
147 |
+
msgid "\"No Products\" class"
|
148 |
+
msgstr "Класс для сообщения \"Нет продуктов\""
|
149 |
+
|
150 |
+
#: ../templates/admin-settings.php:29
|
151 |
+
msgid "Add class and use it to style \"No Products\" box"
|
152 |
+
msgstr ""
|
153 |
+
"Добавьте класс и используйте его, что бы стилизовать сообщение \"Нет "
|
154 |
+
"продуктов\""
|
155 |
+
|
156 |
+
#: ../templates/admin-settings.php:33
|
157 |
+
msgid "Products selector"
|
158 |
+
msgstr "Селектор для блока с продуктами"
|
159 |
+
|
160 |
+
#: ../templates/admin-settings.php:37
|
161 |
+
msgid ""
|
162 |
+
"Selector for tag that is holding products. Don't change this if you don't "
|
163 |
+
"know what it is"
|
164 |
+
msgstr ""
|
165 |
+
"Селектор для блока, в котором находятся все продукты. Не меняйте, если вы не "
|
166 |
+
"знаете для чего это."
|
167 |
+
|
168 |
+
#: ../templates/admin-settings.php:41
|
169 |
+
msgid "Sorting control"
|
170 |
+
msgstr "Управлять сортировкой"
|
171 |
+
|
172 |
+
#: ../templates/admin-settings.php:44
|
173 |
+
msgid "Take control over WooCommerce's sorting selectbox?"
|
174 |
+
msgstr "Взять контроль над выпадающим списком для сортировки продуктов?"
|
175 |
+
|
176 |
+
#: ../templates/admin-settings.php:48
|
177 |
+
msgid "SEO friendly urls"
|
178 |
+
msgstr "Ссылки дружественные к SEO"
|
179 |
+
|
180 |
+
#: ../templates/admin-settings.php:51
|
181 |
+
msgid "If this option is on url will be changed when filter is selected/changed"
|
182 |
+
msgstr ""
|
183 |
+
"Если эта опция включена, то ссылка будет меняться при выборе/изменении "
|
184 |
+
"фильтров"
|
185 |
+
|
186 |
+
#: ../templates/admin-settings.php:55
|
187 |
+
msgid "Turn all filters off"
|
188 |
+
msgstr "Выключить все фильтры"
|
189 |
+
|
190 |
+
#: ../templates/admin-settings.php:58
|
191 |
+
msgid ""
|
192 |
+
"If you want to hide filters without losing current configuration just turn "
|
193 |
+
"them off"
|
194 |
+
msgstr "Если вы хотите убрать все фильтры и не потерять текущие настройки"
|
195 |
+
|
196 |
+
#: ../templates/admin-settings.php:62
|
197 |
+
msgid "Show all values"
|
198 |
+
msgstr "Показать все значения"
|
199 |
+
|
200 |
+
#: ../templates/admin-settings.php:65
|
201 |
+
msgid "Check if you want to show not used attribute values too"
|
202 |
+
msgstr "Если вы хотите показать все значения, включая не используемые"
|
203 |
+
|
204 |
+
#: ../templates/admin-settings.php:69
|
205 |
+
msgid "Hide values"
|
206 |
+
msgstr "Спрятать значения"
|
207 |
+
|
208 |
+
#: ../templates/admin-settings.php:72
|
209 |
+
msgid "Hide values without products"
|
210 |
+
msgstr "Спрятать значения без продуктов"
|
211 |
+
|
212 |
+
#: ../templates/admin-settings.php:74
|
213 |
+
msgid "Hide selected values"
|
214 |
+
msgstr "Спрятать выбранные значения"
|
215 |
+
|
216 |
+
#: ../templates/admin-settings.php:79
|
217 |
+
msgid "Jump to first page"
|
218 |
+
msgstr "Открывать первую страницу"
|
219 |
+
|
220 |
+
#: ../templates/admin-settings.php:82
|
221 |
+
msgid "Check if you want load first page after filters change"
|
222 |
+
msgstr "Выберите если хотите, что бы открывалась первая страница после фильтрации"
|
223 |
+
|
224 |
+
#: ../templates/admin-settings.php:93
|
225 |
+
msgid "Template ajax load fix"
|
226 |
+
msgstr "Исправление для AJAX загрузки"
|
227 |
+
|
228 |
+
#: ../templates/admin-settings.php:96
|
229 |
+
msgid ""
|
230 |
+
"Use all plugins on ajax load (can fix visual issues but slow down products "
|
231 |
+
"loading)"
|
232 |
+
msgstr ""
|
233 |
+
"Использует все плагины при загрузке страницы (может замедлить загрузку "
|
234 |
+
"продуктов)"
|
235 |
+
|
236 |
+
#: ../templates/admin-settings.php:109
|
237 |
+
msgid "Before Update:"
|
238 |
+
msgstr "Перед Обновлением"
|
239 |
+
|
240 |
+
#: ../templates/admin-settings.php:113
|
241 |
+
msgid "If you want to add own actions on filter activation, eg: alert('1');"
|
242 |
+
msgstr ""
|
243 |
+
"Если вам нужно добавить действие при изменении фильтров. Например: "
|
244 |
+
"alert('1');"
|
245 |
+
|
246 |
+
#: ../templates/admin-settings.php:117
|
247 |
+
msgid "On Update:"
|
248 |
+
msgstr "Во время Обновления"
|
249 |
+
|
250 |
+
#: ../templates/admin-settings.php:121
|
251 |
+
msgid ""
|
252 |
+
"If you want to add own actions right on products update. You can manipulate "
|
253 |
+
"data here, try: data.products = 'Ha!';"
|
254 |
+
msgstr ""
|
255 |
+
"Если вам нужно добавить действие во время замены продуктов. Вы можете "
|
256 |
+
"манипулировать данными. Например: data.products = 'Ha!';"
|
257 |
+
|
258 |
+
#: ../templates/admin-settings.php:125
|
259 |
+
msgid "After Update:"
|
260 |
+
msgstr "После Обновления"
|
261 |
+
|
262 |
+
#: ../templates/admin-settings.php:129
|
263 |
+
msgid "If you want to add own actions after products updated, eg: alert('1');"
|
264 |
+
msgstr ""
|
265 |
+
"Если вам нужно добавить действие после обновления продуктов. Например: "
|
266 |
+
"alert('1');"
|
267 |
+
|
268 |
+
#: ../templates/admin-settings.php:141
|
269 |
+
msgid "Save Changes"
|
270 |
+
msgstr "Сохранить Изменения"
|
languages/BeRocket_AJAX_domain.pot
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Loco Gettext template
|
2 |
+
#, fuzzy
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Advanced AJAX Product Filters for WooCommerce\n"
|
6 |
+
"Report-Msgid-Bugs-To: \n"
|
7 |
+
"POT-Creation-Date: Thu Feb 11 2016 10:53:27 GMT+0200 (EET)\n"
|
8 |
+
"POT-Revision-Date: Thu Feb 11 2016 10:53:29 GMT+0200 (EET)\n"
|
9 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10 |
+
"Last-Translator: \n"
|
11 |
+
"Language-Team: \n"
|
12 |
+
"Language: \n"
|
13 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION\n"
|
14 |
+
"MIME-Version: 1.0\n"
|
15 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
17 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
18 |
+
"X-Poedit-Basepath: .\n"
|
19 |
+
"X-Poedit-SearchPath-0: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
21 |
+
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
22 |
+
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
23 |
+
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
24 |
+
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
25 |
+
"X-Generator: Loco - https://localise.biz/"
|
26 |
+
|
27 |
+
#. Name of the plugin
|
28 |
+
msgid "Advanced AJAX Product Filters for WooCommerce"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#. URI of the plugin
|
32 |
+
msgid "http://berocket.com/wp-plugins/product-filters"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#. Author of the plugin
|
36 |
+
msgid "BeRocket"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#. Author URI of the plugin
|
40 |
+
msgid "http://berocket.com"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: ../woocommerce-filters.php:84
|
44 |
+
msgid "Activate WooCommerce plugin before"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: ../woocommerce-filters.php:92
|
48 |
+
msgid "Update WooCommerce plugin"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: ../woocommerce-filters.php:98
|
52 |
+
msgid "Product Filters Settings"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: ../woocommerce-filters.php:98
|
56 |
+
msgid "Product Filters"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: ../includes/widget.php:27
|
60 |
+
msgid "Add Filters to Products page"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: ../includes/widget.php:34 ../includes/widget.php:36
|
64 |
+
msgid "AJAX Product Filters"
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: ../templates/admin.php:2
|
68 |
+
msgid "Widget Type:"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: ../templates/admin.php:4
|
72 |
+
msgid "Filter"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: ../templates/admin.php:5
|
76 |
+
msgid "Update Products button"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: ../templates/admin.php:13
|
80 |
+
msgid "Title:"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: ../templates/admin.php:18
|
84 |
+
msgid "Attribute:"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: ../templates/admin.php:20
|
88 |
+
msgid "Price"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: ../templates/admin.php:28
|
92 |
+
msgid "Type:"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: ../templates/admin.php:41
|
96 |
+
msgid "Operator:"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: ../templates/admin.php:57
|
100 |
+
msgid "Advanced Settings"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: ../templates/admin.php:61
|
104 |
+
msgid "CSS Class:"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: ../templates/admin.php:66
|
108 |
+
msgid "Product Category:"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: ../templates/admin.php:69
|
112 |
+
msgid "include subcats?"
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: ../templates/admin.php:96
|
116 |
+
msgid "Filter Box Height:"
|
117 |
+
msgstr ""
|
118 |
+
|
119 |
+
#: ../templates/admin.php:100
|
120 |
+
msgid "Scroll Theme:"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: ../templates/admin-settings.php:9
|
124 |
+
msgid "General"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: ../templates/admin-settings.php:10
|
128 |
+
msgid "Design"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: ../templates/admin-settings.php:11
|
132 |
+
msgid "JavaScript"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: ../templates/admin-settings.php:12
|
136 |
+
msgid "Custom CSS"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: ../templates/admin-settings.php:17
|
140 |
+
msgid "\"No Products\" message"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: ../templates/admin-settings.php:21
|
144 |
+
msgid "Text that will be shown if no products found"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: ../templates/admin-settings.php:25
|
148 |
+
msgid "\"No Products\" class"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: ../templates/admin-settings.php:29
|
152 |
+
msgid "Add class and use it to style \"No Products\" box"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: ../templates/admin-settings.php:33
|
156 |
+
msgid "Products selector"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: ../templates/admin-settings.php:37
|
160 |
+
msgid ""
|
161 |
+
"Selector for tag that is holding products. Don't change this if you don't "
|
162 |
+
"know what it is"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: ../templates/admin-settings.php:41
|
166 |
+
msgid "Sorting control"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: ../templates/admin-settings.php:44
|
170 |
+
msgid "Take control over WooCommerce's sorting selectbox?"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: ../templates/admin-settings.php:48
|
174 |
+
msgid "SEO friendly urls"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: ../templates/admin-settings.php:51
|
178 |
+
msgid "If this option is on url will be changed when filter is selected/changed"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: ../templates/admin-settings.php:55
|
182 |
+
msgid "Turn all filters off"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: ../templates/admin-settings.php:58
|
186 |
+
msgid ""
|
187 |
+
"If you want to hide filters without losing current configuration just turn "
|
188 |
+
"them off"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: ../templates/admin-settings.php:62
|
192 |
+
msgid "Show all values"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: ../templates/admin-settings.php:65
|
196 |
+
msgid "Check if you want to show not used attribute values too"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: ../templates/admin-settings.php:69
|
200 |
+
msgid "Hide values"
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: ../templates/admin-settings.php:72
|
204 |
+
msgid "Hide values without products"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: ../templates/admin-settings.php:74
|
208 |
+
msgid "Hide selected values"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: ../templates/admin-settings.php:79
|
212 |
+
msgid "Jump to first page"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: ../templates/admin-settings.php:82
|
216 |
+
msgid "Check if you want load first page after filters change"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: ../templates/admin-settings.php:93
|
220 |
+
msgid "Template ajax load fix"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: ../templates/admin-settings.php:96
|
224 |
+
msgid ""
|
225 |
+
"Use all plugins on ajax load (can fix visual issues but slow down products "
|
226 |
+
"loading)"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: ../templates/admin-settings.php:109
|
230 |
+
msgid "Before Update:"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: ../templates/admin-settings.php:113
|
234 |
+
msgid "If you want to add own actions on filter activation, eg: alert('1');"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: ../templates/admin-settings.php:117
|
238 |
+
msgid "On Update:"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: ../templates/admin-settings.php:121
|
242 |
+
msgid ""
|
243 |
+
"If you want to add own actions right on products update. You can manipulate "
|
244 |
+
"data here, try: data.products = 'Ha!';"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: ../templates/admin-settings.php:125
|
248 |
+
msgid "After Update:"
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: ../templates/admin-settings.php:129
|
252 |
+
msgid "If you want to add own actions after products updated, eg: alert('1');"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: ../templates/admin-settings.php:141
|
256 |
+
msgid "Save Changes"
|
257 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://berocket.com
|
|
5 |
Tags: filters, product filters, ajax product filters, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce ajax product filters, widget, plugin
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 4.4
|
8 |
-
Stable tag: 1.1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -139,6 +139,16 @@ http://woocommerce-product-filter.berocket.com
|
|
139 |
|
140 |
== Changelog ==
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
= 1.1.3 =
|
143 |
* Enhancement - load only products from last AJAX request
|
144 |
* Enhancement - Uses HTML for widgets from theme
|
@@ -266,4 +276,4 @@ you set to order `by custom` you can drag&drop values up and down and set yo
|
|
266 |
* Fix - better support for older PHP versions
|
267 |
|
268 |
= 1.0.1 =
|
269 |
-
* First public version
|
5 |
Tags: filters, product filters, ajax product filters, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce ajax product filters, widget, plugin
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 4.4
|
8 |
+
Stable tag: 1.1.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
139 |
|
140 |
== Changelog ==
|
141 |
|
142 |
+
= 1.1.4 =
|
143 |
+
* Enhancement - Russian translation
|
144 |
+
* Fix - Translation
|
145 |
+
* Fix - Network activation
|
146 |
+
* Fix - Displaying of filter with price
|
147 |
+
* Fix - Get normal min/max prices for filter with price
|
148 |
+
* Fix - Widgets displays incorrect with some themes
|
149 |
+
* Fix - Not filtering with some plugins
|
150 |
+
* Fix - Scrollbar displays incorrect with some themes
|
151 |
+
|
152 |
= 1.1.3 =
|
153 |
* Enhancement - load only products from last AJAX request
|
154 |
* Enhancement - Uses HTML for widgets from theme
|
276 |
* Fix - better support for older PHP versions
|
277 |
|
278 |
= 1.0.1 =
|
279 |
+
* First public version
|
templates/admin-settings.php
CHANGED
@@ -6,80 +6,80 @@
|
|
6 |
$tabs_array = array( 'general', 'design', 'javascript', 'customcss' );
|
7 |
?>
|
8 |
<h2 class="nav-tab-wrapper filter_settings_tabs">
|
9 |
-
<a href="#general" class="nav-tab <?php if(@$options['br_opened_tab'] == 'general' || !in_array( @$options['br_opened_tab'], $tabs_array ) ) echo 'nav-tab-active'; ?>"><?php _e('General', BeRocket_AJAX_domain) ?></a>
|
10 |
-
<a href="#design" class="nav-tab <?php if(@$options['br_opened_tab'] == 'design' ) echo 'nav-tab-active'; ?>"><?php _e('Design', BeRocket_AJAX_domain) ?></a>
|
11 |
-
<a href="#javascript" class="nav-tab <?php if(@$options['br_opened_tab'] == 'javascript' ) echo 'nav-tab-active'; ?>"><?php _e('JavaScript', BeRocket_AJAX_domain) ?></a>
|
12 |
-
<a href="#customcss" class="nav-tab <?php if(@$options['br_opened_tab'] == 'customcss' ) echo 'nav-tab-active'; ?>"><?php _e('Custom CSS', BeRocket_AJAX_domain) ?></a>
|
13 |
</h2>
|
14 |
<div id="general" class="tab-item <?php if(@$options['br_opened_tab'] == 'general' || !in_array( @$options['br_opened_tab'], $tabs_array ) ) echo 'current'; ?>">
|
15 |
<table class="form-table">
|
16 |
<tr>
|
17 |
-
<th scope="row"><?php _e('"No Products" message', BeRocket_AJAX_domain) ?></th>
|
18 |
<td>
|
19 |
<input size="50" name="br_filters_options[no_products_message]" type='text' value='<?php echo @$options['no_products_message']?>'/>
|
20 |
<br />
|
21 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Text that will be shown if no products found', BeRocket_AJAX_domain) ?></span>
|
22 |
</td>
|
23 |
</tr>
|
24 |
<tr>
|
25 |
-
<th scope="row"><?php _e('"No Products" class', BeRocket_AJAX_domain) ?></th>
|
26 |
<td>
|
27 |
<input name="br_filters_options[no_products_class]" type='text' value='<?php echo @$options['no_products_class']?>'/>
|
28 |
<br />
|
29 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Add class and use it to style "No Products" box', BeRocket_AJAX_domain) ?></span>
|
30 |
</td>
|
31 |
</tr>
|
32 |
<tr>
|
33 |
-
<th scope="row"><?php _e('Products selector', BeRocket_AJAX_domain) ?></th>
|
34 |
<td>
|
35 |
<input name="br_filters_options[products_holder_id]" type='text' value='<?php echo @$options['products_holder_id']?$options['products_holder_id']:'ul.products'?>'/>
|
36 |
<br />
|
37 |
-
<span style="color:#666666;margin-left:2px;"><?php _e("Selector for tag that is holding products. Don't change this if you don't know what it is", BeRocket_AJAX_domain) ?></span>
|
38 |
</td>
|
39 |
</tr>
|
40 |
<tr>
|
41 |
-
<th scope="row"><?php _e('Sorting control', BeRocket_AJAX_domain) ?></th>
|
42 |
<td>
|
43 |
<input name="br_filters_options[control_sorting]" type='checkbox' value='1' <?php if( @$options['control_sorting'] ) echo "checked='checked'";?>/>
|
44 |
-
<span style="color:#666666;margin-left:2px;"><?php _e("Take control over WooCommerce's sorting selectbox?", BeRocket_AJAX_domain) ?></span>
|
45 |
</td>
|
46 |
</tr>
|
47 |
<tr>
|
48 |
-
<th scope="row"><?php _e('SEO friendly urls', BeRocket_AJAX_domain) ?></th>
|
49 |
<td>
|
50 |
<input name="br_filters_options[seo_friendly_urls]" type='checkbox' value='1' <?php if( @$options['seo_friendly_urls'] ) echo "checked='checked'";?>/>
|
51 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('If this option is on url will be changed when filter is selected/changed', BeRocket_AJAX_domain) ?></span>
|
52 |
</td>
|
53 |
</tr>
|
54 |
<tr>
|
55 |
-
<th scope="row"><?php _e('Turn all filters off', BeRocket_AJAX_domain) ?></th>
|
56 |
<td>
|
57 |
<input name="br_filters_options[filters_turn_off]" type='checkbox' value='1' <?php if( @$options['filters_turn_off'] ) echo "checked='checked'";?>/>
|
58 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('If you want to hide filters without losing current configuration just turn them off', BeRocket_AJAX_domain) ?></span>
|
59 |
</td>
|
60 |
</tr>
|
61 |
<tr>
|
62 |
-
<th scope="row"><?php _e('Show all values', BeRocket_AJAX_domain) ?></th>
|
63 |
<td>
|
64 |
<input name="br_filters_options[show_all_values]" type='checkbox' value='1' <?php if( @$options['show_all_values'] ) echo "checked='checked'";?>/>
|
65 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Check if you want to show not used attribute values too', BeRocket_AJAX_domain) ?></span>
|
66 |
</td>
|
67 |
</tr>
|
68 |
<tr>
|
69 |
-
<th scope="row"><?php _e('Hide values', BeRocket_AJAX_domain) ?></th>
|
70 |
<td>
|
71 |
<input name="br_filters_options[hide_value][o]" type='checkbox' value='1' <?php if( @$options['hide_value']['o'] ) echo "checked='checked'";?>/>
|
72 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Hide values without products', BeRocket_AJAX_domain) ?></span><br>
|
73 |
<input name="br_filters_options[hide_value][sel]" type='checkbox' value='1' <?php if( @$options['hide_value']['sel'] ) echo "checked='checked'";?>/>
|
74 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Hide selected values', BeRocket_AJAX_domain) ?></span>
|
75 |
</td>
|
76 |
<td>
|
77 |
</tr>
|
78 |
<tr>
|
79 |
-
<th scope="row"><?php _e('Jump to first page', BeRocket_AJAX_domain) ?></th>
|
80 |
<td>
|
81 |
<input name="br_filters_options[first_page_jump]" type='checkbox' value='1' <?php if( @$options['first_page_jump'] ) echo "checked='checked'";?>/>
|
82 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Check if you want load first page after filters change', BeRocket_AJAX_domain) ?></span>
|
83 |
</td>
|
84 |
</tr>
|
85 |
<tr>
|
@@ -90,10 +90,10 @@
|
|
90 |
</td>
|
91 |
</tr>
|
92 |
<tr>
|
93 |
-
<th scope="row"><?php _e('Template ajax load fix', BeRocket_AJAX_domain) ?></th>
|
94 |
<td>
|
95 |
<input name="br_filters_options[ajax_request_load]" type='checkbox' value='1' <?php if( @$options['ajax_request_load'] ) echo "checked='checked'";?>/>
|
96 |
-
<span style="color:#666666;margin-left:2px;"><?php _e('Use all plugins on ajax load (can fix visual issues but slow down products loading)', BeRocket_AJAX_domain) ?></span>
|
97 |
</td>
|
98 |
</tr>
|
99 |
</table>
|
@@ -106,27 +106,27 @@
|
|
106 |
<div id="javascript" class="tab-item <?php if(@$options['br_opened_tab'] == 'javascript' ) echo 'current'; ?>">
|
107 |
<table class="form-table">
|
108 |
<tr>
|
109 |
-
<th scope="row"><?php _e('Before Update:', BeRocket_AJAX_domain) ?></th>
|
110 |
<td>
|
111 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][before_update]"><?php echo @$options['user_func']['before_update'] ?></textarea>
|
112 |
<br />
|
113 |
-
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions on filter activation, eg: alert('1');", BeRocket_AJAX_domain) ?></span>
|
114 |
</td>
|
115 |
</tr>
|
116 |
<tr>
|
117 |
-
<th scope="row"><?php _e('On Update:', BeRocket_AJAX_domain) ?></th>
|
118 |
<td>
|
119 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][on_update]"><?php echo @$options['user_func']['on_update'] ?></textarea>
|
120 |
<br />
|
121 |
-
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions right on products update. You can manipulate data here, try: data.products = 'Ha!';", BeRocket_AJAX_domain) ?></span>
|
122 |
</td>
|
123 |
</tr>
|
124 |
<tr>
|
125 |
-
<th scope="row"><?php _e('After Update:', BeRocket_AJAX_domain) ?></th>
|
126 |
<td>
|
127 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][after_update]"><?php echo @$options['user_func']['after_update'] ?></textarea>
|
128 |
<br />
|
129 |
-
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions after products updated, eg: alert('1');", BeRocket_AJAX_domain) ?></span>
|
130 |
</td>
|
131 |
</tr>
|
132 |
</table>
|
6 |
$tabs_array = array( 'general', 'design', 'javascript', 'customcss' );
|
7 |
?>
|
8 |
<h2 class="nav-tab-wrapper filter_settings_tabs">
|
9 |
+
<a href="#general" class="nav-tab <?php if(@$options['br_opened_tab'] == 'general' || !in_array( @$options['br_opened_tab'], $tabs_array ) ) echo 'nav-tab-active'; ?>"><?php _e('General', 'BeRocket_AJAX_domain') ?></a>
|
10 |
+
<a href="#design" class="nav-tab <?php if(@$options['br_opened_tab'] == 'design' ) echo 'nav-tab-active'; ?>"><?php _e('Design', 'BeRocket_AJAX_domain') ?></a>
|
11 |
+
<a href="#javascript" class="nav-tab <?php if(@$options['br_opened_tab'] == 'javascript' ) echo 'nav-tab-active'; ?>"><?php _e('JavaScript', 'BeRocket_AJAX_domain') ?></a>
|
12 |
+
<a href="#customcss" class="nav-tab <?php if(@$options['br_opened_tab'] == 'customcss' ) echo 'nav-tab-active'; ?>"><?php _e('Custom CSS', 'BeRocket_AJAX_domain') ?></a>
|
13 |
</h2>
|
14 |
<div id="general" class="tab-item <?php if(@$options['br_opened_tab'] == 'general' || !in_array( @$options['br_opened_tab'], $tabs_array ) ) echo 'current'; ?>">
|
15 |
<table class="form-table">
|
16 |
<tr>
|
17 |
+
<th scope="row"><?php _e('"No Products" message', 'BeRocket_AJAX_domain') ?></th>
|
18 |
<td>
|
19 |
<input size="50" name="br_filters_options[no_products_message]" type='text' value='<?php echo @$options['no_products_message']?>'/>
|
20 |
<br />
|
21 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Text that will be shown if no products found', 'BeRocket_AJAX_domain') ?></span>
|
22 |
</td>
|
23 |
</tr>
|
24 |
<tr>
|
25 |
+
<th scope="row"><?php _e('"No Products" class', 'BeRocket_AJAX_domain') ?></th>
|
26 |
<td>
|
27 |
<input name="br_filters_options[no_products_class]" type='text' value='<?php echo @$options['no_products_class']?>'/>
|
28 |
<br />
|
29 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Add class and use it to style "No Products" box', 'BeRocket_AJAX_domain') ?></span>
|
30 |
</td>
|
31 |
</tr>
|
32 |
<tr>
|
33 |
+
<th scope="row"><?php _e('Products selector', 'BeRocket_AJAX_domain') ?></th>
|
34 |
<td>
|
35 |
<input name="br_filters_options[products_holder_id]" type='text' value='<?php echo @$options['products_holder_id']?$options['products_holder_id']:'ul.products'?>'/>
|
36 |
<br />
|
37 |
+
<span style="color:#666666;margin-left:2px;"><?php _e("Selector for tag that is holding products. Don't change this if you don't know what it is", 'BeRocket_AJAX_domain') ?></span>
|
38 |
</td>
|
39 |
</tr>
|
40 |
<tr>
|
41 |
+
<th scope="row"><?php _e('Sorting control', 'BeRocket_AJAX_domain') ?></th>
|
42 |
<td>
|
43 |
<input name="br_filters_options[control_sorting]" type='checkbox' value='1' <?php if( @$options['control_sorting'] ) echo "checked='checked'";?>/>
|
44 |
+
<span style="color:#666666;margin-left:2px;"><?php _e("Take control over WooCommerce's sorting selectbox?", 'BeRocket_AJAX_domain') ?></span>
|
45 |
</td>
|
46 |
</tr>
|
47 |
<tr>
|
48 |
+
<th scope="row"><?php _e('SEO friendly urls', 'BeRocket_AJAX_domain') ?></th>
|
49 |
<td>
|
50 |
<input name="br_filters_options[seo_friendly_urls]" type='checkbox' value='1' <?php if( @$options['seo_friendly_urls'] ) echo "checked='checked'";?>/>
|
51 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('If this option is on url will be changed when filter is selected/changed', 'BeRocket_AJAX_domain') ?></span>
|
52 |
</td>
|
53 |
</tr>
|
54 |
<tr>
|
55 |
+
<th scope="row"><?php _e('Turn all filters off', 'BeRocket_AJAX_domain') ?></th>
|
56 |
<td>
|
57 |
<input name="br_filters_options[filters_turn_off]" type='checkbox' value='1' <?php if( @$options['filters_turn_off'] ) echo "checked='checked'";?>/>
|
58 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('If you want to hide filters without losing current configuration just turn them off', 'BeRocket_AJAX_domain') ?></span>
|
59 |
</td>
|
60 |
</tr>
|
61 |
<tr>
|
62 |
+
<th scope="row"><?php _e('Show all values', 'BeRocket_AJAX_domain') ?></th>
|
63 |
<td>
|
64 |
<input name="br_filters_options[show_all_values]" type='checkbox' value='1' <?php if( @$options['show_all_values'] ) echo "checked='checked'";?>/>
|
65 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Check if you want to show not used attribute values too', 'BeRocket_AJAX_domain') ?></span>
|
66 |
</td>
|
67 |
</tr>
|
68 |
<tr>
|
69 |
+
<th scope="row"><?php _e('Hide values', 'BeRocket_AJAX_domain') ?></th>
|
70 |
<td>
|
71 |
<input name="br_filters_options[hide_value][o]" type='checkbox' value='1' <?php if( @$options['hide_value']['o'] ) echo "checked='checked'";?>/>
|
72 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Hide values without products', 'BeRocket_AJAX_domain') ?></span><br>
|
73 |
<input name="br_filters_options[hide_value][sel]" type='checkbox' value='1' <?php if( @$options['hide_value']['sel'] ) echo "checked='checked'";?>/>
|
74 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Hide selected values', 'BeRocket_AJAX_domain') ?></span>
|
75 |
</td>
|
76 |
<td>
|
77 |
</tr>
|
78 |
<tr>
|
79 |
+
<th scope="row"><?php _e('Jump to first page', 'BeRocket_AJAX_domain') ?></th>
|
80 |
<td>
|
81 |
<input name="br_filters_options[first_page_jump]" type='checkbox' value='1' <?php if( @$options['first_page_jump'] ) echo "checked='checked'";?>/>
|
82 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Check if you want load first page after filters change', 'BeRocket_AJAX_domain') ?></span>
|
83 |
</td>
|
84 |
</tr>
|
85 |
<tr>
|
90 |
</td>
|
91 |
</tr>
|
92 |
<tr>
|
93 |
+
<th scope="row"><?php _e('Template ajax load fix', 'BeRocket_AJAX_domain') ?></th>
|
94 |
<td>
|
95 |
<input name="br_filters_options[ajax_request_load]" type='checkbox' value='1' <?php if( @$options['ajax_request_load'] ) echo "checked='checked'";?>/>
|
96 |
+
<span style="color:#666666;margin-left:2px;"><?php _e('Use all plugins on ajax load (can fix visual issues but slow down products loading)', 'BeRocket_AJAX_domain') ?></span>
|
97 |
</td>
|
98 |
</tr>
|
99 |
</table>
|
106 |
<div id="javascript" class="tab-item <?php if(@$options['br_opened_tab'] == 'javascript' ) echo 'current'; ?>">
|
107 |
<table class="form-table">
|
108 |
<tr>
|
109 |
+
<th scope="row"><?php _e('Before Update:', 'BeRocket_AJAX_domain') ?></th>
|
110 |
<td>
|
111 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][before_update]"><?php echo @$options['user_func']['before_update'] ?></textarea>
|
112 |
<br />
|
113 |
+
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions on filter activation, eg: alert('1');", 'BeRocket_AJAX_domain') ?></span>
|
114 |
</td>
|
115 |
</tr>
|
116 |
<tr>
|
117 |
+
<th scope="row"><?php _e('On Update:', 'BeRocket_AJAX_domain') ?></th>
|
118 |
<td>
|
119 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][on_update]"><?php echo @$options['user_func']['on_update'] ?></textarea>
|
120 |
<br />
|
121 |
+
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions right on products update. You can manipulate data here, try: data.products = 'Ha!';", 'BeRocket_AJAX_domain') ?></span>
|
122 |
</td>
|
123 |
</tr>
|
124 |
<tr>
|
125 |
+
<th scope="row"><?php _e('After Update:', 'BeRocket_AJAX_domain') ?></th>
|
126 |
<td>
|
127 |
<textarea style="min-width: 500px; height: 100px;" name="br_filters_options[user_func][after_update]"><?php echo @$options['user_func']['after_update'] ?></textarea>
|
128 |
<br />
|
129 |
+
<span style="color:#666666;margin-left:2px;"><?php _e("If you want to add own actions after products updated, eg: alert('1');", 'BeRocket_AJAX_domain') ?></span>
|
130 |
</td>
|
131 |
</tr>
|
132 |
</table>
|
templates/admin.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<p>
|
2 |
-
<label><?php _e('Widget Type:', BeRocket_AJAX_domain) ?>
|
3 |
<select id="<?php echo $this->get_field_id( 'widget_type' ); ?>" name="<?php echo $this->get_field_name( 'widget_type' ); ?>" class="berocket_aapf_widget_admin_widget_type_select">
|
4 |
-
<option <?php if ($instance['widget_type'] == 'filter' or ! $instance['widget_type']) echo 'selected'; ?> value="filter"><?php _e('Filter', BeRocket_AJAX_domain) ?></option>
|
5 |
-
<option <?php if ($instance['widget_type'] == 'update_button') echo 'selected'; ?> value="update_button"><?php _e('Update Products button', BeRocket_AJAX_domain) ?></option>
|
6 |
</select>
|
7 |
</label>
|
8 |
</p>
|
@@ -10,14 +10,14 @@
|
|
10 |
<hr />
|
11 |
|
12 |
<p>
|
13 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', BeRocket_AJAX_domain) ?> </label>
|
14 |
<input id="<?php echo $this->get_field_id( 'title' ); ?>" type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" />
|
15 |
</p>
|
16 |
<div class="berocket_aapf_admin_filter_widget_content" <?php if ( $instance['widget_type'] == 'update_button' or $instance['widget_type'] == 'selected_area' ){ echo 'style="display: none;"';} else { echo 'style="float: none;"'; } ?>>
|
17 |
<p>
|
18 |
-
<label><?php _e('Attribute:', BeRocket_AJAX_domain) ?>
|
19 |
<select id="<?php echo $this->get_field_id( 'attribute' ); ?>" name="<?php echo $this->get_field_name( 'attribute' ); ?>" class="berocket_aapf_widget_admin_attribute_select">
|
20 |
-
<option <?php if ($instance['attribute'] == 'price') echo 'selected'; ?> value="price"><?php _e('Price', BeRocket_AJAX_domain) ?></option>
|
21 |
<?php foreach( $attributes as $k => $v ){ ?>
|
22 |
<option <?php if ($instance['attribute'] == $k) echo 'selected'; ?> value="<?php echo $k ?>"><?php echo $v ?></option>
|
23 |
<?php } ?>
|
@@ -25,7 +25,7 @@
|
|
25 |
</label>
|
26 |
</p>
|
27 |
<p>
|
28 |
-
<label><?php _e('Type:', BeRocket_AJAX_domain) ?>
|
29 |
<select id="<?php echo $this->get_field_id( 'type' ); ?>" name="<?php echo $this->get_field_name( 'type' ); ?>" class="berocket_aapf_widget_admin_type_select">
|
30 |
<?php if ( $instance['attribute'] != 'price' ){ ?>
|
31 |
<option <?php if ($instance['type'] == 'checkbox') echo 'selected'; ?> value="checkbox">Checkbox</option>
|
@@ -38,7 +38,7 @@
|
|
38 |
</p>
|
39 |
|
40 |
<p <?php if ( $instance['attribute'] == 'price' or $instance['type'] == 'slider' ) echo " style='display: none;'"; ?> >
|
41 |
-
<label><?php _e('Operator:', BeRocket_AJAX_domain) ?>
|
42 |
<select id="<?php echo $this->get_field_id( 'operator' ); ?>" name="<?php echo $this->get_field_name( 'operator' ); ?>" class="berocket_aapf_widget_admin_operator_select">
|
43 |
<option <?php if ($instance['operator'] == 'AND') echo 'selected'; ?> value="AND">AND</option>
|
44 |
<option <?php if ($instance['operator'] == 'OR') echo 'selected'; ?> value="OR">OR</option>
|
@@ -54,19 +54,19 @@
|
|
54 |
<input id="<?php echo $this->get_field_id( 'text_after_price' ); ?>" type="text" name="<?php echo $this->get_field_name( 'text_after_price' ); ?>" value="<?php echo $instance['text_after_price']; ?>" />
|
55 |
</p>
|
56 |
<p>
|
57 |
-
<a href="#" class='berocket_aapf_advanced_settings_pointer'><?php _e('Advanced Settings', BeRocket_AJAX_domain) ?></a>
|
58 |
</p>
|
59 |
<div class='berocket_aapf_advanced_settings' style="display:none;">
|
60 |
<p>
|
61 |
-
<label for="<?php echo $this->get_field_id( 'css_class' ); ?>"><?php _e('CSS Class:', BeRocket_AJAX_domain) ?> </label>
|
62 |
<input id="<?php echo $this->get_field_id( 'css_class' ); ?>" type="text" name="<?php echo $this->get_field_name( 'css_class' ); ?>" value="<?php echo @ $instance['css_class']; ?>" class="berocket_aapf_widget_admin_css_class_input" />
|
63 |
<small>(use white space for multiple classes)</small>
|
64 |
</p>
|
65 |
<p>
|
66 |
-
<label><?php _e('Product Category:', BeRocket_AJAX_domain) ?>
|
67 |
<label class="berocket_aapf_advanced_settings_subcategory">
|
68 |
<input type="checkbox" name="<?php echo $this->get_field_name( 'cat_propagation' ); ?>" <?php if ( @ $instance['cat_propagation'] ) echo 'checked'; ?> value="1" class="berocket_aapf_widget_admin_height_input" />
|
69 |
-
<?php _e('include subcats?', BeRocket_AJAX_domain) ?>
|
70 |
</label>
|
71 |
</label>
|
72 |
<ul class="berocket_aapf_advanced_settings_categories_list">
|
@@ -93,11 +93,11 @@
|
|
93 |
</ul>
|
94 |
</p>
|
95 |
<p>
|
96 |
-
<label for="<?php echo $this->get_field_id( 'height' ); ?>"><?php _e('Filter Box Height:', BeRocket_AJAX_domain) ?> </label>
|
97 |
<input id="<?php echo $this->get_field_id( 'height' ); ?>" type="text" name="<?php echo $this->get_field_name( 'height' ); ?>" value="<?php echo $instance['height']; ?>" class="berocket_aapf_widget_admin_height_input" />px
|
98 |
</p>
|
99 |
<p>
|
100 |
-
<label for="<?php echo $this->get_field_id( 'scroll_theme' ); ?>"><?php _e('Scroll Theme:', BeRocket_AJAX_domain) ?> </label>
|
101 |
<select id="<?php echo $this->get_field_id( 'scroll_theme' ); ?>" name="<?php echo $this->get_field_name( 'scroll_theme' ); ?>" class="berocket_aapf_widget_admin_scroll_theme_select">
|
102 |
<?php
|
103 |
$scroll_themes = array("light", "dark", "minimal", "minimal-dark", "light-2", "dark-2", "light-3", "dark-3", "light-thick", "dark-thick", "light-thin",
|
1 |
<p>
|
2 |
+
<label><?php _e('Widget Type:', 'BeRocket_AJAX_domain') ?>
|
3 |
<select id="<?php echo $this->get_field_id( 'widget_type' ); ?>" name="<?php echo $this->get_field_name( 'widget_type' ); ?>" class="berocket_aapf_widget_admin_widget_type_select">
|
4 |
+
<option <?php if ($instance['widget_type'] == 'filter' or ! $instance['widget_type']) echo 'selected'; ?> value="filter"><?php _e('Filter', 'BeRocket_AJAX_domain') ?></option>
|
5 |
+
<option <?php if ($instance['widget_type'] == 'update_button') echo 'selected'; ?> value="update_button"><?php _e('Update Products button', 'BeRocket_AJAX_domain') ?></option>
|
6 |
</select>
|
7 |
</label>
|
8 |
</p>
|
10 |
<hr />
|
11 |
|
12 |
<p>
|
13 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'BeRocket_AJAX_domain') ?> </label>
|
14 |
<input id="<?php echo $this->get_field_id( 'title' ); ?>" type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" />
|
15 |
</p>
|
16 |
<div class="berocket_aapf_admin_filter_widget_content" <?php if ( $instance['widget_type'] == 'update_button' or $instance['widget_type'] == 'selected_area' ){ echo 'style="display: none;"';} else { echo 'style="float: none;"'; } ?>>
|
17 |
<p>
|
18 |
+
<label><?php _e('Attribute:', 'BeRocket_AJAX_domain') ?>
|
19 |
<select id="<?php echo $this->get_field_id( 'attribute' ); ?>" name="<?php echo $this->get_field_name( 'attribute' ); ?>" class="berocket_aapf_widget_admin_attribute_select">
|
20 |
+
<option <?php if ($instance['attribute'] == 'price') echo 'selected'; ?> value="price"><?php _e('Price', 'BeRocket_AJAX_domain') ?></option>
|
21 |
<?php foreach( $attributes as $k => $v ){ ?>
|
22 |
<option <?php if ($instance['attribute'] == $k) echo 'selected'; ?> value="<?php echo $k ?>"><?php echo $v ?></option>
|
23 |
<?php } ?>
|
25 |
</label>
|
26 |
</p>
|
27 |
<p>
|
28 |
+
<label><?php _e('Type:', 'BeRocket_AJAX_domain') ?>
|
29 |
<select id="<?php echo $this->get_field_id( 'type' ); ?>" name="<?php echo $this->get_field_name( 'type' ); ?>" class="berocket_aapf_widget_admin_type_select">
|
30 |
<?php if ( $instance['attribute'] != 'price' ){ ?>
|
31 |
<option <?php if ($instance['type'] == 'checkbox') echo 'selected'; ?> value="checkbox">Checkbox</option>
|
38 |
</p>
|
39 |
|
40 |
<p <?php if ( $instance['attribute'] == 'price' or $instance['type'] == 'slider' ) echo " style='display: none;'"; ?> >
|
41 |
+
<label><?php _e('Operator:', 'BeRocket_AJAX_domain') ?>
|
42 |
<select id="<?php echo $this->get_field_id( 'operator' ); ?>" name="<?php echo $this->get_field_name( 'operator' ); ?>" class="berocket_aapf_widget_admin_operator_select">
|
43 |
<option <?php if ($instance['operator'] == 'AND') echo 'selected'; ?> value="AND">AND</option>
|
44 |
<option <?php if ($instance['operator'] == 'OR') echo 'selected'; ?> value="OR">OR</option>
|
54 |
<input id="<?php echo $this->get_field_id( 'text_after_price' ); ?>" type="text" name="<?php echo $this->get_field_name( 'text_after_price' ); ?>" value="<?php echo $instance['text_after_price']; ?>" />
|
55 |
</p>
|
56 |
<p>
|
57 |
+
<a href="#" class='berocket_aapf_advanced_settings_pointer'><?php _e('Advanced Settings', 'BeRocket_AJAX_domain') ?></a>
|
58 |
</p>
|
59 |
<div class='berocket_aapf_advanced_settings' style="display:none;">
|
60 |
<p>
|
61 |
+
<label for="<?php echo $this->get_field_id( 'css_class' ); ?>"><?php _e('CSS Class:', 'BeRocket_AJAX_domain') ?> </label>
|
62 |
<input id="<?php echo $this->get_field_id( 'css_class' ); ?>" type="text" name="<?php echo $this->get_field_name( 'css_class' ); ?>" value="<?php echo @ $instance['css_class']; ?>" class="berocket_aapf_widget_admin_css_class_input" />
|
63 |
<small>(use white space for multiple classes)</small>
|
64 |
</p>
|
65 |
<p>
|
66 |
+
<label><?php _e('Product Category:', 'BeRocket_AJAX_domain') ?>
|
67 |
<label class="berocket_aapf_advanced_settings_subcategory">
|
68 |
<input type="checkbox" name="<?php echo $this->get_field_name( 'cat_propagation' ); ?>" <?php if ( @ $instance['cat_propagation'] ) echo 'checked'; ?> value="1" class="berocket_aapf_widget_admin_height_input" />
|
69 |
+
<?php _e('include subcats?', 'BeRocket_AJAX_domain') ?>
|
70 |
</label>
|
71 |
</label>
|
72 |
<ul class="berocket_aapf_advanced_settings_categories_list">
|
93 |
</ul>
|
94 |
</p>
|
95 |
<p>
|
96 |
+
<label for="<?php echo $this->get_field_id( 'height' ); ?>"><?php _e('Filter Box Height:', 'BeRocket_AJAX_domain') ?> </label>
|
97 |
<input id="<?php echo $this->get_field_id( 'height' ); ?>" type="text" name="<?php echo $this->get_field_name( 'height' ); ?>" value="<?php echo $instance['height']; ?>" class="berocket_aapf_widget_admin_height_input" />px
|
98 |
</p>
|
99 |
<p>
|
100 |
+
<label for="<?php echo $this->get_field_id( 'scroll_theme' ); ?>"><?php _e('Scroll Theme:', 'BeRocket_AJAX_domain') ?> </label>
|
101 |
<select id="<?php echo $this->get_field_id( 'scroll_theme' ); ?>" name="<?php echo $this->get_field_name( 'scroll_theme' ); ?>" class="berocket_aapf_widget_admin_scroll_theme_select">
|
102 |
<?php
|
103 |
$scroll_themes = array("light", "dark", "minimal", "minimal-dark", "light-2", "dark-2", "light-3", "dark-3", "light-thick", "dark-thick", "light-thin",
|
woocommerce-filters.php
CHANGED
@@ -3,20 +3,23 @@
|
|
3 |
* Plugin Name: Advanced AJAX Product Filters for WooCommerce
|
4 |
* Plugin URI: http://berocket.com/wp-plugins/product-filters
|
5 |
* Description: Advanced AJAX Product Filters for WooCommerce
|
6 |
-
* Version: 1.1.
|
7 |
* Author: BeRocket
|
8 |
* Author URI: http://berocket.com
|
|
|
|
|
9 |
*/
|
10 |
|
11 |
-
define( "BeRocket_AJAX_filters_version", '1.1.
|
12 |
-
define( "BeRocket_AJAX_domain", '
|
13 |
|
14 |
define( "AAPF_TEMPLATE_PATH", plugin_dir_path( __FILE__ ) . "templates/" );
|
15 |
define( "AAPF_URL", plugin_dir_url( __FILE__ ) );
|
|
|
|
|
16 |
|
17 |
require_once dirname( __FILE__ ) . '/includes/widget.php';
|
18 |
require_once dirname( __FILE__ ) . '/includes/functions.php';
|
19 |
-
|
20 |
/**
|
21 |
* Class BeRocket_AAPF
|
22 |
*/
|
@@ -36,7 +39,7 @@ class BeRocket_AAPF {
|
|
36 |
register_activation_hook(__FILE__, array( __CLASS__, 'br_add_defaults' ) );
|
37 |
register_uninstall_hook(__FILE__, array( __CLASS__, 'br_delete_plugin_options' ) );
|
38 |
|
39 |
-
if (
|
40 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
41 |
add_action( 'setup_theme', array( __CLASS__, 'WPML_fix' ) );
|
42 |
}
|
@@ -47,7 +50,8 @@ class BeRocket_AAPF {
|
|
47 |
add_shortcode( 'br_filters', array( __CLASS__, 'shortcode' ) );
|
48 |
|
49 |
if( @ $_GET['filters'] and ! @ defined( 'DOING_AJAX' ) ) {
|
50 |
-
add_filter( 'pre_get_posts', array( __CLASS__, '
|
|
|
51 |
}
|
52 |
|
53 |
if( @ $_GET['explode'] == 'explode' ) {
|
@@ -65,7 +69,6 @@ class BeRocket_AAPF {
|
|
65 |
}
|
66 |
|
67 |
public static function init() {
|
68 |
-
load_plugin_textdomain( BeRocket_AJAX_domain, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
69 |
|
70 |
wp_register_style( 'berocket_aapf_widget-style', plugins_url( 'css/widget.css', __FILE__ ), array(), BeRocket_AJAX_filters_version );
|
71 |
wp_enqueue_style( 'berocket_aapf_widget-style' );
|
@@ -79,7 +82,7 @@ class BeRocket_AAPF {
|
|
79 |
public static function no_woocommerce() {
|
80 |
?>
|
81 |
<div class="error">
|
82 |
-
<p><?php _e( 'Activate WooCommerce plugin before', BeRocket_AJAX_domain ) ?></p>
|
83 |
</div>
|
84 |
<?php
|
85 |
}
|
@@ -87,13 +90,13 @@ class BeRocket_AAPF {
|
|
87 |
public static function update_woocommerce() {
|
88 |
?>
|
89 |
<div class="error">
|
90 |
-
<p><?php _e( 'Update WooCommerce plugin', BeRocket_AJAX_domain ) ?></p>
|
91 |
</div>
|
92 |
<?php
|
93 |
}
|
94 |
|
95 |
public static function br_add_options_page() {
|
96 |
-
add_submenu_page( 'woocommerce', __( 'Product Filters Settings', BeRocket_AJAX_domain ), __( 'Product Filters', BeRocket_AJAX_domain ), 'manage_options', 'br-product-filters', array( __CLASS__, 'br_render_form' ) );
|
97 |
}
|
98 |
|
99 |
public static function shortcode( $atts = array() ) {
|
@@ -118,8 +121,7 @@ class BeRocket_AAPF {
|
|
118 |
|
119 |
if ( ! $a['attribute'] || ! $a['type'] ) return false;
|
120 |
|
121 |
-
|
122 |
-
$BeRocket_AAPF_Widget->widget( array(), $a );
|
123 |
}
|
124 |
|
125 |
public static function br_render_form() {
|
@@ -134,12 +136,21 @@ class BeRocket_AAPF {
|
|
134 |
include AAPF_TEMPLATE_PATH . "admin-settings.php";
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
public static function apply_user_filters( $query ) {
|
138 |
if( $query->is_main_query() and
|
139 |
-
(
|
140 |
-
or
|
141 |
-
$query->is_page() && 'page' == get_option( 'show_on_front' ) && $query->get('page_id') == wc_get_page_id('shop')
|
142 |
-
or is_product_taxonomy() )
|
143 |
) {
|
144 |
br_aapf_args_converter();
|
145 |
$args = br_aapf_args_parser();
|
3 |
* Plugin Name: Advanced AJAX Product Filters for WooCommerce
|
4 |
* Plugin URI: http://berocket.com/wp-plugins/product-filters
|
5 |
* Description: Advanced AJAX Product Filters for WooCommerce
|
6 |
+
* Version: 1.1.4
|
7 |
* Author: BeRocket
|
8 |
* Author URI: http://berocket.com
|
9 |
+
* Text Domain: BeRocket_AJAX_domain
|
10 |
+
* Domain Path: /languages/
|
11 |
*/
|
12 |
|
13 |
+
define( "BeRocket_AJAX_filters_version", '1.1.4' );
|
14 |
+
define( "BeRocket_AJAX_domain", 'BeRocket_AJAX_domain' );
|
15 |
|
16 |
define( "AAPF_TEMPLATE_PATH", plugin_dir_path( __FILE__ ) . "templates/" );
|
17 |
define( "AAPF_URL", plugin_dir_url( __FILE__ ) );
|
18 |
+
load_plugin_textdomain('BeRocket_AJAX_domain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/');
|
19 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
20 |
|
21 |
require_once dirname( __FILE__ ) . '/includes/widget.php';
|
22 |
require_once dirname( __FILE__ ) . '/includes/functions.php';
|
|
|
23 |
/**
|
24 |
* Class BeRocket_AAPF
|
25 |
*/
|
39 |
register_activation_hook(__FILE__, array( __CLASS__, 'br_add_defaults' ) );
|
40 |
register_uninstall_hook(__FILE__, array( __CLASS__, 'br_delete_plugin_options' ) );
|
41 |
|
42 |
+
if ( ( is_plugin_active( 'woocommerce/woocommerce.php' ) || is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) && br_get_woocommerce_version() >= 2.1 ) {
|
43 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
44 |
add_action( 'setup_theme', array( __CLASS__, 'WPML_fix' ) );
|
45 |
}
|
50 |
add_shortcode( 'br_filters', array( __CLASS__, 'shortcode' ) );
|
51 |
|
52 |
if( @ $_GET['filters'] and ! @ defined( 'DOING_AJAX' ) ) {
|
53 |
+
add_filter( 'pre_get_posts', array( __CLASS__, 'apply_user_price' ) );
|
54 |
+
add_filter( 'pre_get_posts', array( __CLASS__, 'apply_user_filters' ), 99999 );
|
55 |
}
|
56 |
|
57 |
if( @ $_GET['explode'] == 'explode' ) {
|
69 |
}
|
70 |
|
71 |
public static function init() {
|
|
|
72 |
|
73 |
wp_register_style( 'berocket_aapf_widget-style', plugins_url( 'css/widget.css', __FILE__ ), array(), BeRocket_AJAX_filters_version );
|
74 |
wp_enqueue_style( 'berocket_aapf_widget-style' );
|
82 |
public static function no_woocommerce() {
|
83 |
?>
|
84 |
<div class="error">
|
85 |
+
<p><?php _e( 'Activate WooCommerce plugin before', 'BeRocket_AJAX_domain' ) ?></p>
|
86 |
</div>
|
87 |
<?php
|
88 |
}
|
90 |
public static function update_woocommerce() {
|
91 |
?>
|
92 |
<div class="error">
|
93 |
+
<p><?php _e( 'Update WooCommerce plugin', 'BeRocket_AJAX_domain' ) ?></p>
|
94 |
</div>
|
95 |
<?php
|
96 |
}
|
97 |
|
98 |
public static function br_add_options_page() {
|
99 |
+
add_submenu_page( 'woocommerce', __( 'Product Filters Settings', 'BeRocket_AJAX_domain' ), __( 'Product Filters', 'BeRocket_AJAX_domain' ), 'manage_options', 'br-product-filters', array( __CLASS__, 'br_render_form' ) );
|
100 |
}
|
101 |
|
102 |
public static function shortcode( $atts = array() ) {
|
121 |
|
122 |
if ( ! $a['attribute'] || ! $a['type'] ) return false;
|
123 |
|
124 |
+
the_widget( 'br_filters', $a);
|
|
|
125 |
}
|
126 |
|
127 |
public static function br_render_form() {
|
136 |
include AAPF_TEMPLATE_PATH . "admin-settings.php";
|
137 |
}
|
138 |
|
139 |
+
public static function apply_user_price( $query, $is_shortcode = FALSE ) {
|
140 |
+
$option_permalink = get_option( 'berocket_permalink_option' );
|
141 |
+
if ( ( ( ! is_admin() && $query->is_main_query() ) || $is_shortcode ) && ( @ $_GET['filters'] || $query->get( $option_permalink['variable'], '' ) ) ) {
|
142 |
+
br_aapf_args_converter( $query );
|
143 |
+
|
144 |
+
if ( @ $_POST['price'] ) {
|
145 |
+
list( $_GET['min_price'], $_GET['max_price'] ) = $_POST['price'];
|
146 |
+
add_filter( 'loop_shop_post_in', array( 'WC_QUERY', 'price_filter' ) );
|
147 |
+
}
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
public static function apply_user_filters( $query ) {
|
152 |
if( $query->is_main_query() and
|
153 |
+
( is_shop() or is_product_category() or is_product_taxonomy() or is_product_tag() )
|
|
|
|
|
|
|
154 |
) {
|
155 |
br_aapf_args_converter();
|
156 |
$args = br_aapf_args_parser();
|