Advanced AJAX Product Filters - Version 1.4.1

Version Description

  • Enhancement - New recount options
  • Enhancement - Rename some options to be more correct
  • Enhancement - Group some options in advanced settings
  • Enhancement - Get attribute values with WordPress default functionality
  • Enhancement - Better sorting for hierarchical taxonomy (product categories)
  • Enhancement - Better sorting with slider by atribute
  • Enhancement - Some options work faster
  • Fix - Get correct price with recount option
  • Fix - Hide some options in filter settings
Download this release

Release Info

Developer RazyRx
Plugin Icon wp plugin Advanced AJAX Product Filters
Version 1.4.1
Comparing to
See all releases

Code changes from version 1.4.0.5 to 1.4.1

Files changed (49) hide show
  1. addons/custom_sidebar/custom_sidebar.php +14 -0
  2. addons/deprecated_compat/deprecated_compat.php +22 -0
  3. {includes → addons/deprecated_compat}/widget.php +25 -13
  4. addons/divi_theme_compat/divi_theme_compat.php +38 -0
  5. addons/filtering_conditions/add_conditions.php +1 -1
  6. addons/filtering_conditions/filtering_conditions.php +3 -1
  7. addons/separate_link/separate_link.php +4 -1
  8. addons/separate_link/separate_vars.php +1 -1
  9. berocket/assets/css/admin.css +16 -0
  10. berocket/assets/js/admin.js +5 -0
  11. berocket/assets/popup/br_popup.js +1 -0
  12. berocket/includes/conditions.php +36 -36
  13. berocket/templates/conditions.php +1 -1
  14. css/admin.css +51 -0
  15. css/themes.css +237 -0
  16. css/widget.css +28 -7
  17. images/themes/sidebar-button/default.png +0 -0
  18. images/themes/sidebar-button/fifth.png +0 -0
  19. images/themes/sidebar-button/first.png +0 -0
  20. images/themes/sidebar-button/fourth.png +0 -0
  21. images/themes/sidebar-button/second.png +0 -0
  22. images/themes/sidebar-button/sixth.png +0 -0
  23. images/themes/sidebar-button/third.png +0 -0
  24. includes/custom_post.php +33 -5
  25. includes/filters/display_widget.php +596 -0
  26. includes/filters/get_terms.php +312 -0
  27. includes/functions.php +86 -50
  28. includes/new_widget.php +2 -0
  29. includes/widget_functions.php +1245 -0
  30. js/admin.js +4 -5
  31. js/widget.min.js +13 -5
  32. languages/BeRocket_AJAX_domain-ru_RU.mo +0 -0
  33. languages/BeRocket_AJAX_domain-ru_RU.po +967 -797
  34. languages/BeRocket_AJAX_domain.pot +879 -730
  35. main.php +389 -283
  36. readme.txt +12 -1
  37. templates/admin.php +0 -196
  38. templates/checkbox.php +2 -2
  39. templates/color.php +2 -2
  40. templates/disabled/checkbox.php +2 -2
  41. templates/disabled/color.php +2 -2
  42. templates/disabled/radio.php +2 -2
  43. templates/disabled/select.php +1 -1
  44. templates/filter_post.php +5 -5
  45. templates/filter_post_simple.php +2 -2
  46. templates/radio.php +2 -2
  47. templates/select.php +1 -1
  48. templates/settings/design.php +11 -11
  49. woocommerce-filters.php +3 -3
addons/custom_sidebar/custom_sidebar.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class BeRocket_aapf_custom_sidebar_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'sidebar_include';
6
+ function get_addon_data() {
7
+ $data = parent::get_addon_data();
8
+ return array_merge($data, array(
9
+ 'addon_name' => __('Custom Sidebar', 'BeRocket_AJAX_domain'),
10
+ 'paid' => true
11
+ ));
12
+ }
13
+ }
14
+ new BeRocket_aapf_custom_sidebar_addon();
addons/deprecated_compat/deprecated_compat.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class BeRocket_aapf_deprecated_compat_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'widget';
6
+ function get_addon_data() {
7
+ $data = parent::get_addon_data();
8
+ return array_merge($data, array(
9
+ 'addon_name' => __('Deprecated Widget', 'BeRocket_AJAX_domain'),
10
+ 'deprecated' => true,
11
+ 'tooltip' => __('<span style="color: red;">DO NOT USE<br>IT WILL BE REMOVED IN THE FUTURE</span><br>Uses for compatibility with old filters', 'BeRocket_AJAX_domain')
12
+ ));
13
+ }
14
+ function init_active() {
15
+ parent::init_active();
16
+ add_filter('BeRocket_AAPF_widget_load_file', array($this, 'disable_file'));
17
+ }
18
+ function disable_file($isload) {
19
+ return false;
20
+ }
21
+ }
22
+ new BeRocket_aapf_deprecated_compat_addon();
{includes → addons/deprecated_compat}/widget.php RENAMED
@@ -1,5 +1,4 @@
1
  <?php
2
- define('BEROCKETAAPF', 'BeRocket_AAPF_Widget');
3
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
4
 
5
  /**
@@ -562,7 +561,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
562
  $term = get_term_by('slug', 'rated-5', 'product_visibility');
563
  $term->name = ( $type == 'select' ? __('5 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i>', 'BeRocket_AJAX_domain') );
564
  array_push($terms, $term);
565
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
566
  foreach($terms as &$term) {
567
  $term->taxonomy = '_rating';
568
  }
@@ -598,7 +597,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
598
  ) );
599
 
600
  $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
601
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), $terms_unsort, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
602
  if ( isset( $depth_count ) ) {
603
  $old_terms = array();
604
  foreach($terms as $term_data) {
@@ -639,7 +638,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
639
  $terms = br_get_cache ( $attribute, $wp_check_product_cat );
640
  if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
641
  $current_terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $attribute, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
642
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), $current_terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
643
  if( ! br_is_filtered() && ( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) ) {
644
  br_set_cache ( $attribute, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
645
  }
@@ -680,7 +679,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
680
  $attribute = 'product_tag';
681
  $terms = br_get_cache ( $attribute.$order_values_by, $wp_check_product_cat );
682
  if( br_is_filtered() || $terms === false ) {
683
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), FALSE, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
684
 
685
  if ( $order_values_by != 'Default' ) {
686
  self::sort_terms( $terms, array(
@@ -721,10 +720,10 @@ class BeRocket_AAPF_Widget extends WP_Widget {
721
  }
722
  } else {
723
  $terms = self::get_terms_child_parent ( $child_parent, $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : 0 ) );
724
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
725
  }
726
  if( $custom_taxonomy == 'product_cat' ) {
727
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', ( empty($br_options['show_all_values']) ), ( ! empty($br_options['recount_products']) ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
728
  }
729
  if ( $order_values_by != 'Default' || in_array($custom_taxonomy, array('berocket_brand', 'product_cat')) ) {
730
  if( $custom_taxonomy == 'product_cat' ) {
@@ -1238,7 +1237,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
1238
  $query[ 'from' ] = "FROM {$wpdb->postmeta} as wp_price_check";
1239
  $query[ 'join' ] = "INNER JOIN {$wpdb->posts} ON ({$wpdb->posts}.ID = wp_price_check.post_id)";
1240
  }
1241
- if ( ! empty( $br_options[ 'show_all_values' ] ) ) {
1242
  $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
1243
  } else {
1244
  $query = br_filters_query( $query, 'price', $product_cat );
@@ -1293,6 +1292,16 @@ class BeRocket_AAPF_Widget extends WP_Widget {
1293
  if ( ! $taxonomy || $taxonomy == 'price' ) return array();
1294
  if( $taxonomy == '_rating' ) $taxonomy = 'product_visibility';
1295
  $terms = (empty($input_terms) ? FALSE : $input_terms);
 
 
 
 
 
 
 
 
 
 
1296
 
1297
  global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
1298
 
@@ -1364,6 +1373,9 @@ class BeRocket_AAPF_Widget extends WP_Widget {
1364
  $recount_args['use_filters'] = true;
1365
  $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1366
  }
 
 
 
1367
  return $terms;
1368
  }
1369
 
@@ -1648,8 +1660,8 @@ class BeRocket_AAPF_Widget extends WP_Widget {
1648
  wp_register_style( 'berocket_aapf_widget-colorpicker-style', plugins_url( '../css/colpick.css', __FILE__ ), "", BeRocket_AJAX_filters_version );
1649
  wp_enqueue_style( 'berocket_aapf_widget-colorpicker-style' );
1650
 
1651
- wp_register_style( 'berocket_aapf_widget-style', plugins_url('../css/admin.css', __FILE__), "", BeRocket_AJAX_filters_version );
1652
- wp_enqueue_style( 'berocket_aapf_widget-style' );
1653
 
1654
  $default = apply_filters( 'berocket_aapf_form_defaults', self::$defaults );
1655
 
@@ -1731,7 +1743,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
1731
  }
1732
  }
1733
 
1734
- if( ! empty($br_options['recount_products']) ) {
1735
  $_RESPONSE['attributesname'] = array();
1736
  $_RESPONSE['attributes'] = array();
1737
  if(isset($_POST['attributes']) && is_array($_POST['attributes'])) {
@@ -2003,7 +2015,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
2003
  }
2004
  }
2005
 
2006
- if ( ! empty($br_options['recount_products']) ) {
2007
  $_RESPONSE['attributesname'] = array();
2008
  $_RESPONSE['attributes'] = array();
2009
 
@@ -2018,7 +2030,7 @@ class BeRocket_AAPF_Widget extends WP_Widget {
2018
  array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
2019
  }
2020
  $_RESPONSE['attributesname'][] = $attribute;
2021
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', ( empty($br_options['show_all_values']) ), TRUE, $terms, $cat_limit );
2022
  $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms));
2023
  }
2024
  }
1
  <?php
 
2
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3
 
4
  /**
561
  $term = get_term_by('slug', 'rated-5', 'product_visibility');
562
  $term->name = ( $type == 'select' ? __('5 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i>', 'BeRocket_AJAX_domain') );
563
  array_push($terms, $term);
564
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
565
  foreach($terms as &$term) {
566
  $term->taxonomy = '_rating';
567
  }
597
  ) );
598
 
599
  $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
600
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms_unsort, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
601
  if ( isset( $depth_count ) ) {
602
  $old_terms = array();
603
  foreach($terms as $term_data) {
638
  $terms = br_get_cache ( $attribute, $wp_check_product_cat );
639
  if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
640
  $current_terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $attribute, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
641
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $current_terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
642
  if( ! br_is_filtered() && ( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) ) {
643
  br_set_cache ( $attribute, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
644
  }
679
  $attribute = 'product_tag';
680
  $terms = br_get_cache ( $attribute.$order_values_by, $wp_check_product_cat );
681
  if( br_is_filtered() || $terms === false ) {
682
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), FALSE, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
683
 
684
  if ( $order_values_by != 'Default' ) {
685
  self::sort_terms( $terms, array(
720
  }
721
  } else {
722
  $terms = self::get_terms_child_parent ( $child_parent, $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : 0 ) );
723
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
724
  }
725
  if( $custom_taxonomy == 'product_cat' ) {
726
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
727
  }
728
  if ( $order_values_by != 'Default' || in_array($custom_taxonomy, array('berocket_brand', 'product_cat')) ) {
729
  if( $custom_taxonomy == 'product_cat' ) {
1237
  $query[ 'from' ] = "FROM {$wpdb->postmeta} as wp_price_check";
1238
  $query[ 'join' ] = "INNER JOIN {$wpdb->posts} ON ({$wpdb->posts}.ID = wp_price_check.post_id)";
1239
  }
1240
+ if ( ! braapf_filters_must_be_recounted('first') ) {
1241
  $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
1242
  } else {
1243
  $query = br_filters_query( $query, 'price', $product_cat );
1292
  if ( ! $taxonomy || $taxonomy == 'price' ) return array();
1293
  if( $taxonomy == '_rating' ) $taxonomy = 'product_visibility';
1294
  $terms = (empty($input_terms) ? FALSE : $input_terms);
1295
+ if( is_array($terms) && count($terms) ) {
1296
+ $first_element = array_shift($terms);
1297
+ if(empty($first_element) || $first_element->term_id != 'R__term_id__R') {
1298
+ $terms = (empty($input_terms) ? FALSE : $input_terms);
1299
+ unset($first_element);
1300
+ }
1301
+ }
1302
+ if( empty($terms) && ! empty($input_terms) ) {
1303
+ return $input_terms;
1304
+ }
1305
 
1306
  global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
1307
 
1373
  $recount_args['use_filters'] = true;
1374
  $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1375
  }
1376
+ if( isset($first_element) ) {
1377
+ array_unshift($terms, $first_element);
1378
+ }
1379
  return $terms;
1380
  }
1381
 
1660
  wp_register_style( 'berocket_aapf_widget-colorpicker-style', plugins_url( '../css/colpick.css', __FILE__ ), "", BeRocket_AJAX_filters_version );
1661
  wp_enqueue_style( 'berocket_aapf_widget-colorpicker-style' );
1662
 
1663
+ wp_register_style( 'berocket_aapf_widget-style-admin', plugins_url('../css/admin.css', __FILE__), "", BeRocket_AJAX_filters_version );
1664
+ wp_enqueue_style( 'berocket_aapf_widget-style-admin' );
1665
 
1666
  $default = apply_filters( 'berocket_aapf_form_defaults', self::$defaults );
1667
 
1743
  }
1744
  }
1745
 
1746
+ if( braapf_filters_must_be_recounted() ) {
1747
  $_RESPONSE['attributesname'] = array();
1748
  $_RESPONSE['attributes'] = array();
1749
  if(isset($_POST['attributes']) && is_array($_POST['attributes'])) {
2015
  }
2016
  }
2017
 
2018
+ if ( braapf_filters_must_be_recounted() ) {
2019
  $_RESPONSE['attributesname'] = array();
2020
  $_RESPONSE['attributes'] = array();
2021
 
2030
  array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
2031
  }
2032
  $_RESPONSE['attributesname'][] = $attribute;
2033
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), TRUE, $terms, $cat_limit );
2034
  $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms));
2035
  }
2036
  }
addons/divi_theme_compat/divi_theme_compat.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class BeRocket_aapf_divi_theme_compat_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ function __construct() {
6
+ parent::__construct();
7
+ $active_addons = apply_filters('berocket_addons_active_'.$this->plugin_name, array());
8
+ if( ! in_array($this->addon_file, $active_addons) ) {
9
+ $dir = get_template_directory();
10
+ $dir .= '/includes/builder/module';
11
+ if( is_admin() ) {
12
+ if( file_exists($dir. '/Shop_advanced.php') && is_writable($dir) ) {
13
+ unlink($dir. '/Shop_advanced.php');
14
+ }
15
+ }
16
+ }
17
+ }
18
+ function get_addon_data() {
19
+ $data = parent::get_addon_data();
20
+ return array_merge($data, array(
21
+ 'addon_name' => __('DIVI Theme Compatibility', 'BeRocket_AJAX_domain'),
22
+ 'paid' => true,
23
+ 'tooltip' => __('Replace DIVI products module with custom products module, that has additional option. Provide better compatibility with filters', 'BeRocket_AJAX_domain')
24
+ ));
25
+ }
26
+ function check_init() {
27
+ if( is_admin() ) {
28
+ $dir = get_template_directory();
29
+ $dir .= '/includes/builder/module';
30
+ if( ! file_exists($dir. '/Shop_advanced.php') && is_writable($dir) ) {
31
+ copy(__DIR__ . '/Shop_advanced.php', $dir. '/Shop_advanced.php');
32
+ }
33
+ }
34
+ }
35
+ }
36
+ new BeRocket_aapf_divi_theme_compat_addon();
37
+
38
+
addons/filtering_conditions/add_conditions.php CHANGED
@@ -36,7 +36,7 @@ class BeRocket_aapf_filtering_conditions {
36
  $this->post_name = $this->AAPF_single_filter->post_name;
37
  add_action('ajax_filters_framework_construct', array($this, 'init_conditions'));
38
  add_filter('BeRocket_AAPF_widget_old_display_conditions', array($this, 'check_conditions'), 10, 4);
39
- $this->AAPF_single_filter->add_meta_box('filtering_conditions', __( 'Filtering Conditions (BETA)', 'BeRocket_AJAX_domain' ), array($this, 'conditions'));
40
  }
41
  public function init_conditions() {
42
  $this->conditions = new BeRocket_filtering_conditions_AAPF($this->post_name.'[data2]', $this->hook_name, array(
36
  $this->post_name = $this->AAPF_single_filter->post_name;
37
  add_action('ajax_filters_framework_construct', array($this, 'init_conditions'));
38
  add_filter('BeRocket_AAPF_widget_old_display_conditions', array($this, 'check_conditions'), 10, 4);
39
+ $this->AAPF_single_filter->add_meta_box('filtering_conditions', __( 'Nested Filters (BETA)', 'BeRocket_AJAX_domain' ), array($this, 'conditions'));
40
  }
41
  public function init_conditions() {
42
  $this->conditions = new BeRocket_filtering_conditions_AAPF($this->post_name.'[data2]', $this->hook_name, array(
addons/filtering_conditions/filtering_conditions.php CHANGED
@@ -6,7 +6,9 @@ class BeRocket_aapf_filtering_conditions_addon extends BeRocket_framework_addon_
6
  function get_addon_data() {
7
  $data = parent::get_addon_data();
8
  return array_merge($data, array(
9
- 'addon_name' => __('Filtering Conditions (BETA)', 'BeRocket_AJAX_domain')
 
 
10
  ));
11
  }
12
  }
6
  function get_addon_data() {
7
  $data = parent::get_addon_data();
8
  return array_merge($data, array(
9
+ 'addon_name' => __('Nested Filters (BETA)', 'BeRocket_AJAX_domain'),
10
+ 'tooltip' => __('The ability to set conditions for the filters based on other filters status', 'BeRocket_AJAX_domain')
11
+
12
  ));
13
  }
14
  }
addons/separate_link/separate_link.php CHANGED
@@ -6,7 +6,10 @@ class BeRocket_aapf_separate_link_addon extends BeRocket_framework_addon_lib {
6
  function get_addon_data() {
7
  $data = parent::get_addon_data();
8
  return array_merge($data, array(
9
- 'addon_name' => __('WooCommerce Like Links (BETA)', 'BeRocket_AJAX_domain')
 
 
 
10
  ));
11
  }
12
  }
6
  function get_addon_data() {
7
  $data = parent::get_addon_data();
8
  return array_merge($data, array(
9
+ 'addon_name' => __('Link like WooCommerce (BETA)', 'BeRocket_AJAX_domain'),
10
+ 'tooltip' => __('Links after filtering will look like Woocommerce.<br>
11
+ <i>Example:</i><br><span style="color: #aaf;">https://example.com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-product_cat=dress</span>
12
+ <a class="button" href="https://docs.berocket.com/docs_section/link-like-woocommerce-beta" target="_blank">Read more</a>', 'BeRocket_AJAX_domain')
13
  ));
14
  }
15
  }
addons/separate_link/separate_vars.php CHANGED
@@ -32,7 +32,7 @@ class BeRocket_AAPF_lp_separate_vars extends BeRocket_AAPF_link_parser {
32
  array('value' => '1', 'text' => __('AND', 'BeRocket_AJAX_domain')),
33
  ),
34
  "value" => '',
35
- 'label_for' => __('Default operator will be not displayed in URL', 'BeRocket_AJAX_domain'),
36
  );
37
  return $data;
38
  }
32
  array('value' => '1', 'text' => __('AND', 'BeRocket_AJAX_domain')),
33
  ),
34
  "value" => '',
35
+ 'label_for' => __('Default operator will not be added to the URL', 'BeRocket_AJAX_domain'),
36
  );
37
  return $data;
38
  }
berocket/assets/css/admin.css CHANGED
@@ -1507,3 +1507,19 @@
1507
  .wp-list-table .berocket_disabled_post:hover {
1508
  opacity: 0.8;
1509
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1507
  .wp-list-table .berocket_disabled_post:hover {
1508
  opacity: 0.8;
1509
  }
1510
+ /*WORDPRESS 5.3 FIX*/
1511
+ .br_framework_settings input[type=date],
1512
+ .br_framework_settings input[type=datetime-local],
1513
+ .br_framework_settings input[type=datetime],
1514
+ .br_framework_settings input[type=email],
1515
+ .br_framework_settings input[type=month],
1516
+ .br_framework_settings input[type=number],
1517
+ .br_framework_settings input[type=password],
1518
+ .br_framework_settings input[type=search],
1519
+ .br_framework_settings input[type=tel],
1520
+ .br_framework_settings input[type=text],
1521
+ .br_framework_settings input[type=time],
1522
+ .br_framework_settings input[type=url],
1523
+ .br_framework_settings input[type=week]{
1524
+ padding: 0 0 0 2px;
1525
+ }
berocket/assets/js/admin.js CHANGED
@@ -60,12 +60,15 @@ var br_something_changed = false;
60
  var block = $(this).data('block');
61
  if( block != 'redirect_link' ) {
62
  event.preventDefault();
 
63
  $('.br_framework_settings ul.side a.active').removeClass('active');
64
  $('.nav-block-active').removeClass('nav-block-active');
65
  $(this).addClass('active');
66
  $('.'+$(this).data('block')+'-block').addClass('nav-block-active');
67
  $('.br_framework_settings .content .title').html( $(this).html() );
68
  window.history.replaceState(null, null, $(this).attr('href'));
 
 
69
  }
70
  berocket_save_button_side();
71
  });
@@ -603,6 +606,7 @@ jQuery(document).on('click', function() {
603
  });
604
  }
605
  $(window).on('resize', berocket_addon_list_resize_all);
 
606
  $(document).ready( function () {
607
  berocket_addon_list_resize_all();
608
  $(document).on('change', '.berocket_addons_list input', function() {
@@ -624,6 +628,7 @@ jQuery(document).on('change', '.br_cond_type', function(event) {
624
  html_need = html_need.replace(/%id%/g, id);
625
  html_need = html_need.replace(/%current_id%/g, current_id);
626
  html_need = html_need.replace(/%name%/g, condition_name);
 
627
  $parent.find('.br_current_cond').html(html_need);
628
  });
629
  jQuery(document).on('click', '.berocket_add_condition', function() {
60
  var block = $(this).data('block');
61
  if( block != 'redirect_link' ) {
62
  event.preventDefault();
63
+ $(this).trigger('brlinktab_open');
64
  $('.br_framework_settings ul.side a.active').removeClass('active');
65
  $('.nav-block-active').removeClass('nav-block-active');
66
  $(this).addClass('active');
67
  $('.'+$(this).data('block')+'-block').addClass('nav-block-active');
68
  $('.br_framework_settings .content .title').html( $(this).html() );
69
  window.history.replaceState(null, null, $(this).attr('href'));
70
+ $(this).trigger('brlinktab_opened');
71
+ $('.'+$(this).data('block')+'-block').trigger('brtab_opened');
72
  }
73
  berocket_save_button_side();
74
  });
606
  });
607
  }
608
  $(window).on('resize', berocket_addon_list_resize_all);
609
+ $(document).on('brtab_opened', berocket_addon_list_resize_all);
610
  $(document).ready( function () {
611
  berocket_addon_list_resize_all();
612
  $(document).on('change', '.berocket_addons_list input', function() {
628
  html_need = html_need.replace(/%id%/g, id);
629
  html_need = html_need.replace(/%current_id%/g, current_id);
630
  html_need = html_need.replace(/%name%/g, condition_name);
631
+ html_need = html_need.replace(/data-name=/g, 'name=');
632
  $parent.find('.br_current_cond').html(html_need);
633
  });
634
  jQuery(document).on('click', '.berocket_add_condition', function() {
berocket/assets/popup/br_popup.js CHANGED
@@ -21,6 +21,7 @@
21
  jQuery(this).trigger('br_popup-after_reset_option', this);
22
  };
23
  this.create_popup = function() {
 
24
  var settings = this.data('br_popup_settings');
25
 
26
  $popup_html = '<div id="br_popup" class="br_popup animated'+this.builder.popup_class(settings)+'" style="'+this.builder.popup_style(settings)+'">';
21
  jQuery(this).trigger('br_popup-after_reset_option', this);
22
  };
23
  this.create_popup = function() {
24
+ jQuery(this).trigger('br_popup-before_create_popup', this);
25
  var settings = this.data('br_popup_settings');
26
 
27
  $popup_html = '<div id="br_popup" class="br_popup animated'+this.builder.popup_class(settings)+'" style="'+this.builder.popup_style(settings)+'">';
berocket/includes/conditions.php CHANGED
@@ -124,7 +124,7 @@ if( ! class_exists('BeRocket_conditions') ) {
124
  if( ! empty($extension['equal_more']) ) {
125
  $equal_list['equal_more'] = __('Equal or more', 'BeRocket_domain');
126
  }
127
- $html = '<select name="' . $name . '[equal]">';
128
  foreach($equal_list as $equal_slug => $equal_name) {
129
  $html .= '<option value="' . $equal_slug . '"' . ($equal == $equal_slug ? ' selected' : '') . '>' . $equal_name . '</option>';
130
  }
@@ -166,9 +166,9 @@ if( ! class_exists('BeRocket_conditions') ) {
166
  }
167
 
168
  public static function condition_product_sale($html, $name, $options) {
169
- $def_options = array('sale' => 'yes');
170
  $options = array_merge($def_options, $options);
171
- $html .= '<label>' . __('Is on sale', 'BeRocket_domain') . '<select name="' . $name . '[sale]">
172
  <option value="yes"' . ($options['sale'] == 'yes' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>
173
  <option value="no"' . ($options['sale'] == 'no' ? ' selected' : '') . '>' . __('No', 'BeRocket_domain') . '</option>
174
  </select></label>';
@@ -176,9 +176,9 @@ if( ! class_exists('BeRocket_conditions') ) {
176
  }
177
 
178
  public static function condition_product_bestsellers($html, $name, $options) {
179
- $def_options = array('bestsellers' => '1');
180
  $options = array_merge($def_options, $options);
181
- $html .= '<label>' . __('Count of product', 'BeRocket_domain') . '<input type="number" min="1" name="' . $name . '[bestsellers]" value="' . $options['bestsellers'] . '"></label>';
182
  return $html;
183
  }
184
 
@@ -188,7 +188,7 @@ if( ! class_exists('BeRocket_conditions') ) {
188
  }
189
 
190
  public static function condition_product_shippingclass($html, $name, $options) {
191
- $def_options = array('term' => '');
192
  $options = array_merge($def_options, $options);
193
  $terms = get_terms(array(
194
  'taxonomy' => 'product_shipping_class',
@@ -201,7 +201,7 @@ if( ! class_exists('BeRocket_conditions') ) {
201
  }
202
  }
203
  $html = static::supcondition($name, $options);
204
- $html .= '<select name="' . $name . '[term]">';
205
  foreach($terms_i as $term_id => $term_name) {
206
  $html .= '<option value="' . $term_id . '"' . ($options['term'] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
207
  }
@@ -210,10 +210,10 @@ if( ! class_exists('BeRocket_conditions') ) {
210
  }
211
 
212
  public static function condition_product_type($html, $name, $options) {
213
- $def_options = array('product_type' => '');
214
  $options = array_merge($def_options, $options);
215
  $html = static::supcondition($name, $options);
216
- $html .= '<select name="' . $name . '[product_type]">';
217
  $product_types = wc_get_product_types();
218
  foreach($product_types as $term_id => $term_name) {
219
  $html .= '<option value="' . $term_id . '"' . ($options['product_type'] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
@@ -222,10 +222,10 @@ if( ! class_exists('BeRocket_conditions') ) {
222
  return $html;
223
  }
224
  public static function condition_product_rating($html, $name, $options) {
225
- $def_options = array('has_rating' => '');
226
  $options = array_merge($def_options, $options);
227
  $html .= __('Has Rating:', 'BeRocket_domain');
228
- $html .= '<select name="' . $name . '[has_rating]">';
229
  $html .= '<option value=""' . ($options['has_rating'] == '' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>';
230
  $html .= '<option value="no"' . ($options['has_rating'] == 'no' ? ' selected' : '') . '>' . __('No', 'BeRocket_domain') . '</option>';
231
  $html .= '</select>';
@@ -233,21 +233,21 @@ if( ! class_exists('BeRocket_conditions') ) {
233
  }
234
 
235
  public static function condition_product_price($html, $name, $options) {
236
- $def_options = array('price' => array('from' => '1', 'to' => '1'), 'price_tax' => 'product_price');
237
  $options = array_merge($def_options, $options);
238
  if( ! is_array($options['price']) ) {
239
  $options['price'] = array();
240
  }
241
  $options['price'] = array_merge($def_options['price'], $options['price']);
242
  $html .= static::supcondition($name, $options);
243
- $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" name="' . $name . '[price][from]" value="' . $options['price']['from'] . '">' .
244
- __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" name="' . $name . '[price][to]" value="' . $options['price']['to'] . '">';
245
  $tax_type = array(
246
  'product_price' => __('Product price', 'BeRocket_domain'),
247
  'with_tax' => __('With tax', 'BeRocket_domain'),
248
  'without_tax' => __('Without tax', 'BeRocket_domain'),
249
  );
250
- $html .= '<select name="' . $name . '[price_tax]">';
251
  foreach($tax_type as $tax_type_val => $tax_type_name) {
252
  $html .= '<option value="'.$tax_type_val.'"'.($tax_type_val == $options['price_tax'] ? ' selected' : '').'>'.$tax_type_name.'</option>';
253
  }
@@ -256,10 +256,10 @@ if( ! class_exists('BeRocket_conditions') ) {
256
  }
257
 
258
  public static function condition_product_stockstatus($html, $name, $options) {
259
- $def_options = array('stockstatus' => 'in_stock');
260
  $options = array_merge($def_options, $options);
261
  $html .= '
262
- <select name="' . $name . '[stockstatus]">
263
  <option value="in_stock"' . ($options['stockstatus'] == 'in_stock' ? ' selected' : '') . '>' . __('In stock', 'BeRocket_domain') . '</option>
264
  <option value="out_of_stock"' . ($options['stockstatus'] == 'out_of_stock' ? ' selected' : '') . '>' . __('Out of stock', 'BeRocket_domain') . '</option>
265
  <option value="is_on_backorder"' . ($options['stockstatus'] == 'is_on_backorder' ? ' selected' : '') . '>' . __('On Backorder', 'BeRocket_domain') . '</option>
@@ -268,15 +268,15 @@ if( ! class_exists('BeRocket_conditions') ) {
268
  }
269
 
270
  public static function condition_product_totalsales($html, $name, $options) {
271
- $def_options = array('totalsales' => '1');
272
  $options = array_merge($def_options, $options);
273
  $html .= static::supcondition($name, $options, array('equal_less' => true, 'equal_more' => true));
274
- $html .= '<label>' . __('Count of product', 'BeRocket_domain') . '<input type="number" min="0" name="' . $name . '[totalsales]" value="' . $options['totalsales'] . '"></label>';
275
  return $html;
276
  }
277
 
278
  public static function condition_product_category($html, $name, $options) {
279
- $def_options = array('category' => array());
280
  $options = array_merge($def_options, $options);
281
  if( ! is_array($options['category']) ) {
282
  $options['category'] = array($options['category']);
@@ -286,14 +286,14 @@ if( ! class_exists('BeRocket_conditions') ) {
286
  'hide_empty' => false,
287
  ));
288
  if( is_array($product_categories) && count($product_categories) > 0 ) {
289
- $def_options = array('category' => '');
290
  $options = array_merge($def_options, $options);
291
  $html .= static::supcondition($name, $options);
292
- $html .= '<label><input type="checkbox" name="' . $name . '[subcats]" value="1"' . (empty($options['subcats']) ? '' : ' checked') . '>' . __('Include subcategories', 'BeRocket_domain') . '</label>';
293
  $html .= '<div style="max-height:150px;overflow:auto;border:1px solid #ccc;padding: 5px;">';
294
  foreach($product_categories as $category) {
295
  $html .= '<div><label>
296
- <input type="checkbox" name="' . $name . '[category][]" value="' . $category->term_id . '"' . ( (! empty($options['category']) && is_array($options['category']) && in_array($category->term_id, $options['category']) ) ? ' checked' : '' ) . '>
297
  ' . $category->name . '
298
  </label></div>';
299
  }
@@ -303,7 +303,7 @@ if( ! class_exists('BeRocket_conditions') ) {
303
  }
304
 
305
  public static function condition_product_attribute($html, $name, $options) {
306
- $def_options = array('attribute' => '');
307
  $options = array_merge($def_options, $options);
308
  $attributes = get_object_taxonomies( 'product', 'objects');
309
  $product_attributes = array();
@@ -323,7 +323,7 @@ if( ! class_exists('BeRocket_conditions') ) {
323
  }
324
  $html .= static::supcondition($name, $options);
325
  $html .= '<label>' . __('Select attribute', 'BeRocket_domain') . '</label>';
326
- $html .= '<select name="' . $name . '[attribute]" class="br_cond_attr_select">';
327
  $has_selected_attr = false;
328
  foreach($product_attributes as $attribute) {
329
  $html .= '<option value="' . $attribute['name'] . '"' . ( isset($options['attribute']) && $attribute['name'] == $options['attribute'] ? ' selected' : '' ) . '>' . $attribute['label'] . '</option>';
@@ -334,7 +334,7 @@ if( ! class_exists('BeRocket_conditions') ) {
334
  $html .= '</select>';
335
  $is_first_attr = ! $has_selected_attr;
336
  foreach($product_attributes as $attribute) {
337
- $html .= '<select class="br_attr_values br_attr_value_' . $attribute['name'] . '" name="' . $name . '[values][' . $attribute['name'] . ']"' . ($is_first_attr || $attribute['name'] == $options['attribute'] ? '' : ' style="display:none;"') . '>';
338
  $html .= '<option value="">==Any==</option>';
339
  foreach($attribute['value'] as $term_id => $term_name) {
340
  $html .= '<option value="' . $term_id . '"' . (! empty($options['values'][$attribute['name']]) && $options['values'][$attribute['name']] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
@@ -346,45 +346,45 @@ if( ! class_exists('BeRocket_conditions') ) {
346
  }
347
 
348
  public static function condition_product_age($html, $name, $options) {
349
- $def_options = array('age' => '1');
350
  $options = array_merge($def_options, $options);
351
  $html .= br_supcondition_equal($name, $options, array('equal_less' => true, 'equal_more' => true));
352
- $html .= '<input type="number" min="0" name="' . $name . '[age]" value="' . $options['age'] . '">' . __('day(s)', 'BeRocket_domain');
353
  return $html;
354
  }
355
 
356
  public static function condition_product_saleprice($html, $name, $options) {
357
- $def_options = array('saleprice' => array('from' => '1', 'to' => '1'));
358
  $options = array_merge($def_options, $options);
359
  if( ! is_array($options['saleprice']) ) {
360
  $options['saleprice'] = array();
361
  }
362
  $options['price'] = array_merge($def_options['saleprice'], $options['saleprice']);
363
  $html .= br_supcondition_equal($name, $options);
364
- $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" name="' . $name . '[saleprice][from]" value="' . $options['saleprice']['from'] . '">' .
365
- __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" name="' . $name . '[saleprice][to]" value="' . $options['saleprice']['to'] . '">';
366
  return $html;
367
  }
368
 
369
  public static function condition_product_regularprice($html, $name, $options) {
370
- $def_options = array('regularprice' => array('from' => '1', 'to' => '1'));
371
  $options = array_merge($def_options, $options);
372
  if( ! is_array($options['regularprice']) ) {
373
  $options['regularprice'] = array();
374
  }
375
  $options['price'] = array_merge($def_options['regularprice'], $options['regularprice']);
376
  $html .= br_supcondition_equal($name, $options);
377
- $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" name="' . $name . '[regularprice][from]" value="' . $options['regularprice']['from'] . '">' .
378
- __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" name="' . $name . '[regularprice][to]" value="' . $options['regularprice']['to'] . '">';
379
  return $html;
380
  }
381
 
382
  public static function condition_product_stockquantity($html, $name, $options) {
383
- $def_options = array('stockquantity' => '1', 'backorder' => 'any');
384
  $options = array_merge($def_options, $options);
385
  $html .= br_supcondition_equal($name, $options, array('equal_less' => true, 'equal_more' => true));
386
  $html .= __('Products in stock', 'BeRocket_domain');
387
- $html .= '<input type="number" min="0" name="' . $name . '[stockquantity]" value="' . $options['stockquantity'] . '">';
388
  $html .= '<label>'.__('Backorder allowed', 'BeRocket_domain').' <select name="' . $name . '[backorder]">
389
  <option value="any"' . ($options['backorder'] == 'any' ? ' selected' : '') . '>' . __('Any', 'BeRocket_domain') . '</option>
390
  <option value="yes"' . ($options['backorder'] == 'yes' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>
124
  if( ! empty($extension['equal_more']) ) {
125
  $equal_list['equal_more'] = __('Equal or more', 'BeRocket_domain');
126
  }
127
+ $html = '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[equal]">';
128
  foreach($equal_list as $equal_slug => $equal_name) {
129
  $html .= '<option value="' . $equal_slug . '"' . ($equal == $equal_slug ? ' selected' : '') . '>' . $equal_name . '</option>';
130
  }
166
  }
167
 
168
  public static function condition_product_sale($html, $name, $options) {
169
+ $def_options = array('sale' => 'yes', 'is_example' => false);
170
  $options = array_merge($def_options, $options);
171
+ $html .= '<label>' . __('Is on sale', 'BeRocket_domain') . '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[sale]">
172
  <option value="yes"' . ($options['sale'] == 'yes' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>
173
  <option value="no"' . ($options['sale'] == 'no' ? ' selected' : '') . '>' . __('No', 'BeRocket_domain') . '</option>
174
  </select></label>';
176
  }
177
 
178
  public static function condition_product_bestsellers($html, $name, $options) {
179
+ $def_options = array('bestsellers' => '1', 'is_example' => false);
180
  $options = array_merge($def_options, $options);
181
+ $html .= '<label>' . __('Count of product', 'BeRocket_domain') . '<input type="number" min="1" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[bestsellers]" value="' . $options['bestsellers'] . '"></label>';
182
  return $html;
183
  }
184
 
188
  }
189
 
190
  public static function condition_product_shippingclass($html, $name, $options) {
191
+ $def_options = array('term' => '', 'is_example' => false);
192
  $options = array_merge($def_options, $options);
193
  $terms = get_terms(array(
194
  'taxonomy' => 'product_shipping_class',
201
  }
202
  }
203
  $html = static::supcondition($name, $options);
204
+ $html .= '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[term]">';
205
  foreach($terms_i as $term_id => $term_name) {
206
  $html .= '<option value="' . $term_id . '"' . ($options['term'] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
207
  }
210
  }
211
 
212
  public static function condition_product_type($html, $name, $options) {
213
+ $def_options = array('product_type' => '', 'is_example' => false);
214
  $options = array_merge($def_options, $options);
215
  $html = static::supcondition($name, $options);
216
+ $html .= '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[product_type]">';
217
  $product_types = wc_get_product_types();
218
  foreach($product_types as $term_id => $term_name) {
219
  $html .= '<option value="' . $term_id . '"' . ($options['product_type'] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
222
  return $html;
223
  }
224
  public static function condition_product_rating($html, $name, $options) {
225
+ $def_options = array('has_rating' => '', 'is_example' => false);
226
  $options = array_merge($def_options, $options);
227
  $html .= __('Has Rating:', 'BeRocket_domain');
228
+ $html .= '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[has_rating]">';
229
  $html .= '<option value=""' . ($options['has_rating'] == '' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>';
230
  $html .= '<option value="no"' . ($options['has_rating'] == 'no' ? ' selected' : '') . '>' . __('No', 'BeRocket_domain') . '</option>';
231
  $html .= '</select>';
233
  }
234
 
235
  public static function condition_product_price($html, $name, $options) {
236
+ $def_options = array('price' => array('from' => '1', 'to' => '1'), 'price_tax' => 'product_price', 'is_example' => false);
237
  $options = array_merge($def_options, $options);
238
  if( ! is_array($options['price']) ) {
239
  $options['price'] = array();
240
  }
241
  $options['price'] = array_merge($def_options['price'], $options['price']);
242
  $html .= static::supcondition($name, $options);
243
+ $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[price][from]" value="' . $options['price']['from'] . '">' .
244
+ __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[price][to]" value="' . $options['price']['to'] . '">';
245
  $tax_type = array(
246
  'product_price' => __('Product price', 'BeRocket_domain'),
247
  'with_tax' => __('With tax', 'BeRocket_domain'),
248
  'without_tax' => __('Without tax', 'BeRocket_domain'),
249
  );
250
+ $html .= '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[price_tax]">';
251
  foreach($tax_type as $tax_type_val => $tax_type_name) {
252
  $html .= '<option value="'.$tax_type_val.'"'.($tax_type_val == $options['price_tax'] ? ' selected' : '').'>'.$tax_type_name.'</option>';
253
  }
256
  }
257
 
258
  public static function condition_product_stockstatus($html, $name, $options) {
259
+ $def_options = array('stockstatus' => 'in_stock', 'is_example' => false);
260
  $options = array_merge($def_options, $options);
261
  $html .= '
262
+ <select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[stockstatus]">
263
  <option value="in_stock"' . ($options['stockstatus'] == 'in_stock' ? ' selected' : '') . '>' . __('In stock', 'BeRocket_domain') . '</option>
264
  <option value="out_of_stock"' . ($options['stockstatus'] == 'out_of_stock' ? ' selected' : '') . '>' . __('Out of stock', 'BeRocket_domain') . '</option>
265
  <option value="is_on_backorder"' . ($options['stockstatus'] == 'is_on_backorder' ? ' selected' : '') . '>' . __('On Backorder', 'BeRocket_domain') . '</option>
268
  }
269
 
270
  public static function condition_product_totalsales($html, $name, $options) {
271
+ $def_options = array('totalsales' => '1', 'is_example' => false);
272
  $options = array_merge($def_options, $options);
273
  $html .= static::supcondition($name, $options, array('equal_less' => true, 'equal_more' => true));
274
+ $html .= '<label>' . __('Count of product', 'BeRocket_domain') . '<input type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[totalsales]" value="' . $options['totalsales'] . '"></label>';
275
  return $html;
276
  }
277
 
278
  public static function condition_product_category($html, $name, $options) {
279
+ $def_options = array('category' => array(), 'is_example' => false);
280
  $options = array_merge($def_options, $options);
281
  if( ! is_array($options['category']) ) {
282
  $options['category'] = array($options['category']);
286
  'hide_empty' => false,
287
  ));
288
  if( is_array($product_categories) && count($product_categories) > 0 ) {
289
+ $def_options = array('category' => '', 'is_example' => false);
290
  $options = array_merge($def_options, $options);
291
  $html .= static::supcondition($name, $options);
292
+ $html .= '<label><input type="checkbox" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[subcats]" value="1"' . (empty($options['subcats']) ? '' : ' checked') . '>' . __('Include subcategories', 'BeRocket_domain') . '</label>';
293
  $html .= '<div style="max-height:150px;overflow:auto;border:1px solid #ccc;padding: 5px;">';
294
  foreach($product_categories as $category) {
295
  $html .= '<div><label>
296
+ <input type="checkbox" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[category][]" value="' . $category->term_id . '"' . ( (! empty($options['category']) && is_array($options['category']) && in_array($category->term_id, $options['category']) ) ? ' checked' : '' ) . '>
297
  ' . $category->name . '
298
  </label></div>';
299
  }
303
  }
304
 
305
  public static function condition_product_attribute($html, $name, $options) {
306
+ $def_options = array('attribute' => '', 'is_example' => false);
307
  $options = array_merge($def_options, $options);
308
  $attributes = get_object_taxonomies( 'product', 'objects');
309
  $product_attributes = array();
323
  }
324
  $html .= static::supcondition($name, $options);
325
  $html .= '<label>' . __('Select attribute', 'BeRocket_domain') . '</label>';
326
+ $html .= '<select '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[attribute]" class="br_cond_attr_select">';
327
  $has_selected_attr = false;
328
  foreach($product_attributes as $attribute) {
329
  $html .= '<option value="' . $attribute['name'] . '"' . ( isset($options['attribute']) && $attribute['name'] == $options['attribute'] ? ' selected' : '' ) . '>' . $attribute['label'] . '</option>';
334
  $html .= '</select>';
335
  $is_first_attr = ! $has_selected_attr;
336
  foreach($product_attributes as $attribute) {
337
+ $html .= '<select class="br_attr_values br_attr_value_' . $attribute['name'] . '" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[values][' . $attribute['name'] . ']"' . ($is_first_attr || $attribute['name'] == $options['attribute'] ? '' : ' style="display:none;"') . '>';
338
  $html .= '<option value="">==Any==</option>';
339
  foreach($attribute['value'] as $term_id => $term_name) {
340
  $html .= '<option value="' . $term_id . '"' . (! empty($options['values'][$attribute['name']]) && $options['values'][$attribute['name']] == $term_id ? ' selected' : '') . '>' . $term_name . '</option>';
346
  }
347
 
348
  public static function condition_product_age($html, $name, $options) {
349
+ $def_options = array('age' => '1', 'is_example' => false);
350
  $options = array_merge($def_options, $options);
351
  $html .= br_supcondition_equal($name, $options, array('equal_less' => true, 'equal_more' => true));
352
+ $html .= '<input type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[age]" value="' . $options['age'] . '">' . __('day(s)', 'BeRocket_domain');
353
  return $html;
354
  }
355
 
356
  public static function condition_product_saleprice($html, $name, $options) {
357
+ $def_options = array('saleprice' => array('from' => '1', 'to' => '1'), 'is_example' => false);
358
  $options = array_merge($def_options, $options);
359
  if( ! is_array($options['saleprice']) ) {
360
  $options['saleprice'] = array();
361
  }
362
  $options['price'] = array_merge($def_options['saleprice'], $options['saleprice']);
363
  $html .= br_supcondition_equal($name, $options);
364
+ $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[saleprice][from]" value="' . $options['saleprice']['from'] . '">' .
365
+ __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[saleprice][to]" value="' . $options['saleprice']['to'] . '">';
366
  return $html;
367
  }
368
 
369
  public static function condition_product_regularprice($html, $name, $options) {
370
+ $def_options = array('regularprice' => array('from' => '1', 'to' => '1'), 'is_example' => false);
371
  $options = array_merge($def_options, $options);
372
  if( ! is_array($options['regularprice']) ) {
373
  $options['regularprice'] = array();
374
  }
375
  $options['price'] = array_merge($def_options['regularprice'], $options['regularprice']);
376
  $html .= br_supcondition_equal($name, $options);
377
+ $html .= __('From:', 'BeRocket_domain') . '<input class="price_from" type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[regularprice][from]" value="' . $options['regularprice']['from'] . '">' .
378
+ __('To:', 'BeRocket_domain') . '<input class="price_to" type="number" min="1" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[regularprice][to]" value="' . $options['regularprice']['to'] . '">';
379
  return $html;
380
  }
381
 
382
  public static function condition_product_stockquantity($html, $name, $options) {
383
+ $def_options = array('stockquantity' => '1', 'backorder' => 'any', 'is_example' => false);
384
  $options = array_merge($def_options, $options);
385
  $html .= br_supcondition_equal($name, $options, array('equal_less' => true, 'equal_more' => true));
386
  $html .= __('Products in stock', 'BeRocket_domain');
387
+ $html .= '<input type="number" min="0" '.(empty($options['is_example']) ? '' : 'data-').'name="' . $name . '[stockquantity]" value="' . $options['stockquantity'] . '">';
388
  $html .= '<label>'.__('Backorder allowed', 'BeRocket_domain').' <select name="' . $name . '[backorder]">
389
  <option value="any"' . ($options['backorder'] == 'any' ? ' selected' : '') . '>' . __('Any', 'BeRocket_domain') . '</option>
390
  <option value="yes"' . ($options['backorder'] == 'yes' ? ' selected' : '') . '>' . __('Yes', 'BeRocket_domain') . '</option>
berocket/templates/conditions.php CHANGED
@@ -30,7 +30,7 @@ $condition_types = apply_filters($hook_name.'_types', array());
30
  <div class="br_cond_example" style="display:none;">
31
  <?php
32
  foreach($condition_types as $condition_type_slug => $condition_type_name) {
33
- $condition_html = apply_filters($hook_name . '_type_' . $condition_type_slug, '', '%name%[%id%][%current_id%]', array());
34
  if( ! empty($condition_html) ) {
35
  echo '<div class="br_cond br_cond_', $condition_type_slug, '">
36
  ', $condition_html, '
30
  <div class="br_cond_example" style="display:none;">
31
  <?php
32
  foreach($condition_types as $condition_type_slug => $condition_type_name) {
33
+ $condition_html = apply_filters($hook_name . '_type_' . $condition_type_slug, '', '%name%[%id%][%current_id%]', array('is_example' => true));
34
  if( ! empty($condition_html) ) {
35
  echo '<div class="br_cond br_cond_', $condition_type_slug, '">
36
  ', $condition_html, '
css/admin.css CHANGED
@@ -471,3 +471,54 @@ td.colorpicker_field.colorpicker_removed:after {
471
  .colpick.colpick_hex.colpick_hex_ns {
472
  z-index: 1000;
473
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
  .colpick.colpick_hex.colpick_hex_ns {
472
  z-index: 1000;
473
  }
474
+ .berocket_filter_groups table{
475
+ width: 100%;
476
+ table-layout: fixed;
477
+ }
478
+ .berocket_filter_groups table th {
479
+ width: 180px;
480
+ }
481
+ .berocket_group_is_hide_theme_option_data th{
482
+ vertical-align: middle;
483
+ }
484
+ .berocket_group_is_hide_theme_option_slider {
485
+ height: 80px;
486
+ overflow-y: hidden;
487
+ overflow-x: auto;
488
+ white-space: nowrap;
489
+ width: 970px;
490
+ max-width: 100%;
491
+ display: flex;
492
+ align-items: center;
493
+ padding-top: 4px;
494
+ padding-bottom: 4px;
495
+ }
496
+ .berocket_group_is_hide_theme_option_slider div {
497
+ display: block;
498
+ width: 240px;
499
+ box-sizing: border-box;
500
+ padding: 0 10px;
501
+ align-items: center;
502
+ }
503
+ .berocket_group_is_hide_theme_option_slider div label {
504
+ display: flex;
505
+ padding: 0;
506
+ font-size: 0;
507
+ height: 62px;
508
+ border: 3px solid transparent;
509
+ border-radius: 3px;
510
+ width: 220px;
511
+ align-items: center;
512
+ text-align: center;
513
+ justify-content: center;
514
+ }
515
+ .berocket_group_is_hide_theme_option_slider div label:hover {
516
+ border-color: #e8ebf1;
517
+ }
518
+ .berocket_group_is_hide_theme_option_slider div input:checked + label {
519
+ border-color: #009688;
520
+ }
521
+ .berocket_group_is_hide_theme_option_slider div label img {
522
+ padding: 0;
523
+ margin: 0;
524
+ }
css/themes.css ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* COMMON */
2
+ .berocket_element_above_products_is_hide_toggle.active span,
3
+ .berocket_ajax_filters_sidebar_toggle.active span {
4
+ background-color: transparent !important;
5
+ }
6
+ .berocket_element_above_products_is_hide_toggle,
7
+ .berocket_element_above_products_is_hide_toggle:hover,
8
+ .berocket_element_above_products_is_hide_toggle:focus {
9
+ text-decoration: none;
10
+ }
11
+ .berocket_element_above_products_is_hide_toggle,
12
+ .berocket_element_above_products_is_hide_toggle * {
13
+ box-sizing: border-box !important;
14
+ }
15
+
16
+ /* THEME */
17
+
18
+ .berocket_element_above_products_is_hide_toggle.theme-first,
19
+ .berocket_ajax_filters_sidebar_toggle.theme-first {
20
+ background: white;
21
+ border: 1px solid #ebebeb;
22
+ height: 40px;
23
+ line-height: 32px;
24
+ text-align: center;
25
+ padding: 4px 0;
26
+ font-weight: 400;
27
+ }
28
+ .berocket_element_above_products_is_hide_toggle.theme-first span,
29
+ .berocket_ajax_filters_sidebar_toggle.theme-first span {
30
+ position: relative;
31
+ top: -4px;
32
+ display: inline-block;
33
+ left: -8px;
34
+ }
35
+
36
+ /* THEME */
37
+
38
+ .berocket_element_above_products_is_hide_toggle.theme-second,
39
+ .berocket_ajax_filters_sidebar_toggle.theme-second {
40
+ background: white;
41
+ border: 1px solid #ebebeb;
42
+ height: 40px;
43
+ line-height: 32px;
44
+ text-align: center;
45
+ padding: 4px 0;
46
+ font-weight: 400;
47
+ box-shadow: 0 0 6px 0 #dedede;
48
+ }
49
+ .berocket_element_above_products_is_hide_toggle.theme-second span,
50
+ .berocket_ajax_filters_sidebar_toggle.theme-second span {
51
+ position: relative;
52
+ top: -5px;
53
+ display: inline-block;
54
+ left: -8px;
55
+ }
56
+
57
+ /* THEME */
58
+
59
+ .berocket_element_above_products_is_hide_toggle.theme-third,
60
+ .berocket_ajax_filters_sidebar_toggle.theme-third {
61
+ background: #ff4e3d;
62
+ height: 40px;
63
+ line-height: 32px;
64
+ text-align: center;
65
+ padding: 4px 0 4px 36px;
66
+ font-weight: 400;
67
+ color: white;
68
+ }
69
+ .berocket_element_above_products_is_hide_toggle.theme-third:before,
70
+ .berocket_ajax_filters_sidebar_toggle.theme-third:before {
71
+ background: #d43f34;
72
+ content: "";
73
+ position: absolute;
74
+ left: 0;
75
+ top: 0;
76
+ bottom: 0;
77
+ width: 40px;
78
+ }
79
+ .berocket_element_above_products_is_hide_toggle.theme-third span,
80
+ .berocket_ajax_filters_sidebar_toggle.theme-third span {
81
+ top: 19px;
82
+ left: 11px;
83
+ }
84
+ .berocket_element_above_products_is_hide_toggle.theme-third span,
85
+ .berocket_element_above_products_is_hide_toggle.theme-third span:after,
86
+ .berocket_element_above_products_is_hide_toggle.theme-third span:before,
87
+ .berocket_element_above_products_is_hide_toggle.theme-third:hover span,
88
+ .berocket_element_above_products_is_hide_toggle.theme-third:hover span:after,
89
+ .berocket_element_above_products_is_hide_toggle.theme-third:hover span:before,
90
+ .berocket_element_above_products_is_hide_toggle.theme-third.active span,
91
+ .berocket_element_above_products_is_hide_toggle.theme-third.active span:after,
92
+ .berocket_element_above_products_is_hide_toggle.theme-third.active span:before,
93
+ .berocket_ajax_filters_sidebar_toggle.theme-third span,
94
+ .berocket_ajax_filters_sidebar_toggle.theme-third span:after,
95
+ .berocket_ajax_filters_sidebar_toggle.theme-third span:before,
96
+ .berocket_ajax_filters_sidebar_toggle.theme-third:hover span,
97
+ .berocket_ajax_filters_sidebar_toggle.theme-third:hover span:after,
98
+ .berocket_ajax_filters_sidebar_toggle.theme-third:hover span:before,
99
+ .berocket_ajax_filters_sidebar_toggle.theme-third.active span,
100
+ .berocket_ajax_filters_sidebar_toggle.theme-third.active span:after,
101
+ .berocket_ajax_filters_sidebar_toggle.theme-third.active span:before {
102
+ background-color: white;
103
+ }
104
+
105
+ /* FOURTH */
106
+
107
+ .berocket_element_above_products_is_hide_toggle.theme-fourth,
108
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth {
109
+ background: white;
110
+ height: 40px;
111
+ line-height: 32px;
112
+ text-align: center;
113
+ padding: 4px 0;
114
+ font-weight: 400;
115
+ color: #79c7a5;
116
+ box-shadow: 0 5px 5px 0 #c7e8dbc7;
117
+ }
118
+ .berocket_element_above_products_is_hide_toggle.theme-fourth span,
119
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth span {
120
+ position: relative;
121
+ top: -4px;
122
+ display: inline-block;
123
+ left: -8px;
124
+ }
125
+ .berocket_element_above_products_is_hide_toggle.theme-fourth span,
126
+ .berocket_element_above_products_is_hide_toggle.theme-fourth span:before,
127
+ .berocket_element_above_products_is_hide_toggle.theme-fourth span:after,
128
+ .berocket_element_above_products_is_hide_toggle.theme-fourth.active span,
129
+ .berocket_element_above_products_is_hide_toggle.theme-fourth.active span:before,
130
+ .berocket_element_above_products_is_hide_toggle.theme-fourth.active span:after,
131
+ .berocket_element_above_products_is_hide_toggle.theme-fourth:hover span,
132
+ .berocket_element_above_products_is_hide_toggle.theme-fourth:hover span:before,
133
+ .berocket_element_above_products_is_hide_toggle.theme-fourth:hover span:after,
134
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth span,
135
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth span:before,
136
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth span:after,
137
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth.active span,
138
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth.active span:before,
139
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth.active span:after,
140
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth:hover span,
141
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth:hover span:before,
142
+ .berocket_ajax_filters_sidebar_toggle.theme-fourth:hover span:after{
143
+ background-color: #79c7a5;
144
+ }
145
+
146
+ /* FIFTH */
147
+
148
+ .berocket_element_above_products_is_hide_toggle.theme-fifth,
149
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth {
150
+ height: 40px;
151
+ line-height: 32px;
152
+ text-align: center;
153
+ padding: 4px 0;
154
+ font-weight: 400;
155
+ color: white;
156
+ border-radius: 20px;
157
+ background: rgb(101,214,208);
158
+ background: linear-gradient(90deg, rgba(101,214,208,1) 0%, rgba(57,180,239,1) 56%, rgba(42,161,245,1) 100%);
159
+ }
160
+ .berocket_element_above_products_is_hide_toggle.theme-fifth:before,
161
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth:before {
162
+ content: '';
163
+ height: 34px;
164
+ width: 34px;
165
+ position: absolute;
166
+ top: 3px;
167
+ left: 3px;
168
+ border: 1px solid white;
169
+ box-sizing: border-box;
170
+ border-radius: 50%;
171
+ }
172
+ .berocket_element_above_products_is_hide_toggle.theme-fifth span,
173
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth span {
174
+ top: 19px;
175
+ display: inline-block;
176
+ left: 11px;
177
+ }
178
+ .berocket_element_above_products_is_hide_toggle.theme-fifth span,
179
+ .berocket_element_above_products_is_hide_toggle.theme-fifth span:before,
180
+ .berocket_element_above_products_is_hide_toggle.theme-fifth span:after,
181
+ .berocket_element_above_products_is_hide_toggle.theme-fifth.active span,
182
+ .berocket_element_above_products_is_hide_toggle.theme-fifth.active span:before,
183
+ .berocket_element_above_products_is_hide_toggle.theme-fifth.active span:after,
184
+ .berocket_element_above_products_is_hide_toggle.theme-fifth:hover span,
185
+ .berocket_element_above_products_is_hide_toggle.theme-fifth:hover span:before,
186
+ .berocket_element_above_products_is_hide_toggle.theme-fifth:hover span:after,
187
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth span,
188
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth span:before,
189
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth span:after,
190
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth.active span,
191
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth.active span:before,
192
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth.active span:after,
193
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth:hover span,
194
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth:hover span:before,
195
+ .berocket_ajax_filters_sidebar_toggle.theme-fifth:hover span:after{
196
+ background-color: white;
197
+ }
198
+
199
+ /* SIXTH */
200
+
201
+ .berocket_element_above_products_is_hide_toggle.theme-sixth,
202
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth {
203
+ height: 50px;
204
+ line-height: 29px;
205
+ text-align: center;
206
+ padding: 10px 0 10px 12px;
207
+ font-weight: 400;
208
+ color: white;
209
+ border-radius: 6px;
210
+ background: #ed5153;
211
+ border-bottom: 4px solid #e14043;
212
+ }
213
+ .berocket_element_above_products_is_hide_toggle.theme-sixth span,
214
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth span{
215
+ top: 23px;
216
+ left: 18px;
217
+ }
218
+ .berocket_element_above_products_is_hide_toggle.theme-sixth span,
219
+ .berocket_element_above_products_is_hide_toggle.theme-sixth span:before,
220
+ .berocket_element_above_products_is_hide_toggle.theme-sixth span:after,
221
+ .berocket_element_above_products_is_hide_toggle.theme-sixth.active span,
222
+ .berocket_element_above_products_is_hide_toggle.theme-sixth.active span:before,
223
+ .berocket_element_above_products_is_hide_toggle.theme-sixth.active span:after,
224
+ .berocket_element_above_products_is_hide_toggle.theme-sixth:hover span,
225
+ .berocket_element_above_products_is_hide_toggle.theme-sixth:hover span:before,
226
+ .berocket_element_above_products_is_hide_toggle.theme-sixth:hover span:after,
227
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth span,
228
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth span:before,
229
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth span:after,
230
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth.active span,
231
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth.active span:before,
232
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth.active span:after,
233
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth:hover span,
234
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth:hover span:before,
235
+ .berocket_ajax_filters_sidebar_toggle.theme-sixth:hover span:after{
236
+ background-color: white;
237
+ }
css/widget.css CHANGED
@@ -443,9 +443,10 @@ ul.berocket_aapf_widget .berocket_widget_show_values{
443
  top: 10px;
444
  font-size: 0.9em;
445
  }
446
-
447
- ul.berocket_aapf_widget .berocket_widget_show_values span{
448
  font-family: FontAwesome;
 
 
449
  margin-right: 20px;
450
  display: inline-block;
451
  width: 1.8em;
@@ -1141,6 +1142,7 @@ html .widget_berocket_aapf .ui-button.ui-state-disabled:active{
1141
  .berocket_single_filter_widget.berocket_inline_filters {
1142
  width: 12.5%!important;
1143
  }
 
1144
  .berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget-title_div {
1145
  border:2px solid #333333!important;
1146
  background-color: #333333!important;
@@ -1271,7 +1273,7 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1271
  }
1272
  .berocket_element_above_products_is_hide_toggle {
1273
  height: 20px;
1274
- width: 200px;
1275
  margin: 40px 0;
1276
  display: inline-block;
1277
  position: relative;
@@ -1279,6 +1281,7 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1279
  outline: 0 none !important;
1280
  color: #2a2a2a;
1281
  font-weight: 600;
 
1282
  }
1283
  .berocket_element_above_products_is_hide_toggle span,
1284
  .berocket_element_above_products_is_hide_toggle span:before,
@@ -1332,16 +1335,25 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1332
  }
1333
 
1334
  /* CUSTOM SIDEBAR */
 
 
 
 
 
 
1335
  .berocket_ajax_filters_sidebar_toggle {
1336
- height: 20px;
1337
- width: 200px;
1338
  margin: 40px 0;
1339
  display: inline-block;
1340
  position: relative;
1341
  padding-left: 25px;
1342
  outline: 0 none !important;
 
 
1343
  color: #2a2a2a;
1344
  font-weight: 600;
 
1345
  }
1346
  .berocket_ajax_filters_sidebar_toggle span,
1347
  .berocket_ajax_filters_sidebar_toggle span:before,
@@ -1355,7 +1367,7 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1355
  transition: all 0.2s;
1356
  }
1357
  .berocket_ajax_filters_sidebar_toggle span {
1358
- top: 13px;
1359
  }
1360
  .berocket_ajax_filters_sidebar_toggle span:before {
1361
  content: "";
@@ -1438,7 +1450,7 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1438
  #berocket-ajax-filters-sidebar > div {
1439
  padding: 15px!important;
1440
  }
1441
- #berocket-ajax-filters-sidebar .widget-title.berocket_aapf_widget-title {
1442
  color: #333333 !important;
1443
  font-size: 19px !important;
1444
  font-weight: 600 !important;
@@ -1458,6 +1470,12 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1458
  font-family: Arial, serif !important;
1459
  color: #a2a2a2;
1460
  }
 
 
 
 
 
 
1461
  @media screen and (max-width:782px) {
1462
  .admin-bar #berocket-ajax-filters-sidebar {
1463
  top: 46px;
@@ -1476,3 +1494,6 @@ ul.berocket_aapf_widget li > span > input + .berocket_label_widgets::before {
1476
  overflow: initial;
1477
  white-space: initial;
1478
  }
 
 
 
443
  top: 10px;
444
  font-size: 0.9em;
445
  }
446
+ ul.berocket_aapf_widget .berocket_widget_show_values span:not(.show_button,.hide_button){
 
447
  font-family: FontAwesome;
448
+ }
449
+ ul.berocket_aapf_widget .berocket_widget_show_values span{
450
  margin-right: 20px;
451
  display: inline-block;
452
  width: 1.8em;
1142
  .berocket_single_filter_widget.berocket_inline_filters {
1143
  width: 12.5%!important;
1144
  }
1145
+ #berocket-ajax-filters-sidebar .berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget-title_div,
1146
  .berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget-title_div {
1147
  border:2px solid #333333!important;
1148
  background-color: #333333!important;
1273
  }
1274
  .berocket_element_above_products_is_hide_toggle {
1275
  height: 20px;
1276
+ width: 200px !important;;
1277
  margin: 40px 0;
1278
  display: inline-block;
1279
  position: relative;
1281
  outline: 0 none !important;
1282
  color: #2a2a2a;
1283
  font-weight: 600;
1284
+ font-size: 16px;
1285
  }
1286
  .berocket_element_above_products_is_hide_toggle span,
1287
  .berocket_element_above_products_is_hide_toggle span:before,
1335
  }
1336
 
1337
  /* CUSTOM SIDEBAR */
1338
+ body {
1339
+ transition: margin-left 0.2s;
1340
+ }
1341
+ body.berocket_ajax_filters_sidebar_active {
1342
+ margin-left: 200px;
1343
+ }
1344
  .berocket_ajax_filters_sidebar_toggle {
1345
+ height: 26px;
1346
+ width: 200px !important;
1347
  margin: 40px 0;
1348
  display: inline-block;
1349
  position: relative;
1350
  padding-left: 25px;
1351
  outline: 0 none !important;
1352
+ text-decoration: none!important;
1353
+ box-sizing: border-box!important;
1354
  color: #2a2a2a;
1355
  font-weight: 600;
1356
+ font-size: 16px;
1357
  }
1358
  .berocket_ajax_filters_sidebar_toggle span,
1359
  .berocket_ajax_filters_sidebar_toggle span:before,
1367
  transition: all 0.2s;
1368
  }
1369
  .berocket_ajax_filters_sidebar_toggle span {
1370
+ top: 12px;
1371
  }
1372
  .berocket_ajax_filters_sidebar_toggle span:before {
1373
  content: "";
1450
  #berocket-ajax-filters-sidebar > div {
1451
  padding: 15px!important;
1452
  }
1453
+ #berocket-ajax-filters-sidebar .berocket_aapf_widget-title_div {
1454
  color: #333333 !important;
1455
  font-size: 19px !important;
1456
  font-weight: 600 !important;
1470
  font-family: Arial, serif !important;
1471
  color: #a2a2a2;
1472
  }
1473
+ #berocket-ajax-filters-sidebar-close + * {
1474
+ margin-top: 70px!important;
1475
+ }
1476
+ #berocket-ajax-filters-sidebar-close + .berocket_ajax_group_filter_title {
1477
+ margin-top: 0!important;
1478
+ }
1479
  @media screen and (max-width:782px) {
1480
  .admin-bar #berocket-ajax-filters-sidebar {
1481
  top: 46px;
1494
  overflow: initial;
1495
  white-space: initial;
1496
  }
1497
+ .select2-container {
1498
+ z-index: 999999;
1499
+ }
images/themes/sidebar-button/default.png ADDED
Binary file
images/themes/sidebar-button/fifth.png ADDED
Binary file
images/themes/sidebar-button/first.png ADDED
Binary file
images/themes/sidebar-button/fourth.png ADDED
Binary file
images/themes/sidebar-button/second.png ADDED
Binary file
images/themes/sidebar-button/sixth.png ADDED
Binary file
images/themes/sidebar-button/third.png ADDED
Binary file
includes/custom_post.php CHANGED
@@ -482,7 +482,7 @@ class BeRocket_AAPF_single_filter extends BeRocket_custom_post_class {
482
  }
483
  $_POST['type'] = $instance['type'];
484
  $_POST['tax_color_set'] = $_POST['br_widget_color'];
485
- BeRocket_AAPF_Widget::color_listener();
486
  }
487
  $setup_wizard = get_option('berocket_aapf_filters_setup_wizard_list');
488
  if( ! is_array($setup_wizard) ) {
@@ -674,10 +674,38 @@ class BeRocket_AAPF_group_filters extends BeRocket_custom_post_class {
674
  break;
675
  }
676
  }
677
- public function shortcode($atts = array()) {
678
- ob_start();
679
- the_widget( 'BeRocket_new_AAPF_Widget', $atts);
680
- return ob_get_clean();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
  }
682
  public function get_option( $post_id ) {
683
  $options_test = get_post_meta( $post_id, $this->post_name, true );
482
  }
483
  $_POST['type'] = $instance['type'];
484
  $_POST['tax_color_set'] = $_POST['br_widget_color'];
485
+ BeRocket_AAPF_Widget_functions::color_listener();
486
  }
487
  $setup_wizard = get_option('berocket_aapf_filters_setup_wizard_list');
488
  if( ! is_array($setup_wizard) ) {
674
  break;
675
  }
676
  }
677
+ public function shortcode( $atts = array() ) {
678
+ if ( BeRocket_new_AAPF_Widget::check_widget_by_instance( $atts ) ) {
679
+ ob_start();
680
+
681
+ $BeRocket_AAPF_group_filters = BeRocket_AAPF_group_filters::getInstance();
682
+ $group_options = $BeRocket_AAPF_group_filters->get_option( $atts['group_id'] );
683
+
684
+ if ( ! empty( $group_options[ 'group_is_hide' ] ) ) {
685
+ $extra_class = '';
686
+ if ( ! empty( $group_options['hide_group'] ) and is_array( $group_options['hide_group'] ) ) {
687
+ foreach ( $group_options['hide_group'] as $device => $active ) {
688
+ if ( $active and $device ) {
689
+ $extra_class .= ' berocket_hide_single_widget_on_' . $device;
690
+ }
691
+ }
692
+
693
+ }
694
+
695
+ echo '<a href="#toggle-filters" class="berocket_element_above_products_is_hide_toggle berocket_ajax_filters_toggle' . ( ( ! empty( $group_options[ 'group_is_hide_theme' ] ) ) ? ' theme-' . $group_options[ 'group_is_hide_theme' ] : '' ) . $extra_class . '"><span><i></i><b></b></span>' . __( 'SHOW FILTERS', 'BeRocket_AJAX_domain' ) . '</a>';
696
+ echo '<div class="berocket_element_above_products berocket_element_above_products_is_hide br_is_hidden ' . $extra_class . '">';
697
+ }
698
+
699
+ the_widget( 'BeRocket_new_AAPF_Widget', $atts);
700
+
701
+ if ( ! empty( $group_options[ 'group_is_hide' ] ) ) {
702
+ echo '</div>';
703
+ }
704
+
705
+ return ob_get_clean();
706
+ }
707
+
708
+ return '';
709
  }
710
  public function get_option( $post_id ) {
711
  $options_test = get_post_meta( $post_id, $this->post_name, true );
includes/filters/display_widget.php ADDED
@@ -0,0 +1,596 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * BeRocket_AAPF_Widget - main filter widget. One filter for any needs
5
+ */
6
+ class BeRocket_AAPF_Widget extends WP_Widget {
7
+
8
+ public static $defaults = array(
9
+ 'br_wp_footer' => false,
10
+ 'widget_type' => 'filter',
11
+ 'title' => '',
12
+ 'filter_type' => 'attribute',
13
+ 'attribute' => 'price',
14
+ 'custom_taxonomy' => 'product_cat',
15
+ 'type' => 'slider',
16
+ 'select_first_element_text' => '',
17
+ 'operator' => 'OR',
18
+ 'order_values_by' => '',
19
+ 'order_values_type' => '',
20
+ 'text_before_price' => '',
21
+ 'text_after_price' => '',
22
+ 'enable_slider_inputs' => '',
23
+ 'parent_product_cat' => '',
24
+ 'depth_count' => '0',
25
+ 'widget_collapse_enable' => '0',
26
+ 'widget_is_hide' => '0',
27
+ 'show_product_count_per_attr' => '0',
28
+ 'hide_child_attributes' => '0',
29
+ 'hide_collapse_arrow' => '0',
30
+ 'use_value_with_color' => '0',
31
+ 'values_per_row' => '1',
32
+ 'icon_before_title' => '',
33
+ 'icon_after_title' => '',
34
+ 'icon_before_value' => '',
35
+ 'icon_after_value' => '',
36
+ 'price_values' => '',
37
+ 'description' => '',
38
+ 'css_class' => '',
39
+ 'tag_cloud_height' => '0',
40
+ 'tag_cloud_min_font' => '12',
41
+ 'tag_cloud_max_font' => '14',
42
+ 'tag_cloud_tags_count' => '100',
43
+ 'tag_cloud_type' => 'doe',
44
+ 'use_min_price' => '0',
45
+ 'min_price' => '0',
46
+ 'use_max_price' => '0',
47
+ 'max_price' => '1',
48
+ 'height' => 'auto',
49
+ 'scroll_theme' => 'dark',
50
+ 'selected_area_show' => '0',
51
+ 'hide_selected_arrow' => '0',
52
+ 'selected_is_hide' => '0',
53
+ 'slider_default' => '0',
54
+ 'number_style' => '0',
55
+ 'number_style_thousand_separate'=> '',
56
+ 'number_style_decimal_separate' => '.',
57
+ 'number_style_decimal_number' => '2',
58
+ 'is_hide_mobile' => '0',
59
+ 'user_can_see' => '',
60
+ 'cat_propagation' => '0',
61
+ 'product_cat' => '',
62
+ 'parent_product_cat_current' => '0',
63
+ 'attribute_count' => '',
64
+ 'show_page' => array( 'shop', 'product_cat', 'product_tag', 'product_taxonomy' ),
65
+ 'cat_value_limit' => '0',
66
+ 'child_parent' => '',
67
+ 'child_parent_depth' => '1',
68
+ 'child_parent_no_values' => '',
69
+ 'child_parent_previous' => '',
70
+ 'child_parent_no_products' => '',
71
+ 'child_onew_count' => '1',
72
+ 'child_onew_childs' => array(
73
+ 1 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
74
+ 2 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
75
+ 3 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
76
+ 4 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
77
+ 5 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
78
+ 6 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
79
+ 7 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
80
+ 8 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
81
+ 9 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
82
+ 10 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
83
+ ),
84
+ 'search_box_link_type' => 'shop_page',
85
+ 'search_box_url' => '',
86
+ 'search_box_category' => '',
87
+ 'search_box_count' => '1',
88
+ 'search_box_attributes' => array(
89
+ 1 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
90
+ 2 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
91
+ 3 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
92
+ 4 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
93
+ 5 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
94
+ 6 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
95
+ 7 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
96
+ 8 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
97
+ 9 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
98
+ 10 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
99
+ ),
100
+ 'search_box_style' => array(
101
+ 'position' => 'vertical',
102
+ 'search_position' => 'after',
103
+ 'search_text' => 'Search',
104
+ 'background' => 'bbbbff',
105
+ 'back_opacity' => '0',
106
+ 'button_background' => '888800',
107
+ 'button_background_over' => 'aaaa00',
108
+ 'text_color' => '000000',
109
+ 'text_color_over' => '000000',
110
+ ),
111
+ 'ranges' => array( 1, 10 ),
112
+ 'hide_first_last_ranges' => '',
113
+ 'include_exclude_select' => '',
114
+ 'include_exclude_list' => array(),
115
+ );
116
+
117
+ /**
118
+ * Constructor
119
+ */
120
+ function __construct() {
121
+ global $wp_version;
122
+ /* Widget settings. */
123
+ $widget_ops = array( 'classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', 'BeRocket_AJAX_domain') );
124
+
125
+ /* Widget control settings. */
126
+ $control_ops = array( 'id_base' => 'berocket_aapf_widget' );
127
+
128
+ /* Create the widget. */
129
+ parent::__construct( 'berocket_aapf_widget', __('AJAX Product Filters (Deprecated)', 'BeRocket_AJAX_domain'), $widget_ops, $control_ops );
130
+
131
+ add_filter( 'berocket_aapf_listener_wp_query_args', 'br_aapf_args_parser' );
132
+ }
133
+
134
+ /**
135
+ * Show widget to user
136
+ *
137
+ * @param array $args
138
+ * @param array $instance
139
+ */
140
+ function widget( $args, $instance ) {
141
+ if( ! empty($args['widget_id']) ) {
142
+ $this->id = $args['widget_id'];
143
+ $this->number = $args['widget_id'];
144
+ }
145
+ if( empty($this->number) || $this->number == -1 ) {
146
+ global $berocket_aapf_shortcode_id;
147
+ if( empty($berocket_aapf_shortcode_id) ) {
148
+ $berocket_aapf_shortcode_id = 1;
149
+ } else {
150
+ $berocket_aapf_shortcode_id++;
151
+ }
152
+ $this->id = 'berocket_aapf_widget-s'.$berocket_aapf_shortcode_id;
153
+ $args['widget_id'] = $this->id;
154
+ $this->number = 's'.$berocket_aapf_shortcode_id;
155
+ }
156
+ $set_query_var_title = array();
157
+ $set_query_var_main = array();
158
+ $set_query_var_footer = array();
159
+ $filter_type_array = array(
160
+ 'attribute' => array(
161
+ 'name' => __('Attribute', 'BeRocket_AJAX_domain'),
162
+ 'sameas' => 'attribute',
163
+ ),
164
+ 'tag' => array(
165
+ 'name' => __('Tag', 'BeRocket_AJAX_domain'),
166
+ 'sameas' => 'tag',
167
+ ),
168
+ 'all_product_cat' => array(
169
+ 'name' => __('Product Category', 'BeRocket_AJAX_domain'),
170
+ 'sameas' => 'custom_taxonomy',
171
+ 'attribute' => 'product_cat',
172
+ ),
173
+ );
174
+ if ( function_exists('wc_get_product_visibility_term_ids') ) {
175
+ $filter_type_array['_rating'] = array(
176
+ 'name' => __('Rating', 'BeRocket_AJAX_domain'),
177
+ 'sameas' => '_rating',
178
+ );
179
+ }
180
+ $filter_type_array = apply_filters('berocket_filter_filter_type_array', $filter_type_array, $instance);
181
+ if( empty($instance['filter_type']) || ! array_key_exists($instance['filter_type'], $filter_type_array) ) {
182
+ foreach($filter_type_array as $filter_type_key => $filter_type_val) {
183
+ $instance['filter_type'] = $filter_type_key;
184
+ break;
185
+ }
186
+ }
187
+ if( ! empty($instance['filter_type']) && ! empty($filter_type_array[$instance['filter_type']]) && ! empty($filter_type_array[$instance['filter_type']]['sameas']) ) {
188
+ $sameas = $filter_type_array[$instance['filter_type']];
189
+ $instance['filter_type'] = $sameas['sameas'];
190
+ if( ! empty($sameas['attribute']) ) {
191
+ if( $sameas['sameas'] == 'custom_taxonomy' ) {
192
+ $instance['custom_taxonomy'] = $sameas['attribute'];
193
+ } elseif( $sameas['sameas'] == 'attribute' ) {
194
+ $instance['attribute'] = $sameas['attribute'];
195
+ }
196
+ }
197
+ }
198
+ //CHECK WIDGET TYPES
199
+ list($berocket_admin_filter_types, $berocket_admin_filter_types_by_attr) = berocket_aapf_get_filter_types();
200
+ $select_options_variants = array();
201
+ if ( $instance['filter_type'] == 'tag' ) {
202
+ $select_options_variants = $berocket_admin_filter_types['tag'];
203
+ } else if ( $instance['filter_type'] == 'product_cat' || ( $instance['filter_type'] == 'custom_taxonomy' && ( $instance['custom_taxonomy'] == 'product_tag' || $instance['custom_taxonomy'] == 'product_cat' ) ) ) {
204
+ $select_options_variants = $berocket_admin_filter_types['product_cat'];
205
+ } else if ( $instance['filter_type'] == '_sale' || $instance['filter_type'] == '_stock_status' || $instance['filter_type'] == '_rating' ) {
206
+ $select_options_variants = $berocket_admin_filter_types['sale'];
207
+ } else if ( $instance['filter_type'] == 'custom_taxonomy' ) {
208
+ $select_options_variants = $berocket_admin_filter_types['custom_taxonomy'];
209
+ } else if ( $instance['filter_type'] == 'attribute' ) {
210
+ if ( $instance['attribute'] == 'price' ) {
211
+ $select_options_variants = $berocket_admin_filter_types['price'];
212
+ } else {
213
+ $select_options_variants = $berocket_admin_filter_types['attribute'];
214
+ }
215
+ } else if ( $instance['filter_type'] == 'filter_by' ) {
216
+ $select_options_variants = $berocket_admin_filter_types['filter_by'];
217
+ }
218
+ $selected = false;
219
+ $first = false;
220
+ foreach($select_options_variants as $select_options_variant) {
221
+ if( ! empty($berocket_admin_filter_types_by_attr[$select_options_variant]) ) {
222
+ if( $instance['type'] == $berocket_admin_filter_types_by_attr[$select_options_variant]['value'] ) {
223
+ $selected = true;
224
+ break;
225
+ }
226
+ if( $first === false ) {
227
+ $first = $berocket_admin_filter_types_by_attr[$select_options_variant]['value'];
228
+ }
229
+ }
230
+ }
231
+ if( ! $selected ) {
232
+ $instance['type'] = $first;
233
+ }
234
+ $widget_type_array = apply_filters( 'berocket_widget_widget_type_array', apply_filters( 'berocket_aapf_display_filter_type_list', array(
235
+ 'filter' => __('Filter', 'BeRocket_AJAX_domain'),
236
+ ) ) );
237
+ if( ! array_key_exists($instance['widget_type'], $widget_type_array) ) {
238
+ foreach($widget_type_array as $widget_type_id => $widget_type_name) {
239
+ $instance['widget_type'] = $widget_type_id;
240
+ break;
241
+ }
242
+ }
243
+ $instance['title'] = apply_filters( 'widget_title', empty($instance['title']) ? '' : $instance['title'], $instance );
244
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
245
+ $default_language = apply_filters( 'wpml_default_language', NULL );
246
+
247
+ global $wp_query, $wp_the_query, $wp, $sitepress, $br_wc_query;
248
+ if( ! isset( BeRocket_AAPF::$error_log['6_widgets'] ) )
249
+ {
250
+ BeRocket_AAPF::$error_log['6_widgets'] = array();
251
+ }
252
+ $widget_error_log = array();
253
+
254
+ $instance = array_merge( self::$defaults, $instance );
255
+ $instance = apply_filters('aapf_widget_instance', $instance);
256
+ $args = apply_filters('aapf_widget_args', $args);
257
+ if( ( $instance['user_can_see'] == 'logged' && ! is_user_logged_in() ) || ( $instance['user_can_see'] == 'not_logged' && is_user_logged_in() ) ) {
258
+ return false;
259
+ }
260
+
261
+ if( BeRocket_AAPF::$debug_mode ) {
262
+ $widget_error_log['wp_query'] = $wp_query;
263
+ $widget_error_log['args'] = $args;
264
+ $widget_error_log['instance'] = $instance;
265
+ }
266
+
267
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
268
+ if( ! empty($br_options['user_func']) && is_array( $br_options['user_func'] ) ) {
269
+ $user_func = array_merge( $BeRocket_AAPF->defaults['user_func'], $br_options['user_func'] );
270
+ } else {
271
+ $user_func = $BeRocket_AAPF->defaults['user_func'];
272
+ }
273
+
274
+ if( ! empty($br_options['filters_turn_off']) ) return false;
275
+
276
+ if( ! empty($instance['child_parent']) && in_array($instance['child_parent'], array('child', 'parent')) ) {
277
+ $br_options['show_all_values'] = true;
278
+ }
279
+
280
+ if ( isset ( $br_wc_query ) ) {
281
+ if( ! is_a($br_wc_query, 'WP_Query') ) {
282
+ $br_wc_query = new WP_Query( $br_wc_query );
283
+ }
284
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
285
+ $wc_query = wc()->query->get_main_query();
286
+ }
287
+ $old_query = $wp_query;
288
+ $old_the_query = $wp_the_query;
289
+ $wp_query = $br_wc_query;
290
+ $wp_the_query = $br_wc_query;
291
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
292
+ wc()->query->product_query($wp_query);
293
+ }
294
+ }
295
+
296
+ if ( empty($instance['br_wp_footer']) ) {
297
+ global $br_widget_ids;
298
+ if ( ! isset( $br_widget_ids ) ) {
299
+ $br_widget_ids = array();
300
+ }
301
+ $br_widget_ids[] = array('instance' => $instance, 'args' => $args);
302
+ }
303
+
304
+ extract( $args );
305
+ extract( $instance );
306
+
307
+ $text_before_price = apply_filters('aapf_widget_text_before_price', ( isset($text_before_price) ? $text_before_price : '' ) );
308
+ $text_after_price = apply_filters('aapf_widget_text_after_price', ( isset($text_after_price) ? $text_after_price : '' ) );
309
+ if( ! empty($text_before_price) || ! empty($text_after_price) ) {
310
+ $cur_symbol = get_woocommerce_currency_symbol();
311
+ $cur_slug = get_woocommerce_currency();
312
+ if( !empty($text_before_price) ) {
313
+ $text_before_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_before_price);
314
+ }
315
+ if( !empty($text_after_price) ) {
316
+ $text_after_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_after_price);
317
+ }
318
+ }
319
+
320
+ if ( empty($order_values_by) ) {
321
+ $order_values_by = 'Default';
322
+ }
323
+
324
+ if ( ! empty($filter_type) && ( $filter_type == 'product_cat' || $filter_type == '_stock_status' || $filter_type == '_sale' || $filter_type == '_rating' ) ) {
325
+ $attribute = $filter_type;
326
+ $filter_type = 'attribute';
327
+ }
328
+
329
+ if( empty($br_options['ajax_site']) ) {
330
+ do_action('br_footer_script');
331
+ } else {
332
+ echo '<script>jQuery(document).ready(function() {if(typeof(berocket_filters_first_load) == "function") {berocket_filters_first_load();}});</script>';
333
+ }
334
+ if( apply_filters( 'berocket_aapf_widget_display_custom_filter', false, berocket_isset($widget_type), $instance, $args, $this ) ) return '';
335
+
336
+ if( ! empty($widget_type) && $custom_type_html = apply_filters('berocket_aapf_display_filter_custom_type', '', $widget_type, array('options' => $instance, 'args' => $args)) ) {
337
+ if( $custom_type_html !== TRUE ) {
338
+ echo $before_widget;
339
+ echo $custom_type_html;
340
+ echo $after_widget;
341
+ }
342
+ $widget_error_log['return'] = $widget_type;
343
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
344
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
345
+ return '';
346
+ }
347
+
348
+ $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget_functions::woocommerce_hide_out_of_stock_items();
349
+ if( $woocommerce_hide_out_of_stock_items == 'yes' && $filter_type == 'attribute' && $attribute == '_stock_status' ) {
350
+ $widget_error_log['return'] = 'stock_status';
351
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
352
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
353
+ return true;
354
+ }
355
+
356
+ if( $type == "slider" ) {
357
+ $operator = 'OR';
358
+ }
359
+
360
+ $terms = $sort_terms = $price_range = array();
361
+ list($terms_error_return, $terms_ready, $terms, $type) = apply_filters( 'berocket_widget_attribute_type_terms', array(false, false, $terms, $type), $attribute, $filter_type, $instance );
362
+ if( $terms_ready ) {
363
+ if( $terms_error_return === FALSE ) {
364
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
365
+ if( BeRocket_AAPF::$debug_mode ) {
366
+ $widget_error_log['terms'] = $terms;
367
+ }
368
+ } else {
369
+ $widget_error_log['terms'] = $terms;
370
+ $widget_error_log['return'] = $terms_error_return;
371
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
372
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
373
+ return false;
374
+ }
375
+ } else {
376
+ if ( $filter_type == 'attribute' && $attribute == 'price' && $type == 'slider' ) {
377
+ if ( ! empty($price_values) ) {
378
+ $price_range = explode( ",", $price_values );
379
+ } elseif( $use_min_price && $use_max_price ) {
380
+ $price_range = array($min_price, $max_price);
381
+ } else {
382
+ $price_range = BeRocket_AAPF_Widget_functions::get_price_range( ( isset($cat_value_limit) ? $cat_value_limit : null ) );
383
+ if ( ! $price_range or count( $price_range ) < 2 ) {
384
+ $widget_error_log['price_range'] = $price_range;
385
+ $widget_error_log['return'] = 'price_range < 2';
386
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
387
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
388
+ return false;
389
+ }
390
+ }
391
+ if( BeRocket_AAPF::$debug_mode ) {
392
+ $widget_error_log['price_range'] = $price_range;
393
+ }
394
+ } elseif ( $filter_type != 'attribute' || $attribute != 'price' ) {
395
+ $get_terms_args = array(
396
+ 'taxonomy' => $attribute,
397
+ 'hide_empty' => true
398
+ );
399
+ $get_terms_advanced = array(
400
+ 'operator' => $operator
401
+ );
402
+ if( ! empty($cat_value_limit) ) {
403
+ $get_terms_advanced['additional_tax_query'] = array(
404
+ 'field' => 'slug',
405
+ 'include_children' => true,
406
+ 'operator' => 'IN',
407
+ 'taxonomy' => 'product_cat',
408
+ 'terms' => array($cat_value_limit)
409
+ );
410
+ }
411
+ if ( $attribute == '_rating' ) {
412
+ $get_terms_args['taxonomy'] = 'product_visibility';
413
+ $get_terms_args['slug'] = array('rated-1', 'rated-2', 'rated-3', 'rated-4', 'rated-5');
414
+ } elseif( $filter_type == 'tag' ) {
415
+ $get_terms_args['taxonomy'] = 'product_tag';
416
+ } elseif( $filter_type == 'custom_taxonomy' ) {
417
+ $get_terms_args['taxonomy'] = $custom_taxonomy;
418
+ } elseif( $filter_type == 'attribute' && $attribute == 'product_cat' ) {
419
+ $get_terms_advanced['depth'] = intval($depth_count);
420
+ if( ! empty($parent_product_cat_current) ) {
421
+ $cate = get_queried_object();
422
+ if( isset($cate->term_id) ) {
423
+ $cateID = $cate->term_id;
424
+ } else {
425
+ $cateID = 0;
426
+ }
427
+ $parent_product_cat = $cateID;
428
+ }
429
+ $get_terms_args['child_of'] = intval($parent_product_cat);
430
+ }
431
+ if( ! empty($order_values_by) && $order_values_by == 'Alpha' ) {
432
+ $get_terms_args['orderby'] = 'name';
433
+ } elseif( ! empty($order_values_by) && $order_values_by == 'Numeric' ) {
434
+ $get_terms_args['orderby'] = 'name_num';
435
+ }
436
+ if( ! empty($order_values_type) ) {
437
+ $get_terms_args['order'] = ($order_values_type == 'asc' ? 'ASC' : 'DESC');
438
+ }
439
+ $get_terms_args = apply_filters('berocket_aapf_get_terms_args', $get_terms_args, $instance, $args);
440
+ $get_terms_advanced = apply_filters('berocket_aapf_get_terms_additional', $get_terms_advanced, $instance, $args, $get_terms_args);
441
+ $terms = berocket_aapf_get_terms( $get_terms_args, $get_terms_advanced );
442
+ if ( $attribute == '_rating' ) {
443
+ if( is_array($terms) && ! is_wp_error($terms) ) {
444
+ $rating_names = array(
445
+ 'rated-1' => ( $type == 'select' ? __('1 star', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') ),
446
+ 'rated-2' => ( $type == 'select' ? __('2 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') ),
447
+ 'rated-3' => ( $type == 'select' ? __('3 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') ),
448
+ 'rated-4' => ( $type == 'select' ? __('4 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') ),
449
+ 'rated-5' => ( $type == 'select' ? __('5 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i>', 'BeRocket_AJAX_domain') ),
450
+ );
451
+ foreach($terms as &$term) {
452
+ if( isset($rating_names[$term->slug]) ) {
453
+ $term->name = $rating_names[$term->slug];
454
+ }
455
+ }
456
+ }
457
+ }
458
+ $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance, $get_terms_args, $get_terms_advanced);
459
+ if ( isset($terms) && is_array($terms) && count( $terms ) < 1 ) {
460
+ $widget_error_log['terms'] = $terms;
461
+ $widget_error_log['return'] = 'terms < 1';
462
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
463
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
464
+ return false;
465
+ }
466
+ $set_query_var_title['terms'] = $terms;
467
+ }
468
+ }
469
+
470
+ $style = $class = '';
471
+ $style = br_get_value_from_array($args, 'widget_inline_style');
472
+ if( ! empty($height) and $height != 'auto' ){
473
+ $style .= "max-height: {$height}px; overflow: hidden;";
474
+ $class = "berocket_aapf_widget_height_control";
475
+ }
476
+
477
+ if( !$scroll_theme ) $scroll_theme = 'dark';
478
+ if( $filter_type == 'custom_taxonomy' )
479
+ $attribute = $custom_taxonomy;
480
+ if( ! isset($attribute_count) || $attribute_count == '' ) {
481
+ $attribute_count = br_get_value_from_array($br_options,'attribute_count');
482
+ }
483
+
484
+ if( $type == 'select' || $type == 'slider' ) {
485
+ $values_per_row = 1;
486
+ }
487
+
488
+ $set_query_var_title['operator'] = $operator;
489
+ $set_query_var_title['attribute'] = $attribute;
490
+ $set_query_var_title['type'] = $type;
491
+ $set_query_var_title['title'] = apply_filters( 'berocket_aapf_widget_title', $title );
492
+ $set_query_var_title['class'] = apply_filters( 'berocket_aapf_widget_class', $class );
493
+ $set_query_var_title['css_class'] = apply_filters( 'berocket_aapf_widget_css_class', (isset($css_class) ? $css_class : '') );
494
+ $set_query_var_title['style'] = apply_filters( 'berocket_aapf_widget_style', $style );
495
+ $set_query_var_title['scroll_theme'] = $scroll_theme;
496
+ $set_query_var_title['x'] = time();
497
+ $set_query_var_title['filter_type'] = $filter_type;
498
+ $set_query_var_title['uo'] = br_aapf_converter_styles( (empty($br_options['styles']) ? '' : $br_options['styles']) );
499
+ $set_query_var_title['notuo'] = (empty($br_options['styles']) ? '' : $br_options['styles']);
500
+ $set_query_var_title['widget_is_hide'] = (! empty($widget_collapse_enable) && ! empty($widget_is_hide));
501
+ $set_query_var_title['widget_collapse_disable'] = empty($widget_collapse_enable);
502
+ $set_query_var_title['is_hide_mobile'] = ! empty($is_hide_mobile);
503
+ $set_query_var_title['show_product_count_per_attr'] = ! empty($show_product_count_per_attr);
504
+ $set_query_var_title['hide_child_attributes'] = ! empty($hide_child_attributes);
505
+ $set_query_var_title['cat_value_limit'] = ( isset($cat_value_limit) ? $cat_value_limit : null );
506
+ $set_query_var_title['select_first_element_text'] = ( empty($select_first_element_text) ? __('Any', 'BeRocket_AJAX_domain') : $select_first_element_text );
507
+ $set_query_var_title['icon_before_title'] = (isset($icon_before_title) ? $icon_before_title : null);
508
+ $set_query_var_title['icon_after_title'] = (isset($icon_after_title) ? $icon_after_title : null);
509
+ $set_query_var_title['hide_o_value'] = ! empty($br_options['hide_value']['o']);
510
+ $set_query_var_title['hide_sel_value'] = ! empty($br_options['hide_value']['sel']);
511
+ $set_query_var_title['hide_empty_value'] = ! empty($br_options['hide_value']['empty']);
512
+ $set_query_var_title['hide_button_value'] = ! empty($br_options['hide_value']['button']);
513
+ $set_query_var_title['attribute_count_show_hide'] = berocket_isset($attribute_count_show_hide);
514
+ $set_query_var_title['attribute_count'] = $attribute_count;
515
+ $set_query_var_title['description'] = (isset($description) ? $description : null);
516
+ $set_query_var_title['hide_collapse_arrow'] = (empty($widget_collapse_enable) || ! empty($hide_collapse_arrow));
517
+ $set_query_var_title['values_per_row'] = (isset($values_per_row) ? $values_per_row : null);
518
+ $set_query_var_title['child_parent'] = (isset($child_parent) ? $child_parent : null);
519
+ $set_query_var_title['child_parent_depth'] = (isset($child_parent_depth) ? $child_parent_depth : null);
520
+ $set_query_var_title['product_count_style'] = (isset($br_options['styles_input']['product_count']) ? $br_options['styles_input']['product_count'] : '').'pcs '.(isset($br_options['styles_input']['product_count_position']) ? $br_options['styles_input']['product_count_position'] : null).'pcs';
521
+ $set_query_var_title['styles_input'] = (isset($br_options['styles_input']) ? $br_options['styles_input'] : array());
522
+ $set_query_var_title['child_parent_previous'] = (isset($child_parent_previous) ? $child_parent_previous : null);
523
+ $set_query_var_title['child_parent_no_values'] = (isset($child_parent_no_values) ? $child_parent_no_values : null);
524
+ $set_query_var_title['child_parent_no_products'] = (isset($child_parent_no_products) ? $child_parent_no_products : null);
525
+ $set_query_var_title['before_title'] = (isset($before_title) ? $before_title : null);
526
+ $set_query_var_title['after_title'] = (isset($after_title) ? $after_title : null);
527
+ $set_query_var_title['widget_id'] = ( $this->id ? $this->id : $widget_id );
528
+ $set_query_var_title['widget_id_number'] = ( $this->number ? $this->number : $widget_id_number );
529
+ $set_query_var_title['slug_urls'] = ! empty($br_options['slug_urls']);
530
+ $set_query_var_title['first_page_jump'] = ( empty($first_page_jump) ? '' : $first_page_jump );
531
+ $set_query_var_title['icon_before_value'] = (isset($icon_before_value) ? $icon_before_value : null);
532
+ $set_query_var_title['icon_after_value'] = (isset($icon_after_value) ? $icon_after_value : null);
533
+ $set_query_var_title = apply_filters('berocket_aapf_query_var_title_filter', $set_query_var_title, $instance, $br_options);
534
+ set_query_var( 'berocket_query_var_title', $set_query_var_title );
535
+
536
+ // widget title and start tag ( <ul> ) can be found in templates/widget_start.php
537
+ echo $before_widget;
538
+ do_action('berocket_aapf_widget_before_start');
539
+ br_get_template_part('widget_start');
540
+ do_action('berocket_aapf_widget_after_start');
541
+
542
+ if ( $type == 'tag_cloud' ) {
543
+ $tag_script_var = array(
544
+ 'height' => $tag_cloud_height,
545
+ 'min_font_size' => $tag_cloud_min_font,
546
+ 'max_font_size' => $tag_cloud_max_font,
547
+ 'tags_count' => $tag_cloud_tags_count,
548
+ 'tags_type' => $tag_cloud_type
549
+ );
550
+ $set_query_var_title['tag_script_var'] = $tag_script_var;
551
+ } elseif ( $type == 'color' || $type == 'image' ) {
552
+ $set_query_var_title['use_value_with_color'] = (isset($use_value_with_color) ? $use_value_with_color : null);
553
+ $set_query_var_title['disable_multiple'] = (isset($disable_multiple) ? $disable_multiple : null);
554
+ $set_query_var_title['color_image_block_size'] = berocket_isset($color_image_block_size, false, 'h2em w2em');
555
+ $set_query_var_title['color_image_checked'] = berocket_isset($color_image_checked, false, 'brchecked_default');
556
+ $set_query_var_title['color_image_checked_custom_css'] = berocket_isset($color_image_checked_custom_css);
557
+ $set_query_var_title['color_image_block_size_height'] = berocket_isset($color_image_block_size_height);
558
+ $set_query_var_title['color_image_block_size_width'] = berocket_isset($color_image_block_size_width);
559
+ } elseif( $type == 'select' ) {
560
+ $set_query_var_title['select_multiple'] = ! empty($select_multiple);
561
+ }
562
+ set_query_var( 'berocket_query_var_title', apply_filters('berocket_query_var_title_before_widget', $set_query_var_title, $type, $instance, $args, $terms));
563
+ br_get_template_part( apply_filters('berocket_widget_load_template_name', $type, $instance, (empty($terms) ? '' : $terms)) );
564
+
565
+ do_action('berocket_aapf_widget_before_end');
566
+ br_get_template_part('widget_end');
567
+ do_action('berocket_aapf_widget_after_end');
568
+ echo $after_widget;
569
+ if( BeRocket_AAPF::$debug_mode ) {
570
+ $widget_error_log['terms'] = (isset($terms) ? $terms : null);
571
+ }
572
+ $widget_error_log['return'] = 'OK';
573
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
574
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
575
+ }
576
+
577
+ public static function restore_wp_the_query(&$br_wc_query, &$wp_the_query, &$wp_query, &$wc_query, &$old_the_query, &$old_query) {
578
+ if ( isset ( $br_wc_query ) ) {
579
+ if ( isset ( $old_query ) ) {
580
+ $wp_the_query = $old_the_query;
581
+ $wp_query = $old_query;
582
+ }
583
+ if( ! empty($wc_query) && is_a($wc_query, 'WP_Query') && class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
584
+ wc()->query->product_query($wc_query);
585
+ }
586
+ wc()->query->remove_ordering_args();
587
+ }
588
+ }
589
+ //DEPRECATED SOON
590
+ function update( $new_instance, $old_instance ) {
591
+ return $old_instance;
592
+ }
593
+ function form( $instance ) {
594
+ include AAPF_TEMPLATE_PATH . "admin.php";
595
+ }
596
+ }
includes/filters/get_terms.php ADDED
@@ -0,0 +1,312 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class BeRocket_AAPF_get_terms {
3
+ public static $init = false;
4
+ public static $md5_taxonomies = array();
5
+ public static $cache_time = 12 * HOUR_IN_SECONDS;
6
+ public static $prepared_data = array();
7
+ public static $cached_values = array();
8
+ function __construct() {
9
+ if( ! self::$init ) {
10
+ self::$init = true;
11
+ add_filter("berocket_aapf_get_terms_filter", array(__CLASS__, 'additional_sort'), 20, 3);
12
+ add_filter("berocket_aapf_get_terms_filter", array(__CLASS__, 'hierarchical_sort'), 30, 3);
13
+ add_filter("berocket_aapf_get_terms_filter", array(__CLASS__, 'depth_clear'), 40, 3);
14
+ add_action('br_aapf_args_converter_after', array($this, 'br_aapf_args_converter_after'));
15
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
16
+ $option = $BeRocket_AAPF->get_option();
17
+ add_filter('berocket_aapf_get_terms_filter_after', array(__CLASS__, 'prepared_data'), 1, 3);
18
+ if( ! empty($option['recount_hide']) && $option['recount_hide'] != 'disable' ) {
19
+ if( in_array($option['recount_hide'], array('removeFirst', 'removeFirst_recount')) ) {
20
+ add_filter("berocket_aapf_filter_terms_for_current_page", array(__CLASS__, 'show_all_values'), 10, 3);
21
+ }
22
+ add_filter("berocket_aapf_get_terms_filter_after", array(__CLASS__, 'hide_empty'), (in_array($option['recount_hide'], array('removeRecount')) ? 35 : 15), 3);
23
+ if( in_array(br_get_value_from_array($option,'recount_hide'), array('recount', 'removeRecount'))
24
+ || (in_array(br_get_value_from_array($option,'recount_hide'), array('removeFirst_recount')) && ( ! empty($option['out_of_stock_variable_reload']) && ! empty($option['out_of_stock_variable']) ) ) ) {
25
+ add_filter("berocket_aapf_get_terms_filter_after", array(__CLASS__, 'recount_products'), 30, 3);
26
+ }
27
+ }
28
+ }
29
+ }
30
+ public function br_aapf_args_converter_after() {
31
+ global $wp_query;
32
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
33
+ $option = $BeRocket_AAPF->get_option();
34
+ if( ! empty($option['recount_hide']) ) {
35
+ if( (apply_filters( 'berocket_aapf_is_filtered_page_check', ! empty($_GET['filters']), 'get_filter_args', $wp_query )
36
+ || is_filtered()
37
+ ) && in_array($option['recount_hide'], array('removeFirst_recount')) ) {
38
+ add_filter("berocket_aapf_get_terms_filter_after", array(__CLASS__, 'recount_products'), 30, 3);
39
+ }
40
+ }
41
+ }
42
+ public static function get_terms($args = array(), $additional = array()) {
43
+ $args = apply_filters('berocket_aapf_get_terms_class_args', $args, $additional);
44
+ $additional = apply_filters('berocket_aapf_get_terms_class_additional', array_merge(array(
45
+ 'hierarchical' => true,
46
+ 'tax_query_limit' => array(),
47
+ 'meta_query_limit' => array(),
48
+ 'depth' => 0,
49
+ 'operator' => 'OR',
50
+ 'additional_tax_query' => false,
51
+ ), $additional), $args);
52
+ if( empty($args['taxonomy']) || is_array($args['taxonomy']) ) {
53
+ return get_terms($args);
54
+ }
55
+ $terms = self::filter_terms_for_current_pages($args, $additional);
56
+ if( empty($terms) || is_wp_error($terms) || empty($args['taxonomy']) || is_array($args['taxonomy']) ) {
57
+ return $terms;
58
+ }
59
+ $terms = apply_filters("berocket_aapf_get_terms_filter_after", $terms, $args, $additional);
60
+ return $terms;
61
+ }
62
+ public static function get_terms_for_all_pages($args = array(), $additional = array()) {
63
+ $md5_cache = md5(json_encode($additional).json_encode($args));
64
+ $terms = self::get_cache('term_before_recount', $md5_cache, $args['taxonomy']);
65
+ if( empty($terms) ) {
66
+ $terms = get_terms($args);
67
+ if( ! empty($terms) && ! is_wp_error($terms) ) {
68
+ $terms = apply_filters("berocket_aapf_get_terms_filter", $terms, $args, $additional);
69
+ }
70
+ self::set_cache('term_before_recount', $terms, $md5_cache, $args['taxonomy']);
71
+ }
72
+ return $terms;
73
+ }
74
+ public static function filter_terms_for_current_pages($args = array(), $additional = array()) {
75
+ $md5_cache = md5(json_encode($additional).json_encode($args));
76
+ $terms = self::get_cache('term_after_recount' . self::get_page_text(), $md5_cache, $args['taxonomy']);
77
+ if( empty($terms) ) {
78
+ $terms = self::get_terms_for_all_pages($args, $additional);
79
+ $terms = apply_filters('berocket_aapf_filter_terms_for_current_page', $terms, $args, $additional);
80
+ self::set_cache('term_after_recount' . self::get_page_text(), $terms, $md5_cache, $args['taxonomy']);
81
+ }
82
+ return $terms;
83
+ }
84
+ public static function additional_sort($terms, $args = array(), $additional = array()) {
85
+ if( ! empty($additional['orderby']) ) {
86
+ if( $additional['orderby'] == 'name_numeric_full' ) {
87
+ $array_sort = array();
88
+ foreach($terms as $term) {
89
+ $array_sort[] = floatval($term->name);
90
+ }
91
+ array_multisort($array_sort, SORT_ASC, SORT_NUMERIC, $terms);
92
+ }
93
+ }
94
+ return $terms;
95
+ }
96
+ public static function hierarchical_sort($terms, $args = array(), $additional = array()) {
97
+ $taxonomy_object = get_taxonomy($args['taxonomy']);
98
+ if( empty($additional['hierarchical']) || empty($taxonomy_object->hierarchical) ) {
99
+ return $terms;
100
+ }
101
+ $sorts = array_column($terms, 'parent', 'term_id');
102
+ $array_sort = array_flip(array_keys($sorts));
103
+ $sorts = array_reverse($sorts, true);
104
+ $terms_sorted = array();
105
+ do{
106
+ $moved = false;
107
+ foreach($sorts as $term_id => $parent_id) {
108
+ if( $parent_id == 0 || $parent_id == berocket_isset($args['child_of']) ) {
109
+ $terms_sorted = array($term_id => 0) + $terms_sorted;
110
+ $moved = true;
111
+ unset($sorts[$term_id]);
112
+ } elseif(isset($terms_sorted[$parent_id])) {
113
+ $terms_sorted = berocket_aapf_insert_to_array($terms_sorted, $parent_id, array($term_id => ($terms_sorted[$parent_id] + 1)));
114
+ $moved = true;
115
+ unset($sorts[$term_id]);
116
+ }
117
+ }
118
+ }while(count($sorts) && $moved);
119
+ if( count($sorts) ) {
120
+ $sorts = array_reverse($sorts, true);
121
+ foreach($sorts as $term_id => $parent) {
122
+ $terms_sorted[$term_id] = 0;
123
+ unset($sorts[$term_id]);
124
+ }
125
+ }
126
+ $array_new_sort = array_flip(array_keys($terms_sorted));
127
+ foreach($array_sort as $term_id => &$sort_number) {
128
+ $sort_number = (isset($array_new_sort[$term_id]) ? $array_new_sort[$term_id] : 999999999);
129
+ }
130
+ foreach($terms as &$term) {
131
+ $term->depth = (isset($terms_sorted[$term->term_id]) ? $terms_sorted[$term->term_id] : 0);
132
+ }
133
+ array_multisort($array_sort, SORT_ASC, SORT_NUMERIC, $terms);
134
+ return $terms;
135
+ }
136
+ public static function depth_clear($terms, $args = array(), $additional = array()) {
137
+ $taxonomy_object = get_taxonomy($args['taxonomy']);
138
+ if( empty($additional['hierarchical']) || empty($taxonomy_object->hierarchical) ) {
139
+ return $terms;
140
+ }
141
+ if( ! empty($additional['depth']) && intval($additional['depth']) ) {
142
+ foreach($terms as $i => $term) {
143
+ if( isset($term->depth) && $term->depth >= $additional['depth'] ) {
144
+ unset($terms[$i]);
145
+ }
146
+ }
147
+ }
148
+ return $terms;
149
+ }
150
+ public static function prepared_data($terms, $args = array(), $additional = array()) {
151
+ if( ! isset(self::$prepared_data['wc_query_data']) ) {
152
+ self::$prepared_data['wc_query_data'] = array();
153
+ }
154
+ if( ! isset(self::$prepared_data['wc_query_data']['post__in']) || ! isset(self::$prepared_data['wc_query_data']['post__not_in']) ) {
155
+ global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
156
+
157
+ $post__in = ( isset($wp_query->query_vars['post__in']) ? $wp_query->query_vars['post__in'] : array() );
158
+ if (
159
+ ! empty( $br_wc_query ) and
160
+ ! empty( $br_wc_query->query ) and
161
+ isset( $br_wc_query->query['post__in'] ) and
162
+ is_array( $br_wc_query->query['post__in'] )
163
+ ) {
164
+ $post__in = array_merge( $post__in, $br_wc_query->query[ 'post__in' ] );
165
+ }
166
+
167
+ if( empty($post__in) || ! is_array($post__in) || count($post__in) == 0 ) {
168
+ $post__in = false;
169
+ }
170
+ $post__not_in = ( isset($wp_query->query_vars['post__not_in']) ? $wp_query->query_vars['post__not_in'] : array() );
171
+ if( empty($post__not_in) || ! is_array($post__not_in) || count($post__not_in) == 0 ) {
172
+ $post__not_in = false;
173
+ }
174
+ global $braapf_not_filtered_data;
175
+ if( isset($braapf_not_filtered_data['post__not_in']) ) {
176
+ $post__not_in = $braapf_not_filtered_data['post__not_in'];
177
+ }
178
+ self::$prepared_data['wc_query_data']['post__in'] = apply_filters('berocket_aapf_get_attribute_values_post__in_outside', $post__in);
179
+ self::$prepared_data['wc_query_data']['post__not_in'] = apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', $post__not_in);
180
+ remove_filter('berocket_aapf_get_terms_filter_after', array(__CLASS__, 'prepared_data'), 1, 3);
181
+ }
182
+ return $terms;
183
+ }
184
+ public static function show_all_values($terms, $args = array(), $additional = array()) {
185
+ $post__in = berocket_isset(self::$prepared_data['wc_query_data']['post__in'], false);
186
+ $post__not_in = berocket_isset(self::$prepared_data['wc_query_data']['post__not_in'], false);
187
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, array(
188
+ 'taxonomy' => $args['taxonomy'],
189
+ 'operator' => $additional['operator'],
190
+ 'use_filters' => FALSE,
191
+ 'post__not_in' => $post__not_in,
192
+ 'post__in' => $post__in,
193
+ 'additional_tax_query' => $additional['additional_tax_query']
194
+ ));
195
+ if( empty($terms) || ! is_array($terms) ) {
196
+ $terms = array();
197
+ }
198
+ return $terms;
199
+ }
200
+ public static function hide_empty($terms, $args = array(), $additional = array()) {
201
+ foreach($terms as $term_id => $term) {
202
+ if( $term->count == 0 ) {
203
+ unset($terms[$term_id]);
204
+ }
205
+ }
206
+ return $terms;
207
+ }
208
+ public static function recount_products($terms, $args = array(), $additional = array()) {
209
+ $post__in = self::$prepared_data['wc_query_data']['post__in'];
210
+ $post__not_in = self::$prepared_data['wc_query_data']['post__not_in'];
211
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, array(
212
+ 'taxonomy' => $args['taxonomy'],
213
+ 'operator' => $additional['operator'],
214
+ 'use_filters' => TRUE,
215
+ 'post__not_in' => $post__not_in,
216
+ 'post__in' => $post__in,
217
+ 'additional_tax_query' => $additional['additional_tax_query']
218
+ ));
219
+ return $terms;
220
+ }
221
+ public static function get_cache_option($name) {
222
+ if( ! isset(self::$cached_values[$name]) ) {
223
+ self::$cached_values[$name] = get_option($name);
224
+ }
225
+ return (empty(self::$cached_values[$name]) ? false : self::$cached_values[$name]);
226
+ }
227
+ public static function save_cache() {
228
+ foreach(self::$cached_values as $name => $values) {
229
+ update_option($name, $values, false);
230
+ }
231
+ }
232
+ public static function get_cache($name, $md5_cache, $taxonomy) {
233
+ return false;
234
+ $value = false;
235
+ $name = apply_filters('br_aapf_md5_cache_text', 'berocket_aapf_cache_' . $name);
236
+ $md5_cache = apply_filters('BRaapf_cache_check_md5', $md5_cache, 'br_generate_child_relation', $taxonomy);
237
+ $newmd5 = self::get_md5_taxonomy($taxonomy);
238
+ $values = self::get_cache_option($name);
239
+ if( ! empty($values) && ! empty($values['values']) && berocket_isset($values['time']) > (time() - self::$cache_time) ) {
240
+ $values_md5 = $values['values'];
241
+ if( isset($values_md5[$md5_cache]) && berocket_isset($values_md5[$md5_cache]['md5']) == $newmd5 ) {
242
+ $value = $values_md5[$md5_cache]['value'];
243
+ }
244
+ }
245
+ return $value;
246
+ }
247
+ public static function set_cache($name, $value, $md5_cache, $taxonomy) {
248
+ return false;
249
+ $name = apply_filters('br_aapf_md5_cache_text', 'berocket_aapf_cache_' . $name);
250
+ $md5_cache = apply_filters('BRaapf_cache_check_md5', $md5_cache, 'br_generate_child_relation', $taxonomy);
251
+ $newmd5 = self::get_md5_taxonomy($taxonomy);
252
+ $values = self::get_cache_option($name);
253
+ if( empty($values) || berocket_isset($values['time']) <= (time() - self::$cache_time) ) {
254
+ $values = array(
255
+ 'time' => time(),
256
+ 'values'=> array()
257
+ );
258
+ }
259
+ $values['values'][$md5_cache] = array(
260
+ 'value' => $value,
261
+ 'md5' => $newmd5
262
+ );
263
+ self::$cached_values[$name] = $values;
264
+ add_action('wp_footer', array(__CLASS__, 'save_cache'), 999999);
265
+ return $values;
266
+ }
267
+ public static function get_md5_taxonomy($taxonomy) {
268
+ if( ! isset(self::$md5_taxonomies[$taxonomy]) ) {
269
+ global $wpdb;
270
+ $newmd5 = $wpdb->get_var(
271
+ $wpdb->prepare(
272
+ "SELECT MD5(GROUP_CONCAT(CONCAT(t.slug, t.term_id, tt.parent, tt.count))) FROM {$wpdb->terms} AS t
273
+ INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id
274
+ WHERE tt.taxonomy IN (%s)",
275
+ $taxonomy
276
+ )
277
+ );
278
+ self::$md5_taxonomies[$taxonomy] = $newmd5;
279
+ }
280
+ return self::$md5_taxonomies[$taxonomy];
281
+ }
282
+ public static function get_page_text() {
283
+ global $wp_query;
284
+ $text = '';
285
+ $object_id = $wp_query->get_queried_object_id();
286
+ if( $object_id == 0 ) {
287
+ if( is_shop() ) {
288
+ $text = 'shop';
289
+ } elseif( is_home() ) {
290
+ $text = 'home';
291
+ } else {
292
+ $text = 'other';
293
+ }
294
+ } else {
295
+ if ( $wp_query->is_category || $wp_query->is_tag || $wp_query->is_tax ) {
296
+ $text = 'taxonomy' . $object_id;
297
+ } elseif( $wp_query->is_post_type_archive ) {
298
+ $text = 'archive' . $object_id;
299
+ } elseif( $wp_query->is_posts_page || ($wp_query->is_singular && ! empty( $wp_query->post )) ) {
300
+ $text = 'post' . $object_id;
301
+ } else {
302
+ $text = 'other' . $object_id;
303
+ }
304
+ }
305
+ return $text;
306
+ }
307
+ }
308
+ if( ! function_exists('berocket_aapf_get_terms') ) {
309
+ function berocket_aapf_get_terms($args = array(), $additional = array()) {
310
+ return BeRocket_AAPF_get_terms::get_terms($args, $additional);
311
+ }
312
+ }
includes/functions.php CHANGED
@@ -20,7 +20,21 @@ if( ! function_exists( 'br_set_value_to_array' ) ){
20
  return $arr;
21
  }
22
  }
23
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  if( ! function_exists( 'berocket_aapf_insert_to_array' ) ){
25
  function berocket_aapf_insert_to_array($array, $key_in_array, $array_to_insert, $before = false) {
26
  $position = array_search($key_in_array, array_keys($array), true);
@@ -235,7 +249,7 @@ if ( ! function_exists( 'br_get_selected_term' ) ) {
235
  $terms = get_terms( $v[0] );
236
 
237
  $wc_order_by = wc_attribute_orderby( $v[0] );
238
- BeRocket_AAPF_Widget::sort_terms( $terms, array(
239
  "wc_order_by" => $wc_order_by,
240
  "order_values_by" => '',
241
  "filter_type" => 'attribute',
@@ -561,56 +575,78 @@ if( ! function_exists( 'br_aapf_args_converter' ) ) {
561
  list( $attribute, $value ) = explode( "[", trim( preg_replace( "~\]~", "", $filter) ), 2 );
562
  $attribute = berocket_wpml_attribute_untranslate($attribute);
563
  $value = html_entity_decode($value);
564
- if( term_exists( sanitize_title($value), 'pa_'.$attribute ) ) {
565
- $value = array($value);
566
- $operator = 'OR';
 
 
 
 
 
 
 
567
  } elseif ( preg_match( "~\*~", $value ) ) {
568
- $value = explode( "-", $value );
569
  } elseif ( preg_match( "~\+~", $value ) ) {
570
- $value = explode( "+", $value );
571
- $operator = 'AND';
572
  } elseif ( preg_match( "~\-~", $value ) ) {
573
- $value = explode( "-", $value );
574
- if( ! empty($br_options['slug_urls']) && $attribute != '_stock_status' && $attribute != '_sale' ) {
575
- $values = array();
576
- for ( $i = 0; $i < count( $value) ; $i++ ) {
577
- $values[ $i ] = urldecode( $value[ $i ] );
578
- }
 
 
 
 
 
 
579
 
580
- $value = array();
581
- $attribute_check = $attribute;
582
- if( $attribute == '_rating' ) {
583
- $attribute_check = 'product_visibility';
584
- }
585
- for ( $i = 0; $i < count( $values ); $i++ ) {
586
- $cur_value = $values;
587
- for ( $ii = count( $values ); $ii > 0; $ii-- ) {
588
- if ( ! term_exists( implode( '-', $cur_value ), $attribute_check ) && ! term_exists( implode( '-', $cur_value ), 'pa_' . $attribute_check ) ) {
589
- array_pop( $cur_value );
590
- if ( ! $cur_value ) {
591
- break 2;
 
 
 
 
 
592
  }
593
- } else {
594
- $value[] = implode( '-', array_splice( $values, 0, count( $cur_value ) ) );
595
- $i = - 1;
596
- break;
597
  }
598
  }
599
  }
600
- }
601
- $operator = 'OR';
602
- } elseif ( preg_match( "~\_~", $value ) ) {
603
- list( $min, $max ) = explode( "_", $value );
604
- if( $attribute == '_date' ) {
605
- $min = substr($min, 0, 2).'/'.substr($min, 2, 2).'/'.substr($min, 4, 4);
606
- $max = substr($max, 0, 2).'/'.substr($max, 2, 2).'/'.substr($max, 4, 4);
607
- }
608
- $operator = '';
609
- } else {
610
- $value = explode( " ", $value );
611
- $operator = 'OR';
 
 
 
 
 
 
 
 
 
612
  }
613
- }else{
614
  list( $attribute, $value ) = explode( "-", $filter, 2 );
615
  }
616
 
@@ -749,7 +785,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
749
  ),
750
  ),
751
  "selectbox" => array(
752
- "name" => __("Select-box", 'BeRocket_AJAX_domain'),
753
  "has" => array(
754
  "color" => false,
755
  "bold" => false,
@@ -785,7 +821,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
785
  ),
786
  ),
787
  "description_border" => array(
788
- "name" => __("Description Border", 'BeRocket_AJAX_domain'),
789
  "has" => array(
790
  "color" => true,
791
  "bold" => false,
@@ -797,7 +833,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
797
  ),
798
  ),
799
  "description_title" => array(
800
- "name" => __("Description Title Text", 'BeRocket_AJAX_domain'),
801
  "has" => array(
802
  "color" => true,
803
  "bold" => true,
@@ -809,7 +845,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
809
  ),
810
  ),
811
  "description_text" => array(
812
- "name" => __("Description Text", 'BeRocket_AJAX_domain'),
813
  "has" => array(
814
  "color" => true,
815
  "bold" => true,
@@ -833,7 +869,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
833
  ),
834
  ),
835
  "selected_area_hover" => array(
836
- "name" => __("Selected filters mouse over text", 'BeRocket_AJAX_domain'),
837
  "has" => array(
838
  "color" => true,
839
  "bold" => true,
@@ -845,7 +881,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
845
  ),
846
  ),
847
  "selected_area_block" => array(
848
- "name" => __("Selected filters link background", 'BeRocket_AJAX_domain'),
849
  "has" => array(
850
  "color" => true,
851
  "bold" => false,
@@ -857,7 +893,7 @@ if ( ! function_exists( 'br_aapf_get_styled' ) ) {
857
  ),
858
  ),
859
  "selected_area_border" => array(
860
- "name" => __("Selected filters link border", 'BeRocket_AJAX_domain'),
861
  "has" => array(
862
  "color" => true,
863
  "bold" => false,
20
  return $arr;
21
  }
22
  }
23
+ if( ! function_exists('braapf_filters_must_be_recounted') ) {
24
+ function braapf_filters_must_be_recounted($type = 'different') {
25
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
26
+ $br_options = $BeRocket_AAPF->get_option();
27
+ if( $type === 'different' ) {
28
+ return in_array(br_get_value_from_array($br_options, 'recount_hide'), array('recount', 'removeFirst_recount', 'removeRecount'));
29
+ } elseif( $type === 'first' ) {
30
+ return in_array(br_get_value_from_array($br_options, 'recount_hide'), array('removeFirst', 'removeFirst_recount', 'removeRecount'));
31
+ } elseif( $type === 'none' ) {
32
+ return ( ! br_get_value_from_array($br_options, 'recount_hide') || br_get_value_from_array($br_options, 'recount_hide') !== 'disable' );
33
+ } else {
34
+ return ( br_get_value_from_array($br_options, 'recount_hide') && br_get_value_from_array($br_options, 'recount_hide') !== 'disable' );
35
+ }
36
+ }
37
+ }
38
  if( ! function_exists( 'berocket_aapf_insert_to_array' ) ){
39
  function berocket_aapf_insert_to_array($array, $key_in_array, $array_to_insert, $before = false) {
40
  $position = array_search($key_in_array, array_keys($array), true);
249
  $terms = get_terms( $v[0] );
250
 
251
  $wc_order_by = wc_attribute_orderby( $v[0] );
252
+ BeRocket_AAPF_Widget_functions::sort_terms( $terms, array(
253
  "wc_order_by" => $wc_order_by,
254
  "order_values_by" => '',
255
  "filter_type" => 'attribute',
575
  list( $attribute, $value ) = explode( "[", trim( preg_replace( "~\]~", "", $filter) ), 2 );
576
  $attribute = berocket_wpml_attribute_untranslate($attribute);
577
  $value = html_entity_decode($value);
578
+
579
+ $braapf_sliders = br_get_value_from_array($_SESSION, 'braapf_sliders');
580
+ if( ! is_array($braapf_sliders) ) {
581
+ $braapf_sliders = array();
582
+ }
583
+ $parse_type = 'default';
584
+ if( (! empty($braapf_sliders['pa_'.$attribute]) || ! empty($braapf_sliders[$attribute])) && preg_match( "~\_~", $value ) ) {
585
+ $parse_type = 'slider';
586
+ } elseif( term_exists( sanitize_title($value), 'pa_'.$attribute ) ) {
587
+ $parse_type = 'or';
588
  } elseif ( preg_match( "~\*~", $value ) ) {
589
+ $parse_type = 'price_range';
590
  } elseif ( preg_match( "~\+~", $value ) ) {
591
+ $parse_type = 'and';
 
592
  } elseif ( preg_match( "~\-~", $value ) ) {
593
+ $parse_type = 'or';
594
+ } elseif ( preg_match( "~\_~", $value ) ) {
595
+ $parse_type = 'slider';
596
+ }
597
+ switch($parse_type) {
598
+ case 'or':
599
+ $value = explode( "-", $value );
600
+ if( ! empty($br_options['slug_urls']) && $attribute != '_stock_status' && $attribute != '_sale' ) {
601
+ $values = array();
602
+ for ( $i = 0; $i < count( $value) ; $i++ ) {
603
+ $values[ $i ] = urldecode( $value[ $i ] );
604
+ }
605
 
606
+ $value = array();
607
+ $attribute_check = $attribute;
608
+ if( $attribute == '_rating' ) {
609
+ $attribute_check = 'product_visibility';
610
+ }
611
+ for ( $i = 0; $i < count( $values ); $i++ ) {
612
+ $cur_value = $values;
613
+ for ( $ii = count( $values ); $ii > 0; $ii-- ) {
614
+ if ( ! term_exists( implode( '-', $cur_value ), $attribute_check ) && ! term_exists( implode( '-', $cur_value ), 'pa_' . $attribute_check ) ) {
615
+ array_pop( $cur_value );
616
+ if ( ! $cur_value ) {
617
+ break 2;
618
+ }
619
+ } else {
620
+ $value[] = implode( '-', array_splice( $values, 0, count( $cur_value ) ) );
621
+ $i = - 1;
622
+ break;
623
  }
 
 
 
 
624
  }
625
  }
626
  }
627
+ $operator = 'OR';
628
+ break;
629
+ case 'and':
630
+ $value = explode( "+", $value );
631
+ $operator = 'AND';
632
+ break;
633
+ case 'slider':
634
+ list( $min, $max ) = explode( "_", $value );
635
+ if( $attribute == '_date' ) {
636
+ $min = substr($min, 0, 2).'/'.substr($min, 2, 2).'/'.substr($min, 4, 4);
637
+ $max = substr($max, 0, 2).'/'.substr($max, 2, 2).'/'.substr($max, 4, 4);
638
+ }
639
+ $operator = '';
640
+ break;
641
+ case 'price_range':
642
+ $value = explode( "-", $value );
643
+ break;
644
+ default:
645
+ $value = explode( " ", $value );
646
+ $operator = 'OR';
647
+ break;
648
  }
649
+ } else {
650
  list( $attribute, $value ) = explode( "-", $filter, 2 );
651
  }
652
 
785
  ),
786
  ),
787
  "selectbox" => array(
788
+ "name" => __("Drop-Down", 'BeRocket_AJAX_domain'),
789
  "has" => array(
790
  "color" => false,
791
  "bold" => false,
821
  ),
822
  ),
823
  "description_border" => array(
824
+ "name" => __("Description Block Border", 'BeRocket_AJAX_domain'),
825
  "has" => array(
826
  "color" => true,
827
  "bold" => false,
833
  ),
834
  ),
835
  "description_title" => array(
836
+ "name" => __("Description Block Title", 'BeRocket_AJAX_domain'),
837
  "has" => array(
838
  "color" => true,
839
  "bold" => true,
845
  ),
846
  ),
847
  "description_text" => array(
848
+ "name" => __("Description Block Text", 'BeRocket_AJAX_domain'),
849
  "has" => array(
850
  "color" => true,
851
  "bold" => true,
869
  ),
870
  ),
871
  "selected_area_hover" => array(
872
+ "name" => __("Selected filters area mouse over the text", 'BeRocket_AJAX_domain'),
873
  "has" => array(
874
  "color" => true,
875
  "bold" => true,
881
  ),
882
  ),
883
  "selected_area_block" => array(
884
+ "name" => __("Selected filters area link background", 'BeRocket_AJAX_domain'),
885
  "has" => array(
886
  "color" => true,
887
  "bold" => false,
893
  ),
894
  ),
895
  "selected_area_border" => array(
896
+ "name" => __("Selected filters area link border", 'BeRocket_AJAX_domain'),
897
  "has" => array(
898
  "color" => true,
899
  "bold" => false,
includes/new_widget.php CHANGED
@@ -89,6 +89,7 @@ class BeRocket_new_AAPF_Widget extends WP_Widget
89
  return $instance;
90
  }
91
  public function form($instance) {
 
92
  wp_enqueue_script('jquery-color');
93
  $instance = wp_parse_args( (array) $instance, array( 'group_id' => '', 'title' => '', 'custom_class' => '') );
94
  echo '<a href="' . admin_url('edit.php?post_type=br_filters_group') . '">' . __('Manage groups', 'BeRocket_AJAX_domain') . '</a>';
@@ -247,6 +248,7 @@ class BeRocket_new_AAPF_Widget_single extends WP_Widget
247
  return $instance;
248
  }
249
  public function form($instance) {
 
250
  $instance = wp_parse_args( (array) $instance, array( 'filter_id' => '', 'custom_class' => '') );
251
  echo '<a href="' . admin_url('edit.php?post_type=br_product_filter') . '">' . __('Manage filters', 'BeRocket_AJAX_domain') . '</a>';
252
  ?>
89
  return $instance;
90
  }
91
  public function form($instance) {
92
+ wp_enqueue_script( 'berocket_aapf_widget-admin' );
93
  wp_enqueue_script('jquery-color');
94
  $instance = wp_parse_args( (array) $instance, array( 'group_id' => '', 'title' => '', 'custom_class' => '') );
95
  echo '<a href="' . admin_url('edit.php?post_type=br_filters_group') . '">' . __('Manage groups', 'BeRocket_AJAX_domain') . '</a>';
248
  return $instance;
249
  }
250
  public function form($instance) {
251
+ wp_enqueue_script( 'berocket_aapf_widget-admin' );
252
  $instance = wp_parse_args( (array) $instance, array( 'filter_id' => '', 'custom_class' => '') );
253
  echo '<a href="' . admin_url('edit.php?post_type=br_product_filter') . '">' . __('Manage filters', 'BeRocket_AJAX_domain') . '</a>';
254
  ?>
includes/widget_functions.php ADDED
@@ -0,0 +1,1245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ define('BEROCKETAAPF', 'BeRocket_AAPF_Widget');
3
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
4
+ class BeRocket_AAPF_Widget_functions {
5
+ function __construct() {
6
+ add_filter('berocket_query_var_title_before_widget', array($this, 'apply_price_slider'), 10, 5);
7
+ add_filter('berocket_aapf_is_filtered_page_check', array($this, 'is_filtered_page_check'), 10, 1);
8
+ }
9
+ function is_filtered_page_check($filtered) {
10
+ if( ! empty($_GET['s']) ) {
11
+ $filtered = true;
12
+ }
13
+ return $filtered;
14
+ }
15
+ public static function br_widget_ajax_set() {
16
+ if ( ( is_plugin_active( 'woocommerce/woocommerce.php' ) || is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) && br_get_woocommerce_version() >= 2.1 ) {
17
+ add_action( 'wp_ajax_nopriv_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
18
+ add_action( 'wp_ajax_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
19
+ add_action( 'wp_ajax_berocket_aapf_color_listener', array( __CLASS__, 'color_listener' ) );
20
+ add_action( 'wp_ajax_br_include_exclude_list', array( __CLASS__, 'ajax_include_exclude_list' ) );
21
+ }
22
+ }
23
+
24
+ public static function apply_price_slider($set_query_var_title, $type, $instance, $args = false, $terms = false) {
25
+ if($args === false || $terms === false) {
26
+ return $set_query_var_title;
27
+ }
28
+ extract($instance);
29
+ extract($args);
30
+ $slider_with_string = false;
31
+ $stringed_is_numeric = true;
32
+ $slider_step = 1;
33
+
34
+ if ( $filter_type == 'attribute' && $attribute == 'price' && $type == 'slider' ) {
35
+ $min = $max = false;
36
+ $main_class = 'slider';
37
+ $slider_class = 'berocket_filter_slider';
38
+
39
+ wp_localize_script(
40
+ 'berocket_aapf_widget-script',
41
+ 'br_price_text',
42
+ array(
43
+ 'before' => (isset($text_before_price) ? $text_before_price : ''),
44
+ 'after' => (isset($text_after_price) ? $text_after_price : ''),
45
+ )
46
+ );
47
+ $price_range = BeRocket_AAPF_Widget_functions::get_price_range( ( isset($cat_value_limit) ? $cat_value_limit : null ) );
48
+ if ( ! empty($price_values) ) {
49
+ $all_terms_name = $price_range;
50
+ $all_terms_slug = $price_range;
51
+ $stringed_is_numeric = true;
52
+ $min = 0;
53
+ $max = count( $all_terms_name ) - 1;
54
+ $slider_with_string = true;
55
+ } else {
56
+ if( $price_range ) {
57
+ foreach ( $price_range as $price ) {
58
+ if ( $min === false or $min > (int) $price ) {
59
+ $min = $price;
60
+ }
61
+ if ( $max === false or $max < (int) $price ) {
62
+ $max = $price;
63
+ }
64
+ }
65
+ }
66
+ if( $use_min_price ) {
67
+ $min = $min_price;
68
+ }
69
+ if ( $use_max_price ) {
70
+ $max = $max_price;
71
+ }
72
+ }
73
+ if( ! empty($_POST['price']) ) {
74
+ if ( ! empty($price_values) ) {
75
+ $slider_value1 = array_search( $_POST['price'][0], $all_terms_name );
76
+ $slider_value2 = array_search( $_POST['price'][1], $all_terms_name );
77
+ } else {
78
+ $slider_value1 = apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters('woocommerce_price_filter_widget_min_amount', $_POST['price'][0])), $_POST['price'][0]);
79
+ $slider_value2 = apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters('woocommerce_price_filter_widget_max_amount', $_POST['price'][1])), $_POST['price'][1]);
80
+ }
81
+ } else {
82
+ $slider_value1 = $min;
83
+ $slider_value2 = $max;
84
+ }
85
+ $id = 'br_price';
86
+ $slider_class .= ' berocket_filter_price_slider';
87
+ $main_class .= ' price';
88
+
89
+ $min = floor( $min );
90
+ $max = ceil( $max );
91
+
92
+ $wpml_id = preg_replace( '#^pa_#', '', $id );
93
+ $wpml_id = 'pa_'.berocket_wpml_attribute_translate($wpml_id);
94
+ $set_query_var_title['slider_value1'] = $slider_value1;
95
+ $set_query_var_title['slider_value2'] = $slider_value2;
96
+ $set_query_var_title['filter_slider_id'] = $wpml_id;
97
+ $set_query_var_title['main_class'] = $main_class;
98
+ $set_query_var_title['slider_class'] = $slider_class;
99
+ $set_query_var_title['min'] = $min;
100
+ $set_query_var_title['max'] = $max;
101
+ $set_query_var_title['step'] = $slider_step;
102
+ $set_query_var_title['slider_with_string'] = $slider_with_string;
103
+ $set_query_var_title['all_terms_name'] = ( empty($all_terms_name) ? null : $all_terms_name );
104
+ $set_query_var_title['all_terms_slug'] = ( empty($all_terms_slug) ? null : $all_terms_slug );
105
+ $set_query_var_title['text_before_price'] = (isset($text_before_price) ? $text_before_price : null);
106
+ $set_query_var_title['text_after_price'] = (isset($text_after_price) ? $text_after_price : null);
107
+ $set_query_var_title['enable_slider_inputs'] = (isset($enable_slider_inputs) ? $enable_slider_inputs : null);
108
+ if( ! empty($number_style) ) {
109
+ $set_query_var_title['number_style'] = array(
110
+ ( empty($number_style_thousand_separate) ? '' : $number_style_thousand_separate ),
111
+ ( empty($number_style_decimal_separate) ? '' : $number_style_decimal_separate ),
112
+ ( empty($number_style_decimal_number) ? '' : $number_style_decimal_number )
113
+ );
114
+ } else {
115
+ $set_query_var_title['number_style'] = '';
116
+ }
117
+ }
118
+ return $set_query_var_title;
119
+ }
120
+
121
+ public static function listener(){
122
+ global $wp_query, $wp_rewrite;
123
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
124
+
125
+ $wp_query = self::listener_wp_query();
126
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') ) {
127
+ $wp_query->get_posts();
128
+ wc()->query->product_query($wp_query);
129
+ }
130
+
131
+ if( ! empty($br_options['alternative_load']) && $br_options['alternative_load_type'] == 'wpajax' ) {
132
+ ob_start();
133
+
134
+ $is_have_post = $wp_query->have_posts();
135
+ if ( $is_have_post ) {
136
+ do_action('woocommerce_before_shop_loop');
137
+
138
+ woocommerce_product_loop_start();
139
+ woocommerce_product_subcategories();
140
+
141
+ while ( have_posts() ) {
142
+ the_post();
143
+ wc_get_template_part( 'content', 'product' );
144
+ }
145
+
146
+ woocommerce_product_loop_end();
147
+
148
+ do_action('woocommerce_after_shop_loop');
149
+
150
+ wp_reset_postdata();
151
+
152
+ $_RESPONSE['products'] = ob_get_contents();
153
+ } else {
154
+ echo apply_filters( 'berocket_aapf_listener_no_products_message', "<div class='no-products" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</div>" );
155
+
156
+ $_RESPONSE['no_products'] = ob_get_contents();
157
+ }
158
+ ob_end_clean();
159
+ if( empty($br_options['woocommerce_removes']['ordering']) ) {
160
+ ob_start();
161
+ woocommerce_catalog_ordering();
162
+ $_RESPONSE['catalog_ordering'] = ob_get_contents();
163
+ ob_end_clean();
164
+ }
165
+ if( empty($br_options['woocommerce_removes']['result_count']) ) {
166
+ ob_start();
167
+ woocommerce_result_count();
168
+ $_RESPONSE['result_count'] = ob_get_contents();
169
+ ob_end_clean();
170
+ }
171
+ if( empty($br_options['woocommerce_removes']['pagination']) ) {
172
+ ob_start();
173
+ woocommerce_pagination();
174
+ $_RESPONSE['pagination'] = ob_get_contents();
175
+ ob_end_clean();
176
+ }
177
+ }
178
+
179
+ if( braapf_filters_must_be_recounted() ) {
180
+ $_RESPONSE['attributesname'] = array();
181
+ $_RESPONSE['attributes'] = array();
182
+ if(isset($_POST['attributes']) && is_array($_POST['attributes'])) {
183
+ $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
184
+ foreach( $attributes as $attribute => $cat_limit ) {
185
+ if($attribute != 'price') {
186
+ $terms = FALSE;
187
+ if( $attribute == '_stock_status' ) {
188
+ $terms = array();
189
+ array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
190
+ array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
191
+ }
192
+ $_RESPONSE['attributesname'][] = $attribute;
193
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', false, TRUE, $terms, $cat_limit );
194
+ $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms) );
195
+ }
196
+ }
197
+ }
198
+ }
199
+ $_RESPONSE = apply_filters('berocket_ajax_response_without_fix', $_RESPONSE);
200
+ echo json_encode( $_RESPONSE );
201
+
202
+ die();
203
+ }
204
+
205
+ public static function remove_pid( $terms ) {
206
+
207
+ foreach ( $terms as &$term ) {
208
+ if ( isset( $term ) ) {
209
+ if ( isset( $term->PID ) ) {
210
+ $term->PID = '';
211
+ }
212
+
213
+ if ( is_array( $term ) ) {
214
+ foreach ( $term as &$subterm ) {
215
+ if ( isset( $subterm ) and isset( $subterm->PID ) ) {
216
+ $subterm->PID = '';
217
+ }
218
+ }
219
+ }
220
+
221
+ }
222
+ }
223
+ return $terms;
224
+ }
225
+
226
+ public static function listener_wp_query() {
227
+ global $wp_query, $wp_rewrite;
228
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
229
+
230
+ $add_to_args = array();
231
+ if ( ! empty($_POST['limits']) && is_array($_POST['limits']) ) {
232
+ foreach ( $_POST['limits'] as $post_key => $t ) {
233
+ if( $t[0] == '_date' ) {
234
+ $from = $t[1];
235
+ $to = $t[2];
236
+ $from = substr($from, 0, 2).'/'.substr($from, 2, 2).'/'.substr($from, 4, 4);
237
+ $to = substr($to, 0, 2).'/'.substr($to, 2, 2).'/'.substr($to, 4, 4);
238
+ $from = date('Y-m-d 00:00:00', strtotime($from));
239
+ $to = date('Y-m-d 23:59:59', strtotime($to));
240
+ $add_to_args['date_query'] = array(
241
+ 'after' => $from,
242
+ 'before' => $to,
243
+ );
244
+ unset($_POST['limits'][$post_key]);
245
+ }
246
+ }
247
+ }
248
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
249
+ if ( ! empty($_POST['terms']) && is_array($_POST['terms']) ) {
250
+ $stop_sale = false;
251
+ $check_sale = $check_notsale = 0;
252
+ foreach ( $_POST['terms'] as $post_key => $t ) {
253
+ if( $t[0] == 'price' ) {
254
+ if( preg_match( "~\*~", $t[1] ) ) {
255
+ if( ! isset( $_POST['price_ranges'] ) ) {
256
+ $_POST['price_ranges'] = array();
257
+ }
258
+ $_POST['price_ranges'][] = $t[1];
259
+ unset( $_POST['terms'][$post_key] );
260
+ }
261
+ } elseif( $t[0] == '_sale' ) {
262
+ // if both used do nothing
263
+ if ( $t[0] == '_sale' and $t[3] == 'sale' ) {
264
+ $check_sale++;
265
+ }
266
+ if ( $t[0] == '_sale' and $t[3] == 'notsale' ) {
267
+ $check_notsale++;
268
+ }
269
+ unset($_POST['terms'][$post_key]);
270
+ } elseif( $t[0] == '_rating' ) {
271
+ $_POST['terms'][$post_key][0] = 'product_visibility';
272
+ }
273
+ }
274
+ if ( ! empty($br_options['slug_urls']) ) {
275
+ foreach ( $_POST['terms'] as $post_key => $t ) {
276
+ if( $t[0] == '_stock_status' ) {
277
+ $_stock_status = array( 'instock' => 1, 'outofstock' => 2);
278
+ $_POST['terms'][$post_key][1] = (isset($_stock_status[$t[1]]) ? $_stock_status[$t[1]] : $_stock_status['instock']);
279
+ } else {
280
+ $t[1] = get_term_by( 'slug', $t[3], $t[0] );
281
+ $t[1] = $t[1]->term_id;
282
+ $_POST['terms'][$post_key] = $t;
283
+ }
284
+ }
285
+ }
286
+
287
+ if ( ! ($check_sale and $check_notsale) ) {
288
+ if ( $check_sale ) {
289
+ $add_to_args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
290
+ } elseif( $check_notsale ) {
291
+ $add_to_args['post__in'] = array_merge( array( 0 ), $BeRocket_AAPF->wc_get_product_ids_not_on_sale() );
292
+ }
293
+ }
294
+ }
295
+
296
+ add_filter( 'post_class', array( __CLASS__, 'add_product_class' ) );
297
+ add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
298
+
299
+ $woocommerce_hide_out_of_stock_items = self::woocommerce_hide_out_of_stock_items();
300
+
301
+ $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
302
+
303
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
304
+ foreach($add_to_args as $arg_name => $add_arg) {
305
+ $args[$arg_name] = $add_arg;
306
+ }
307
+ if( ! empty($_POST['limits']) ) {
308
+ $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
309
+ }
310
+ if( ! isset($args['post__in']) ) {
311
+ $args['post__in'] = array();
312
+ }
313
+ if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
314
+ $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
315
+ }
316
+ if( ! br_woocommerce_version_check() ) {
317
+ $args['post__in'] = $BeRocket_AAPF->remove_hidden( $args['post__in'] );
318
+ }
319
+ $args['meta_query'] = $meta_query;
320
+
321
+ if( ! empty($_POST['limits']) ) {
322
+ $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
323
+ }
324
+ if( isset($_POST['price']) && is_array($_POST['price']) ) {
325
+ $_POST['price'] = apply_filters('berocket_min_max_filter', $_POST['price']);
326
+ }
327
+ $min = isset( $_POST['price'][0] ) ? floatval( $_POST['price'][0] ) : 0;
328
+ $max = isset( $_POST['price'][1] ) ? floatval( $_POST['price'][1] ) : 9999999999;
329
+
330
+ $args['meta_query'][] = array(
331
+ 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2847'),
332
+ 'value' => array( $min, $max ),
333
+ 'compare' => 'BETWEEN',
334
+ 'type' => 'DECIMAL',
335
+ 'price_filter' => true,
336
+ );
337
+ $args['post_status'] = 'publish';
338
+ if ( is_user_logged_in() ) {
339
+ $args['post_status'] .= '|private';
340
+ }
341
+ $args['post_type'] = 'product';
342
+ $default_posts_per_page = get_option( 'posts_per_page' );
343
+ $args['posts_per_page'] = apply_filters( 'loop_shop_per_page', $default_posts_per_page );
344
+ if ( ! empty($_POST['price_ranges']) && is_array($_POST['price_ranges']) ) {
345
+ $price_range_query = array( 'relation' => 'OR' );
346
+ foreach ( $_POST['price_ranges'] as $range ) {
347
+ $range = explode( '*', $range );
348
+ $price_range_query[] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2867'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($range[0] - 1), $range[1] ) );
349
+ }
350
+ $args['meta_query'][] = $price_range_query;
351
+ }
352
+ if ( ! empty($_POST['price']) && is_array($_POST['price']) ) {
353
+ $args['meta_query'][] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2872'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($_POST['price'][0]), $_POST['price'][1] ) );
354
+ }
355
+
356
+ if( isset($_POST['product_taxonomy']) && $_POST['product_taxonomy'] != '-1' && strpos( $_POST['product_taxonomy'], '|' ) !== FALSE ) {
357
+ $product_taxonomy = explode( '|', $_POST['product_taxonomy'] );
358
+ $args['taxonomy'] = $product_taxonomy[0];
359
+ $args['term'] = $product_taxonomy[1];
360
+ }
361
+ if( isset($_POST['s']) && strlen($_POST['s']) > 0 ) {
362
+ $args['s'] = $_POST['s'];
363
+ }
364
+
365
+ if( function_exists('wc_get_product_visibility_term_ids') ) {
366
+ $product_visibility_term_ids = wc_get_product_visibility_term_ids();
367
+
368
+ $args['tax_query'][] = array(
369
+ 'taxonomy' => 'product_visibility',
370
+ 'field' => 'term_taxonomy_id',
371
+ 'terms' => array($product_visibility_term_ids['exclude-from-catalog']),
372
+ 'operator' => 'NOT IN'
373
+ );
374
+ }
375
+ $args = array_merge($args, WC()->query->get_catalog_ordering_args());
376
+ $wp_query = new WP_Query( $args );
377
+
378
+ // here we get max products to know if current page is not too big
379
+ $is_using_permalinks = $wp_rewrite->using_permalinks();
380
+ $_POST['location'] = (empty($_POST['location']) ? $_GET['location'] : $_POST['location']);
381
+ if ( $is_using_permalinks and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
382
+ $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
383
+
384
+ $wp_query = new WP_Query( $args );
385
+ }
386
+ return apply_filters('berocket_listener_wp_query_return', $wp_query, $args);
387
+ }
388
+
389
+ public static function rebuild() {
390
+ add_action('woocommerce_before_shop_loop', array( __CLASS__, 'tags_restore' ), 999999);
391
+ }
392
+
393
+ public static function tags_restore() {
394
+ global $wp_query;
395
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
396
+ $tags = ( empty($args['product_tag']) ? '' : $args['product_tag'] );
397
+ if( ! empty($tags) ) {
398
+ $q_vars = $wp_query->query_vars;
399
+ $q_vars['product_tag'] = $tags;
400
+ $q_vars['taxonomy'] = '';
401
+ $q_vars['term'] = '';
402
+ unset( $q_vars['s'] );
403
+ if( isset($q_vars['tax_query']) ) {
404
+ $tax_query_reset = $q_vars['tax_query'];
405
+ unset($q_vars['tax_query']);
406
+ }
407
+ $wp_query = new WP_Query( $q_vars );
408
+ if( isset($tax_query_reset) ) {
409
+ $wp_query->set('tax_query', $tax_query_reset);
410
+ $q_vars['tax_query'] = $tax_query_reset;
411
+ unset($tax_query_reset);
412
+ }
413
+ }
414
+ }
415
+
416
+ public static function woocommerce_before_main_content() {
417
+ ?>||EXPLODE||<?php
418
+ self::tags_restore();
419
+ }
420
+
421
+ public static function woocommerce_after_main_content() {
422
+ ?>||EXPLODE||<?php
423
+ }
424
+
425
+ public static function pre_get_posts() {
426
+ add_action( 'woocommerce_before_shop_loop', array( __CLASS__, 'woocommerce_before_main_content' ), 999999 );
427
+ add_action( 'woocommerce_after_shop_loop', array( __CLASS__, 'woocommerce_after_main_content' ), 1 );
428
+ }
429
+
430
+ public static function end_clean() {
431
+ global $wp_query, $wp_rewrite;
432
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
433
+ if ( $br_options['alternative_load_type'] != 'js' ) {
434
+ $_RESPONSE['products'] = explode('||EXPLODE||', ob_get_contents());
435
+ $_RESPONSE['products'] = $_RESPONSE['products'][1];
436
+ ob_end_clean();
437
+
438
+ if ( $_RESPONSE['products'] == null ) {
439
+ unset( $_RESPONSE['products'] );
440
+ ob_start();
441
+ echo apply_filters( 'berocket_aapf_listener_no_products_message', "<p class='no-products woocommerce-info" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</p>" );
442
+ $_RESPONSE['no_products'] = ob_get_contents();
443
+ ob_end_clean();
444
+ } else {
445
+ $_RESPONSE['products'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['products'] );
446
+ $_RESPONSE['products'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['products'] );
447
+ $_RESPONSE['products'] = str_replace( '?explode=explode', '', $_RESPONSE['products'] );
448
+ }
449
+ }
450
+
451
+ if ( braapf_filters_must_be_recounted() ) {
452
+ $_RESPONSE['attributesname'] = array();
453
+ $_RESPONSE['attributes'] = array();
454
+
455
+ if ( isset($_POST['attributes']) && is_array( $_POST['attributes'] ) ) {
456
+ $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
457
+ foreach ( $attributes as $attribute => $cat_limit ) {
458
+ if ( $attribute != 'price' ) {
459
+ $terms = FALSE;
460
+ if( $attribute == '_stock_status' ) {
461
+ $terms = array();
462
+ array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
463
+ array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
464
+ }
465
+ $_RESPONSE['attributesname'][] = $attribute;
466
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), TRUE, $terms, $cat_limit );
467
+ $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms));
468
+ }
469
+ }
470
+ }
471
+ }
472
+ if( empty($br_options['woocommerce_removes']['ordering']) ) {
473
+ ob_start();
474
+ woocommerce_catalog_ordering();
475
+ $_RESPONSE['catalog_ordering'] = ob_get_contents();
476
+ ob_end_clean();
477
+ }
478
+ if( empty($br_options['woocommerce_removes']['result_count']) ) {
479
+ ob_start();
480
+ woocommerce_result_count();
481
+ $_RESPONSE['result_count'] = ob_get_contents();
482
+ ob_end_clean();
483
+ }
484
+ if( empty($br_options['woocommerce_removes']['pagination']) ) {
485
+ ob_start();
486
+ woocommerce_pagination();
487
+ $_RESPONSE['pagination'] = ob_get_contents();
488
+ $_RESPONSE['pagination'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['pagination'] );
489
+ $_RESPONSE['pagination'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['pagination'] );
490
+ $_RESPONSE['pagination'] = str_replace( '?explode=explode', '', $_RESPONSE['pagination'] );
491
+ ob_end_clean();
492
+ }
493
+ if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
494
+ $_RESPONSE = apply_filters('berocket_ajax_response_with_fix', $_RESPONSE);
495
+ $_RESPONSE['attributesname'] = array_values($_RESPONSE['attributesname']);
496
+ $_RESPONSE['attributes'] = array_values($_RESPONSE['attributes']);
497
+ foreach($_RESPONSE['attributesname'] as &$attributesname) {
498
+ if( ! is_array($attributesname) ) {
499
+ $attributesname = array();
500
+ }
501
+ }
502
+ foreach($_RESPONSE['attributes'] as &$attributes) {
503
+ if( ! is_array($attributes) ) {
504
+ $attributes = array();
505
+ }
506
+ }
507
+ echo json_encode( $_RESPONSE );
508
+ if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
509
+
510
+ die();
511
+ }
512
+
513
+ public static function start_clean() {
514
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
515
+ if ( $br_options['alternative_load_type'] != 'js' ) {
516
+ ob_start();
517
+ }
518
+ }
519
+
520
+ public static function color_listener() {
521
+ if ( defined('DOING_AJAX') && DOING_AJAX && !isset( $_POST ['tax_color_set'] ) && isset( $_POST ['br_widget_color'] ) ) {
522
+ $_POST ['tax_color_set'] = $_POST ['br_widget_color'];
523
+ }
524
+ if( isset( $_POST ['tax_color_set'] ) ) {
525
+ if ( current_user_can( 'manage_woocommerce' ) ) {
526
+ foreach( $_POST['tax_color_set'] as $key => $value ) {
527
+ if( $_POST['type'] == 'color' ) {
528
+ foreach($value as $term_key => $term_val) {
529
+ if( !empty($term_val) ) {
530
+ update_metadata( 'berocket_term', $term_key, $key, $term_val );
531
+ } else {
532
+ delete_metadata( 'berocket_term', $term_key, $key );
533
+ }
534
+ }
535
+ } else {
536
+ update_metadata( 'berocket_term', $key, $_POST['type'], $value );
537
+ }
538
+ }
539
+ unset( $_POST['tax_color_set'] );
540
+ }
541
+ } else {
542
+ self::color_list_view( $_POST['type'], $_POST['tax_color_name'], true );
543
+ wp_die();
544
+ }
545
+ }
546
+
547
+ public static function color_list_view( $type, $taxonomy_name, $load_script = false ) {
548
+ $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
549
+ $set_query_var_color = array();
550
+ $set_query_var_color['terms'] = $terms;
551
+ $set_query_var_color['type'] = $type;
552
+ $set_query_var_color['load_script'] = $load_script;
553
+ set_query_var( 'berocket_query_var_color', $set_query_var_color );
554
+ br_get_template_part( 'color_ajax' );
555
+ }
556
+
557
+ public static function ajax_include_exclude_list() {
558
+ if( ! empty($_POST['taxonomy_name']) ) {
559
+ echo self::include_exclude_terms_list($_POST['taxonomy_name']);
560
+ }
561
+ wp_die();
562
+ }
563
+
564
+ public static function include_exclude_terms_list($taxonomy_name = false, $selected = array() ) {
565
+ $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
566
+ $set_query_var_exclude_list = array();
567
+ $set_query_var_exclude_list['taxonomy'] = $taxonomy_name;
568
+ $set_query_var_exclude_list['terms'] = $terms;
569
+ $set_query_var_exclude_list['selected'] = $selected;
570
+ set_query_var( 'berocket_var_exclude_list', $set_query_var_exclude_list );
571
+ ob_start();
572
+ br_get_template_part( 'include_exclude_list' );
573
+ return ob_get_clean();
574
+ }
575
+
576
+ public static function get_product_categories( $current_product_cat = '', $parent = 0, $data = array(), $depth = 0, $max_count = 9, $follow_hierarchy = false ) {
577
+ return br_get_sub_categories( $parent, 'id', array( 'return' => 'hierarchy_objects', 'max_depth' => $max_count ) );
578
+ }
579
+
580
+ public static function add_product_class( $classes ) {
581
+ $classes[] = 'product';
582
+ return apply_filters( 'berocket_aapf_add_product_class', $classes );
583
+ }
584
+
585
+ public static function pagination_args( $args = array() ) {
586
+ $args['base'] = str_replace( 999999999, '%#%', self::get_pagenum_link( 999999999 ) );
587
+ return $args;
588
+ }
589
+
590
+ // 99% copy of WordPress' get_pagenum_link.
591
+ public static function get_pagenum_link( $pagenum = 1, $escape = true ) {
592
+ global $wp_rewrite;
593
+
594
+ $pagenum = (int) $pagenum;
595
+
596
+ $request = remove_query_arg( 'paged', preg_replace( "~".home_url()."~", "", (isset($_POST['location']) ? $_POST['location'] : '') ) );
597
+
598
+ $home_root = parse_url( home_url() );
599
+ $home_root = ( isset( $home_root['path'] ) ) ? $home_root['path'] : '';
600
+ $home_root = preg_quote( $home_root, '|' );
601
+
602
+ $request = preg_replace( '|^' . $home_root . '|i', '', $request );
603
+ $request = preg_replace( '|^/+|', '', $request );
604
+
605
+ $is_using_permalinks = $wp_rewrite->using_permalinks();
606
+ if ( ! $is_using_permalinks ) {
607
+ $base = trailingslashit( get_bloginfo( 'url' ) );
608
+
609
+ if ( $pagenum > 1 ) {
610
+ $result = add_query_arg( 'paged', $pagenum, $base . $request );
611
+ } else {
612
+ $result = $base . $request;
613
+ }
614
+ } else {
615
+ $qs_regex = '|\?.*?$|';
616
+ preg_match( $qs_regex, $request, $qs_match );
617
+
618
+ if ( ! empty( $qs_match[0] ) ) {
619
+ $query_string = $qs_match[0];
620
+ $request = preg_replace( $qs_regex, '', $request );
621
+ } else {
622
+ $query_string = '';
623
+ }
624
+
625
+ $request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request );
626
+ $request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request );
627
+ $request = ltrim( $request, '/' );
628
+
629
+ $base = trailingslashit( get_bloginfo( 'url' ) );
630
+
631
+ $is_using_index_permalinks = $wp_rewrite->using_index_permalinks();
632
+ if ( $is_using_index_permalinks && ( $pagenum > 1 || '' != $request ) )
633
+ $base .= $wp_rewrite->index . '/';
634
+
635
+ if ( $pagenum > 1 ) {
636
+ $request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
637
+ }
638
+
639
+ $result = $base . $request . $query_string;
640
+ }
641
+
642
+ /**
643
+ * Filter the page number link for the current request.
644
+ *
645
+ * @since 2.5.0
646
+ *
647
+ * @param string $result The page number link.
648
+ */
649
+ $result = apply_filters( 'get_pagenum_link', $result );
650
+
651
+ if ( $escape )
652
+ return esc_url( $result );
653
+ else
654
+ return esc_url_raw( $result );
655
+ }
656
+
657
+ public static function get_terms_child_parent ( $child_parent, $attribute, $current_terms = FALSE, $child_parent_depth = 1 ) {
658
+ if ( isset($child_parent) && $child_parent == 'parent' ) {
659
+ $args_terms = array(
660
+ 'orderby' => 'id',
661
+ 'order' => 'ASC',
662
+ 'hide_empty' => false,
663
+ 'parent' => 0,
664
+ );
665
+ if( $attribute == 'product_cat' ) {
666
+ $current_terms = br_get_taxonomy_hierarchy(array(), 0, 1);
667
+ } else {
668
+ $current_terms = get_terms( $attribute, $args_terms );
669
+ }
670
+ }
671
+ if ( isset($child_parent) && $child_parent == 'child' ) {
672
+ $current_terms = array( (object) array( 'depth' => 0, 'child' => 0, 'term_id' => 'R__term_id__R', 'count' => 'R__count__R', 'slug' => 'R__slug__R', 'name' => 'R__name__R', 'taxonomy' => 'R__taxonomy__R' ) );
673
+ $selected_terms = br_get_selected_term( $attribute );
674
+ $selected_terms_id = array();
675
+ if( empty($child_parent_depth) ) {
676
+ $child_parent_depth = 0;
677
+ }
678
+ foreach( $selected_terms as $selected_term ) {
679
+ $ancestors = get_ancestors( $selected_term, $attribute );
680
+ if( count( $ancestors ) >= ( $child_parent_depth - 1 ) ) {
681
+ if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
682
+ $selected_term = $ancestors[count( $ancestors ) - ( $child_parent_depth )];
683
+ }
684
+ if ( ! in_array( $selected_term, $selected_terms_id ) ) {
685
+ $args_terms = array(
686
+ 'orderby' => 'id',
687
+ 'order' => 'ASC',
688
+ 'hide_empty' => false,
689
+ 'parent' => $selected_term,
690
+ );
691
+ $selected_terms_id[] = $selected_term;
692
+ $additional_terms = get_terms( $attribute, $args_terms );
693
+ $current_terms = array_merge( $current_terms, $additional_terms );
694
+ }
695
+ }
696
+ }
697
+ }
698
+ return $current_terms;
699
+ }
700
+
701
+ public static function is_parent_selected($attribute, $child_parent_depth = 1) {
702
+ $selected_terms = br_get_selected_term( $attribute );
703
+ $selected_terms_id = array();
704
+ foreach( $selected_terms as $selected_term ) {
705
+ if( empty($child_parent_depth) ) {
706
+ $child_parent_depth = 0;
707
+ }
708
+ $ancestors = get_ancestors( $selected_term, $attribute );
709
+ if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
710
+ return true;
711
+ }
712
+ }
713
+ return false;
714
+ }
715
+
716
+ public static function old_wc_compatible( $query, $new = false ) {
717
+ return br_filters_old_wc_compatible( $query, $new );
718
+ }
719
+
720
+ public static function get_price_range( $product_cat = null ) {
721
+ global $wpdb, $br_wc_query, $wp_query;
722
+
723
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
724
+ $br_options = $BeRocket_AAPF->get_option();
725
+
726
+ if( br_woocommerce_version_check('3.6') ) {
727
+ $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wc_product_meta_lookup.min_price) as decimal)) as min_price,
728
+ MAX(cast(CEIL(wc_product_meta_lookup.max_price) as decimal)) as max_price ";
729
+ $query[ 'from' ] = "FROM {$wpdb->posts}";
730
+ $query[ 'join' ] = " INNER JOIN {$wpdb->wc_product_meta_lookup} as wc_product_meta_lookup ON $wpdb->posts.ID = wc_product_meta_lookup.product_id ";
731
+ } else {
732
+ $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wp_price_check.meta_value) as decimal)) as min_price,
733
+ MAX(cast(CEIL(wp_price_check.meta_value) as decimal)) as max_price ";
734
+ $query[ 'from' ] = "FROM {$wpdb->postmeta} as wp_price_check";
735
+ $query[ 'join' ] = "INNER JOIN {$wpdb->posts} ON ({$wpdb->posts}.ID = wp_price_check.post_id)";
736
+ }
737
+ if( braapf_filters_must_be_recounted() ) {
738
+ $query = br_filters_query( $query, 'price', $product_cat );
739
+ } elseif( braapf_filters_must_be_recounted('first') && ! empty($br_wc_query) ) {
740
+ $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
741
+ $queried_object = get_queried_object();
742
+ if( ! empty($queried_object) && is_a($queried_object, 'WP_Term') ) {
743
+ $tax_query = array(
744
+ array(
745
+ 'taxonomy' => $queried_object->taxonomy,
746
+ 'field' => 'id',
747
+ 'terms' => array($queried_object->term_id),
748
+ 'operator' => 'IN',
749
+ )
750
+ );
751
+ $tax_query = new WP_Tax_Query( $tax_query );
752
+ $tax_query_sql = $tax_query->get_sql( $wpdb->posts, 'ID' );
753
+ if( ! empty($tax_query_sql['where']) ) {
754
+ $query[ 'where' ] .= $tax_query_sql['where'];
755
+ }
756
+ if( ! empty($tax_query_sql['join']) ) {
757
+ $query[ 'join' ] .= $tax_query_sql['join'];
758
+ }
759
+ }
760
+ } else {
761
+ $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
762
+ }
763
+
764
+ if( !br_woocommerce_version_check('3.6') ) {
765
+ if ( $query[ 'where' ] ) {
766
+ $query[ 'where' ] .= " AND ";
767
+ } else {
768
+ $query[ 'where' ] = " WHERE ";
769
+ }
770
+ $query[ 'where' ] .= "wp_price_check.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1243')."' AND wp_price_check.meta_value > ''";
771
+ }
772
+
773
+ if ( $post__not_in = apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false) ) {
774
+ if ( $query[ 'where' ] ) {
775
+ $query[ 'where' ] .= " AND ";
776
+ } else {
777
+ $query[ 'where' ] = " WHERE ";
778
+ }
779
+
780
+ $query[ 'where' ] .= "$wpdb->posts.ID NOT IN(" . implode( ',', $post__not_in ) . ")";
781
+ }
782
+ if ( $post__in = apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false) ) {
783
+ if ( $query[ 'where' ] ) {
784
+ $query[ 'where' ] .= " AND ";
785
+ } else {
786
+ $query[ 'where' ] = " WHERE ";
787
+ }
788
+
789
+ $query[ 'where' ] .= "$wpdb->posts.ID IN(" . implode( ',', $post__not_in ) . ")";
790
+ }
791
+
792
+
793
+ $query_string = implode( ' ', $query );
794
+
795
+ $query_string = $wpdb->get_row( $query_string );
796
+
797
+ $price_range = false;
798
+ if ( isset( $query_string->min_price ) && isset( $query_string->max_price ) && $query_string->min_price != $query_string->max_price ) {
799
+ $price_range = array(
800
+ floor(apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters( 'woocommerce_price_filter_widget_min_amount', $query_string->min_price )), $query_string->min_price)),
801
+ ceil(apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters( 'woocommerce_price_filter_widget_max_amount', $query_string->max_price )), $query_string->max_price))
802
+ );
803
+ }
804
+
805
+ return apply_filters( 'berocket_aapf_get_price_range', $price_range );
806
+ }
807
+
808
+ public static function get_attribute_values( $taxonomy = '', $order_by = 'id', $hide_empty = false, $count_filtering = true, $input_terms = FALSE, $product_cat = FALSE, $operator = 'OR' ) {
809
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
810
+ if ( ! $taxonomy || $taxonomy == 'price' ) return array();
811
+ if( $taxonomy == '_rating' ) $taxonomy = 'product_visibility';
812
+ $terms = (empty($input_terms) ? FALSE : $input_terms);
813
+
814
+ global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
815
+
816
+ $post__in = ( isset($wp_query->query_vars['post__in']) ? $wp_query->query_vars['post__in'] : array() );
817
+ if (
818
+ ! empty( $br_wc_query ) and
819
+ ! empty( $br_wc_query->query ) and
820
+ isset( $br_wc_query->query['post__in'] ) and
821
+ is_array( $br_wc_query->query['post__in'] )
822
+ ) {
823
+ $post__in = array_merge( $post__in, $br_wc_query->query[ 'post__in' ] );
824
+ }
825
+
826
+ if( empty($post__in) || ! is_array($post__in) || count($post__in) == 0 ) {
827
+ $post__in = false;
828
+ }
829
+ $post__not_in = ( isset($wp_query->query_vars['post__not_in']) ? $wp_query->query_vars['post__not_in'] : array() );
830
+ if( empty($post__not_in) || ! is_array($post__not_in) || count($post__not_in) == 0 ) {
831
+ $post__not_in = false;
832
+ }
833
+ global $braapf_not_filtered_data;
834
+ if( isset($braapf_not_filtered_data['post__not_in']) ) {
835
+ $post__not_in = $braapf_not_filtered_data['post__not_in'];
836
+ }
837
+ if( $hide_empty ) {
838
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, array(
839
+ 'taxonomy' => $taxonomy,
840
+ 'operator' => $operator,
841
+ 'use_filters' => FALSE,
842
+ 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', $post__not_in),
843
+ 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', $post__in)
844
+ ));
845
+ } elseif(empty($terms)) {
846
+ $terms = get_terms( array(
847
+ 'taxonomy' => $taxonomy,
848
+ 'hide_empty' => true,
849
+ 'hierarchical' => true,
850
+ 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false),
851
+ 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false)
852
+ ) );
853
+ }
854
+ if( empty($terms) || ! is_array($terms) ) {
855
+ $terms = array();
856
+ }
857
+ if( $hide_empty ) {
858
+ foreach($terms as $term_id => $term) {
859
+ if( $term->count == 0 ) {
860
+ unset($terms[$term_id]);
861
+ }
862
+ }
863
+ }
864
+ if (
865
+ ( ! $hide_empty
866
+ || apply_filters( 'berocket_aapf_is_filtered_page_check', ! empty($_GET['filters']), 'get_filter_args', $wp_query )
867
+ || ( ! empty($br_options['out_of_stock_variable_reload']) && ! empty($br_options['out_of_stock_variable']) )
868
+ || is_filtered()
869
+ ) && $count_filtering
870
+ ) {
871
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, array(
872
+ 'taxonomy' => $taxonomy,
873
+ 'operator' => $operator,
874
+ 'use_filters' => TRUE,
875
+ 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', $post__not_in),
876
+ 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', $post__in)
877
+ ));
878
+ }
879
+ return $terms;
880
+ }
881
+
882
+ public static function sort_child_parent_hierarchy($terms) {
883
+ $terms_sort = array();
884
+ $new_terms = $terms;
885
+ $terms = array_reverse($terms);
886
+ foreach($terms as $term_id => $term) {
887
+ if(empty($term->parent)) {
888
+ $terms_sort[] = $term->term_id;
889
+ unset($terms[$term_id]);
890
+ }
891
+ }
892
+ $length = 0;
893
+ while(count($terms) && $length < 30) {
894
+ foreach($terms as $term_id => $term) {
895
+ $term_i = array_search($term->parent, $terms_sort);
896
+ if( $term_i !== FALSE ) {
897
+ array_splice($terms_sort, $term_i, 0, array($term->term_id));
898
+ unset($terms[$term_id]);
899
+ }
900
+ }
901
+ $length++;
902
+ }
903
+ if( count($terms) ) {
904
+ foreach($terms as $term_id => $term) {
905
+ $terms_sort[] = $term->term_id;
906
+ }
907
+ }
908
+ $sort_array = array();
909
+ foreach($new_terms as $terms) {
910
+ $sort_array[] = array_search($terms->term_id, $terms_sort);
911
+ }
912
+ return $sort_array;
913
+ }
914
+
915
+ public static function sort_terms( &$terms, $sort_data ) {
916
+ $sort_array = array();
917
+ if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
918
+ if ( ! empty($sort_data['attribute']) and in_array($sort_data['attribute'], array('product_cat', 'berocket_brand')) and ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Default' ) {
919
+ foreach ( $terms as $term ) {
920
+ $element_of_sort = get_term_meta( $term->term_id, 'order', true );
921
+ if( is_array($element_of_sort) || $element_of_sort === false ) {
922
+ $sort_array[] = 0;
923
+ } else {
924
+ $sort_array[] = $element_of_sort;
925
+ }
926
+ if ( ! empty($term->child) ) {
927
+ self::sort_terms( $term->child, $sort_data );
928
+ }
929
+ }
930
+ if( BeRocket_AAPF::$debug_mode ) {
931
+ BeRocket_AAPF::$error_log[$sort_data['attribute'].'_sort'] = array('array' => $sort_array, 'sort' => $terms, 'data' => $sort_data );
932
+ }
933
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
934
+ } elseif ( ! empty($sort_data['wc_order_by']) or ! empty($sort_data['order_values_by']) ) {
935
+ if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Numeric' ) {
936
+ foreach ( $terms as $term ) {
937
+ $sort_array[] = (float)preg_replace('/\s+/', '', str_replace(',', '.', $term->name));
938
+ if ( ! empty($term->child) ) {
939
+ self::sort_terms( $term->child, $sort_data );
940
+ }
941
+ }
942
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
943
+ } else {
944
+ $get_terms_args = array( 'hide_empty' => '0', 'fields' => 'ids' );
945
+
946
+ if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Alpha' ) {
947
+ $orderby = 'name';
948
+ } else {
949
+ $orderby = 'name';
950
+ foreach($terms as $term_sort) {
951
+ $orderby = wc_attribute_orderby( $term_sort->taxonomy );
952
+ break;
953
+ }
954
+ }
955
+
956
+ switch ( $orderby ) {
957
+ case 'name':
958
+ $get_terms_args['orderby'] = 'name';
959
+ $get_terms_args['menu_order'] = false;
960
+ break;
961
+ case 'id':
962
+ $get_terms_args['orderby'] = 'id';
963
+ $get_terms_args['order'] = 'ASC';
964
+ $get_terms_args['menu_order'] = false;
965
+ break;
966
+ case 'menu_order':
967
+ $get_terms_args['menu_order'] = 'ASC';
968
+ break;
969
+ default:
970
+ break;
971
+ }
972
+
973
+ if( count($terms) ) {
974
+ $terms_first = reset($terms);
975
+ $terms2 = get_terms( $terms_first->taxonomy, $get_terms_args );
976
+ foreach ( $terms as $term ) {
977
+ $sort_array[] = array_search($term->term_id, $terms2);
978
+ if ( ! empty($term->child) ) {
979
+ self::sort_terms( $term->child, $sort_data );
980
+ }
981
+ }
982
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
983
+ }
984
+ }
985
+ $sort_array = self::sort_child_parent_hierarchy($terms);
986
+ @ array_multisort( $sort_array, SORT_DESC, SORT_NUMERIC, $terms );
987
+ }
988
+ }
989
+ }
990
+
991
+ public static function set_terms_on_same_level( $terms, $return_array = array(), $add_spaces = true ) {
992
+ if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
993
+ foreach ( $terms as $term ) {
994
+ if ( $add_spaces ) {
995
+ for ( $i = 0; $i < $term->depth; $i++ ) {
996
+ $term->name = "&nbsp;&nbsp;" . $term->name;
997
+ }
998
+ }
999
+
1000
+ if( ! empty($term->child) ) {
1001
+ $child = $term->child;
1002
+ unset( $term->child );
1003
+ }
1004
+
1005
+ $return_array[] = $term;
1006
+
1007
+ if ( ! empty($child) ) {
1008
+ $return_array = self::set_terms_on_same_level( $child, $return_array, $add_spaces );
1009
+ unset($child);
1010
+ }
1011
+ }
1012
+ } else {
1013
+ $return_array = $terms;
1014
+ }
1015
+ return $return_array;
1016
+ }
1017
+
1018
+ public static function get_filter_products( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items, $use_filters = true ) {
1019
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1020
+ global $wp_query, $wp_rewrite;
1021
+ $_POST['product_cat'] = $wp_query_product_cat;
1022
+
1023
+ $old_post_terms = (isset($_POST['terms']) ? $_POST['terms'] : null);
1024
+
1025
+ add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
1026
+
1027
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1028
+ $tags = (isset($args['product_tag']) ? $args['product_tag'] : null);
1029
+ $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
1030
+ $args['post__in'] = array();
1031
+
1032
+ if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
1033
+ $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
1034
+ }
1035
+ if ( $use_filters ) {
1036
+ $args['post__in'] = $BeRocket_AAPF->limits_filter( $args['post__in'] );
1037
+ $args['post__in'] = $BeRocket_AAPF->price_filter( $args['post__in'] );
1038
+ $args['post__in'] = $BeRocket_AAPF->add_terms( $args['post__in'] );
1039
+ } else {
1040
+ $args = array( 'posts_per_page' => -1 );
1041
+ if ( ! empty($_POST['product_cat']) and $_POST['product_cat'] != '-1' ) {
1042
+ $args['tax_query'][] = array(
1043
+ 'taxonomy' => 'product_cat',
1044
+ 'field' => 'slug',
1045
+ 'terms' => strip_tags( $_POST['product_cat'] ),
1046
+ 'operator' => 'IN'
1047
+ );
1048
+ }
1049
+ }
1050
+
1051
+ $args['post_status'] = 'publish';
1052
+ $args['post_type'] = 'product';
1053
+
1054
+ if( isset($args['tax_query']) ) {
1055
+ $tax_query_reset = $args['tax_query'];
1056
+ unset($args['tax_query']);
1057
+ }
1058
+ $wp_query = new WP_Query( $args );
1059
+ if( isset($tax_query_reset) ) {
1060
+ $wp_query->set('tax_query', $tax_query_reset);
1061
+ $args['tax_query'] = $tax_query_reset;
1062
+ unset($tax_query_reset);
1063
+ }
1064
+
1065
+ // here we get max products to know if current page is not too big
1066
+ if( ! isset($_POST['location']) ) {
1067
+ $_POST['location'] = '';
1068
+ }
1069
+ if ( $wp_rewrite->using_permalinks() and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
1070
+ $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
1071
+ if( isset($args['tax_query']) ) {
1072
+ $tax_query_reset = $args['tax_query'];
1073
+ unset($args['tax_query']);
1074
+ }
1075
+ $wp_query = new WP_Query( $args );
1076
+ if( isset($tax_query_reset) ) {
1077
+ $wp_query->set('tax_query', $tax_query_reset);
1078
+ $args['tax_query'] = $tax_query_reset;
1079
+ unset($tax_query_reset);
1080
+ }
1081
+ }
1082
+ if ( $wp_query->found_posts <= 1 ) {
1083
+ $args['paged'] = 0;
1084
+ if( isset($args['tax_query']) ) {
1085
+ $tax_query_reset = $args['tax_query'];
1086
+ unset($args['tax_query']);
1087
+ }
1088
+ $wp_query = new WP_Query( $args );
1089
+ if( isset($tax_query_reset) ) {
1090
+ $wp_query->set('tax_query', $tax_query_reset);
1091
+ $args['tax_query'] = $tax_query_reset;
1092
+ unset($tax_query_reset);
1093
+ }
1094
+ }
1095
+
1096
+ $products = array();
1097
+ if ( $wp_query->have_posts() ) {
1098
+ while ( have_posts() ) {
1099
+ the_post();
1100
+ $products[] = get_the_ID();
1101
+ }
1102
+ }
1103
+
1104
+ wp_reset_query();
1105
+ if( isset($meta_query) && is_array( $meta_query ) && count( $meta_query ) > 0 ) {
1106
+ $q_vars = $wp_query->query_vars;
1107
+ foreach( $q_vars['meta_query'] as $key_meta => $val_meta ) {
1108
+ if( $key_meta != 'relation' && $val_meta['key'] == '_stock_status') {
1109
+ unset( $q_vars['meta_query'][$key_meta] );
1110
+ }
1111
+ }
1112
+ $q_vars['meta_query'] = array_merge( $q_vars['meta_query'], $meta_query );
1113
+ $wp_query->set('meta_query', $q_vars['meta_query']);
1114
+ }
1115
+ if( ! empty($tags) ) {
1116
+ $q_vars = $wp_query->query_vars;
1117
+ $q_vars['product_tag'] = $tags;
1118
+ unset($q_vars['s']);
1119
+ if( isset($q_vars['tax_query']) ) {
1120
+ $tax_query_reset = $q_vars['tax_query'];
1121
+ unset($q_vars['tax_query']);
1122
+ }
1123
+ $wp_query = new WP_Query( $q_vars );
1124
+ if( isset($tax_query_reset) ) {
1125
+ $wp_query->set('tax_query', $tax_query_reset);
1126
+ $q_vars['tax_query'] = $tax_query_reset;
1127
+ unset($tax_query_reset);
1128
+ }
1129
+ }
1130
+
1131
+ $_POST['terms'] = $old_post_terms;
1132
+ return $products;
1133
+ }
1134
+
1135
+ public static function woocommerce_hide_out_of_stock_items(){
1136
+ $hide = get_option( 'woocommerce_hide_out_of_stock_items', null );
1137
+
1138
+ if ( is_array( $hide ) ) {
1139
+ $hide = array_map( 'stripslashes', $hide );
1140
+ } elseif ( ! is_null( $hide ) ) {
1141
+ $hide = stripslashes( $hide );
1142
+ }
1143
+
1144
+ return apply_filters( 'berocket_aapf_hide_out_of_stock_items', $hide );
1145
+ }
1146
+
1147
+ public static function price_range_count($term, $from, $to) {
1148
+ if( class_exists('WP_Meta_Query') && class_exists('WP_Tax_Query') ) {
1149
+ global $wpdb, $wp_query;
1150
+ $old_join_posts = '';
1151
+ $has_new_function = method_exists('WC_Query', 'get_main_query') && method_exists('WC_Query', 'get_main_meta_query') && method_exists('WC_Query', 'get_main_tax_query');
1152
+ if( $has_new_function ) {
1153
+ $WC_Query_get_main_query = WC_Query::get_main_query();
1154
+ $has_new_function = ! empty($WC_Query_get_main_query);
1155
+ }
1156
+ if( ! $has_new_function ) {
1157
+ $old_query_vars = self::old_wc_compatible($wp_query);
1158
+ $old_meta_query = (empty( $old_query_vars[ 'meta_query' ] ) || ! is_array($old_query_vars[ 'meta_query' ]) ? array() : $old_query_vars['meta_query']);
1159
+ $old_tax_query = (empty($old_query_vars['tax_query']) || ! is_array($old_query_vars[ 'tax_query' ]) ? array() : $old_query_vars['tax_query']);
1160
+ } else {
1161
+ $old_query_vars = self::old_wc_compatible($wp_query, true);
1162
+ }
1163
+ if( ! empty( $old_query_vars['posts__in'] ) ) {
1164
+ $old_join_posts = " AND {$wpdb->posts}.ID IN (".implode(',', $old_query_vars['posts__in']).") ";
1165
+ }
1166
+ if( $has_new_function ) {
1167
+ $tax_query = WC_Query::get_main_tax_query();
1168
+ } else {
1169
+ $tax_query = $old_tax_query;
1170
+ }
1171
+ if( $has_new_function ) {
1172
+ $meta_query = WC_Query::get_main_meta_query();
1173
+ } else {
1174
+ $meta_query = $old_meta_query;
1175
+ }
1176
+ foreach( $meta_query as $key => $val ) {
1177
+ if( is_array($val) ) {
1178
+ if ( ! empty( $val['price_filter'] ) || ! empty( $val['rating_filter'] ) ) {
1179
+ unset( $meta_query[ $key ] );
1180
+ }
1181
+ if( isset( $val['relation']) ) {
1182
+ unset($val['relation']);
1183
+ foreach( $val as $key2 => $val2 ) {
1184
+ if ( isset( $val2['key'] ) && $val2['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1162') ) {
1185
+ if ( isset( $meta_query[ $key ][ $key2 ] ) ) unset( $meta_query[ $key ][ $key2 ] );
1186
+ }
1187
+ }
1188
+ if( count($meta_query[ $key ]) <= 1 ) {
1189
+ unset( $meta_query[ $key ] );
1190
+ }
1191
+ } else {
1192
+ if ( isset( $val['key'] ) && $val['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1170') ) {
1193
+ if ( isset( $meta_query[ $key ] ) ) unset( $meta_query[ $key ] );
1194
+ }
1195
+ }
1196
+ }
1197
+ }
1198
+ $queried_object = $wp_query->get_queried_object_id();
1199
+ if( ! empty($queried_object) ) {
1200
+ $query_object = $wp_query->get_queried_object();
1201
+ if( ! empty($query_object->taxonomy) && ! empty($query_object->slug) ) {
1202
+ $tax_query[ $query_object->taxonomy ] = array(
1203
+ 'taxonomy' => $query_object->taxonomy,
1204
+ 'terms' => array( $query_object->slug ),
1205
+ 'field' => 'slug',
1206
+ );
1207
+ }
1208
+ }
1209
+ $meta_query = new WP_Meta_Query( $meta_query );
1210
+ $tax_query = new WP_Tax_Query( $tax_query );
1211
+ $meta_query_sql = $meta_query->get_sql( 'post', $wpdb->posts, 'ID' );
1212
+ $tax_query_sql = $tax_query->get_sql( $wpdb->posts, 'ID' );
1213
+
1214
+ // Generate query
1215
+ $query = array();
1216
+ $query['select'] = "SELECT COUNT( DISTINCT {$wpdb->posts}.ID ) as range_count";
1217
+ $query['from'] = "FROM {$wpdb->posts}";
1218
+ $query['join'] = "
1219
+ INNER JOIN {$wpdb->postmeta} AS price_term ON {$wpdb->posts}.ID = price_term.post_id
1220
+ " . $tax_query_sql['join'] . $meta_query_sql['join'];
1221
+ $query['where'] = "
1222
+ WHERE {$wpdb->posts}.post_type IN ( 'product' )
1223
+ AND " . br_select_post_status() . "
1224
+ " . $tax_query_sql['where'] . $meta_query_sql['where'] . "
1225
+ AND price_term.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1203')."'
1226
+ AND price_term.meta_value >= {$from} AND price_term.meta_value <= {$to}
1227
+ ";
1228
+ if( defined( 'WCML_VERSION' ) && defined('ICL_LANGUAGE_CODE') ) {
1229
+ $query['join'] = $query['join']." INNER JOIN {$wpdb->prefix}icl_translations as wpml_lang ON ( {$wpdb->posts}.ID = wpml_lang.element_id )";
1230
+ $query['where'] = $query['where']." AND wpml_lang.language_code = '".ICL_LANGUAGE_CODE."' AND wpml_lang.element_type = 'post_product'";
1231
+ }
1232
+ br_where_search( $query );
1233
+ $query['where'] .= $old_join_posts;
1234
+ $query = apply_filters( 'woocommerce_get_filtered_ranges_product_counts_query', $query );
1235
+ $query = implode( ' ', $query );
1236
+
1237
+ $results = $wpdb->get_results( $query );
1238
+ if( isset( $results[0]->range_count ) ) {
1239
+ $term->count = $results[0]->range_count;
1240
+ }
1241
+ }
1242
+ return $term;
1243
+ }
1244
+ }
1245
+ new BeRocket_AAPF_Widget_functions();
js/admin.js CHANGED
@@ -278,11 +278,12 @@ var berocket_admin_filter_types_by_attr = {
278
  && ( type == 'tag_cloud'
279
  || type == 'slider'
280
  || type == 'select' ) ) ) );
281
- berocket_aapf_show_hide( $('.berocket_aapf_widget_admin_price_attribute', $parent),
282
- ( filter_type != 'attribute'
283
- || attribute != 'price' ) );
284
  berocket_aapf_show_hide( $('.berocket_aapf_widget_admin_ranges_hide', $parent),
285
  ( type == 'ranges' ) );
 
 
 
 
286
  berocket_aapf_show_hide( $('.berocket_aapf_advanced_color_pick_settings', $parent),
287
  ( type != 'color' && type != 'image' ) );
288
  berocket_aapf_show_hide( $('.berocket_aapf_product_sub_cat_current', $parent),
@@ -300,14 +301,12 @@ var berocket_admin_filter_types_by_attr = {
300
  berocket_aapf_show_hide( $('.berocket_aapf_order_values_by', $parent),
301
  ( filter_type == '_stock_status'
302
  || filter_type == 'attribute' && attribute == 'price'
303
- || type == 'slider'
304
  || filter_type == 'date'
305
  || filter_type == '_sale'
306
  || filter_type == '_rating' ) );
307
  berocket_aapf_show_hide( $('.berocket_aapf_order_values_type', $parent),
308
  ( ( filter_type != 'attribute'
309
  && filter_type != 'custom_taxonomy' )
310
- || type == 'slider'
311
  || type == 'ranges')
312
  && filter_type != 'tag'
313
  && filter_type != '_rating' );
278
  && ( type == 'tag_cloud'
279
  || type == 'slider'
280
  || type == 'select' ) ) ) );
 
 
 
281
  berocket_aapf_show_hide( $('.berocket_aapf_widget_admin_ranges_hide', $parent),
282
  ( type == 'ranges' ) );
283
+ berocket_aapf_show_hide( $('.berocket_aapf_widget_admin_price_attribute', $parent),
284
+ ( filter_type != 'attribute'
285
+ || attribute != 'price'
286
+ || type != 'slider' ) );
287
  berocket_aapf_show_hide( $('.berocket_aapf_advanced_color_pick_settings', $parent),
288
  ( type != 'color' && type != 'image' ) );
289
  berocket_aapf_show_hide( $('.berocket_aapf_product_sub_cat_current', $parent),
301
  berocket_aapf_show_hide( $('.berocket_aapf_order_values_by', $parent),
302
  ( filter_type == '_stock_status'
303
  || filter_type == 'attribute' && attribute == 'price'
 
304
  || filter_type == 'date'
305
  || filter_type == '_sale'
306
  || filter_type == '_rating' ) );
307
  berocket_aapf_show_hide( $('.berocket_aapf_order_values_type', $parent),
308
  ( ( filter_type != 'attribute'
309
  && filter_type != 'custom_taxonomy' )
 
310
  || type == 'ranges')
311
  && filter_type != 'tag'
312
  && filter_type != '_rating' );
js/widget.min.js CHANGED
@@ -1776,9 +1776,9 @@ var berocket_aapf_widget_product_filters = [],
1776
  var $this = $widget.find('.berocket_widget_show_values');
1777
  var widget_block = $this.parents('.berocket_single_filter_widget');
1778
  if(widget_block.hasClass('show_o_sel_values')) {
1779
- $this.html(the_ajax_script.translate.hide_value+'<span class="hide_button"></span>');
1780
  } else {
1781
- $this.html(the_ajax_script.translate.show_value+'<span class="show_button"></span>');
1782
  }
1783
  }
1784
 
@@ -2209,7 +2209,7 @@ function load_hash_test() {
2209
  }
2210
  load_hash_test();
2211
  (function ($){
2212
- function berocket_rewidth_inline_filters() {
2213
  $('.berocket_single_filter_widget.berocket_hidden_clickable').each(function() {
2214
  $(this).removeClass('berocket_hidden_clickable_left').removeClass('berocket_hidden_clickable_right');
2215
  var position = $(this).offset().left + $(this).outerWidth();
@@ -2273,6 +2273,9 @@ load_hash_test();
2273
  $element = $element.next();
2274
  }
2275
  }
 
 
 
2276
  }
2277
  berocket_rewidth_inline_filters();
2278
  $(document).ready(function (){
@@ -2333,13 +2336,18 @@ load_hash_test();
2333
  e.preventDefault();
2334
  $(this).toggleClass( "active" );
2335
  $('#berocket-ajax-filters-sidebar').toggleClass('active');
 
2336
  });
2337
- $(document).on('click', '#berocket-ajax-filters-sidebar-shadow, #berocket-ajax-filters-sidebar-close', function () {
 
2338
  $('.berocket_ajax_filters_sidebar_toggle').removeClass( "active" );
2339
  $('#berocket-ajax-filters-sidebar').removeClass('active');
 
2340
  });
2341
  $(document).on('berocket_filters_first_load', function (){
2342
- $('.berocket_element_above_products_is_hide').hide(0).removeClass('br_is_hidden');
 
 
2343
  });
2344
  })(jQuery);
2345
  function berocket_ajax_load_product_table_compat() {
1776
  var $this = $widget.find('.berocket_widget_show_values');
1777
  var widget_block = $this.parents('.berocket_single_filter_widget');
1778
  if(widget_block.hasClass('show_o_sel_values')) {
1779
+ $this.html(the_ajax_script.translate.hide_value+'<span class="hide_button fa"></span>');
1780
  } else {
1781
+ $this.html(the_ajax_script.translate.show_value+'<span class="show_button fa"></span>');
1782
  }
1783
  }
1784
 
2209
  }
2210
  load_hash_test();
2211
  (function ($){
2212
+ function berocket_rewidth_inline_filters(cfunc) {
2213
  $('.berocket_single_filter_widget.berocket_hidden_clickable').each(function() {
2214
  $(this).removeClass('berocket_hidden_clickable_left').removeClass('berocket_hidden_clickable_right');
2215
  var position = $(this).offset().left + $(this).outerWidth();
2273
  $element = $element.next();
2274
  }
2275
  }
2276
+ if ( typeof cfunc == "function" ) {
2277
+ cfunc();
2278
+ }
2279
  }
2280
  berocket_rewidth_inline_filters();
2281
  $(document).ready(function (){
2336
  e.preventDefault();
2337
  $(this).toggleClass( "active" );
2338
  $('#berocket-ajax-filters-sidebar').toggleClass('active');
2339
+ $('body').toggleClass('berocket_ajax_filters_sidebar_active');
2340
  });
2341
+ $(document).on('click', '#berocket-ajax-filters-sidebar-shadow, #berocket-ajax-filters-sidebar-close', function (e) {
2342
+ e.preventDefault();
2343
  $('.berocket_ajax_filters_sidebar_toggle').removeClass( "active" );
2344
  $('#berocket-ajax-filters-sidebar').removeClass('active');
2345
+ $('body').removeClass('berocket_ajax_filters_sidebar_active');
2346
  });
2347
  $(document).on('berocket_filters_first_load', function (){
2348
+ berocket_rewidth_inline_filters(function (){
2349
+ $('.berocket_element_above_products_is_hide').hide(0).removeClass('br_is_hidden');
2350
+ });
2351
  });
2352
  })(jQuery);
2353
  function berocket_ajax_load_product_table_compat() {
languages/BeRocket_AJAX_domain-ru_RU.mo CHANGED
Binary file
languages/BeRocket_AJAX_domain-ru_RU.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce AJAX Products Filter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-10-30 12:54+0000\n"
6
- "PO-Revision-Date: 2019-10-30 14:25+0000\n"
7
  "Last-Translator: root <root@root.com>\n"
8
  "Language-Team: Русский\n"
9
  "Language: ru_RU\n"
@@ -22,22 +22,22 @@ msgstr ""
22
  "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
23
  "X-Loco-Target-Locale: ru_RU\n"
24
  "X-Generator: Loco https://localise.biz/\n"
25
- "X-Loco-Version: 2.3.1; wp-5.2.4"
26
 
27
  #. Name of the plugin
28
- #: main.php:61
29
  msgid "WooCommerce AJAX Products Filter"
30
  msgstr "WooCommerce AJAX Products Filter"
31
 
32
- #: main.php:62
33
  msgid "Product Filters"
34
  msgstr "Фильтры продуктов"
35
 
36
- #: main.php:72 main.php:1456
37
  msgid "There are no products meeting your criteria"
38
  msgstr "Нет товаров, соответствующих вашим критериям"
39
 
40
- #: main.php:322
41
  msgid ""
42
  "<strong>Please update all BeRocket plugins to the most recent version. "
43
  "WooCommerce AJAX Products Filter is not working correctly with older "
@@ -47,141 +47,185 @@ msgstr ""
47
  "WooCommerce AJAX Products Filter работает некорректно со старыми версиями. "
48
  "</strong>"
49
 
50
- #: main.php:386
51
  msgid "General"
52
  msgstr "Главные"
53
 
54
- #: main.php:390
55
  msgid "Elements"
56
  msgstr "Элементы"
57
 
58
- #: main.php:394
59
  msgid "Selectors"
60
  msgstr "Селекторы"
61
 
62
- #: main.php:398
63
  msgid "SEO"
64
  msgstr "SEO"
65
 
66
- #: main.php:402
67
  msgid "Advanced"
68
  msgstr "Продвинутые"
69
 
70
- #: main.php:406
71
  msgid "Design"
72
  msgstr "Дизайн"
73
 
74
- #: main.php:410
75
  msgid "JavaScript/CSS"
76
  msgstr "JavaScript/CSS"
77
 
78
- #: main.php:415 includes/custom_post.php:645
79
  msgid "Filters"
80
  msgstr "Фильтры"
81
 
82
- #: main.php:420
83
  msgid "License"
84
  msgstr "Лицензия"
85
 
86
- #: main.php:424
87
- msgid "Addons"
88
- msgstr "Адоны"
89
 
90
- #: main.php:434
91
  msgid "\"No Products\" message"
92
  msgstr "Сообщение «Нет товаров»"
93
 
94
- #: main.php:440
95
  msgid "Products Per Page"
96
  msgstr "Продукты на странице"
97
 
98
- #: main.php:446 templates/filter_post.php:373
99
- msgid "Attribute Values count"
100
  msgstr "Количество Значений Атрибута"
101
 
102
- #: main.php:450
103
  msgid ""
104
  "Attribute Values count that will be displayed. Other values will be hidden "
105
- "and can be displayed by pressing the button. Option <strong>Hide \"Show/Hide "
106
- "value(s)\" button</strong> must be disabled"
107
  msgstr ""
108
  "Количество значений атрибутов, которое будет отображаться. Другие значения "
109
  "будут скрыты и могут быть отображены нажатием кнопки. Опция <strong> Скрыть "
110
  "кнопку «Показать/Скрыть значения» </strong> должна быть отключена"
111
 
112
- #: main.php:453
113
- msgid "Sorting control"
114
  msgstr "Контроль сортировки"
115
 
116
- #: main.php:457
117
  msgid "Take control over WooCommerce's sorting selectbox?"
118
  msgstr "Взять под контроль поле выбора сортировки WooCommerce?"
119
 
120
- #: main.php:460
121
- msgid "Hide values"
122
- msgstr "Скрыть значения"
123
-
124
- #: main.php:466
125
- msgid "Hide values without products"
126
- msgstr "Скрыть значения без продуктов"
127
-
128
- #: main.php:472
129
- msgid "Hide selected values"
130
- msgstr "Скрыть выбранные значения"
131
-
132
- #: main.php:478
133
- msgid "Hide empty widget"
134
- msgstr "Скрыть пустые виджеты"
135
-
136
- #: main.php:483
137
  msgid "Jump to first page"
138
  msgstr "Переходить на первую страницу"
139
 
140
- #: main.php:487
141
  msgid "Check if you want load first page after filters change"
142
  msgstr "Включите, если нужно Вам загружать первую страницу после фильтрации"
143
 
144
- #: main.php:490
145
- msgid "Scroll page to the top"
146
  msgstr "Прокрутить страницу наверх"
147
 
148
- #: main.php:493 main.php:544 main.php:705
149
  msgid "Selected filters position"
150
  msgstr "Позиция выбранных фильтров"
151
 
152
- #: main.php:498 templates/filter_post.php:650 includes/paid.php:84
153
  msgid "Disable"
154
  msgstr "Выключено"
155
 
156
- #: main.php:499
157
  msgid "Mobile and Desktop"
158
  msgstr "Мобильные и Персональные компьютеры "
159
 
160
- #: main.php:500 includes/custom_post.php:299 includes/custom_post.php:611
161
  msgid "Mobile"
162
  msgstr "Мобильных"
163
 
164
- #: main.php:501 includes/custom_post.php:307 includes/custom_post.php:619
165
  msgid "Desktop"
166
  msgstr "Персональных компьютерах "
167
 
168
- #: main.php:510
169
  msgid "px from products top."
170
  msgstr "px от продуктов сверху."
171
 
172
- #: main.php:510
173
  msgid "Use this to fix top scroll."
174
  msgstr "Используйте это для исправления скролла сверху"
175
 
176
- #: main.php:515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  msgid "Select2"
178
  msgstr "Select2"
179
 
180
- #: main.php:522
181
  msgid "Use Select2 script for dropdown menu"
182
  msgstr "Использовать скрипт Select2 для выпадающего меню"
183
 
184
- #: main.php:529
185
  msgid ""
186
  "Fixed CSS styles for Select2 (do not enable if Select2 work correct. Option "
187
  "can break Select2 in other plugins or themes)"
@@ -189,43 +233,27 @@ msgstr ""
189
  "Исправление стили CSS для Select2 (не включайте, если Select2 работает "
190
  "правильно. Опция может сломать Select2 в других плагинах или темах)"
191
 
192
- #: main.php:534
193
- msgid "Reload amount of products"
194
- msgstr "Перезагружать количество продуктов"
195
-
196
- #: main.php:539
197
- msgid "Use filters on products count display"
198
- msgstr "Использовать фильтры на основе отображаемых продуктов"
199
-
200
- #: main.php:539
201
- msgid ""
202
- "Can slow down page load and filtering speed. Also do not use it with more "
203
- "then 5000 products."
204
- msgstr ""
205
- "Может замедлить загрузку страницы и скорость фильтрации. Также не "
206
- "используйте с более чем 5000 продуктов."
207
-
208
- #: main.php:548
209
  msgid "WooCommerce Description(in header)"
210
  msgstr "Описание WooCommerce(в заголовке)"
211
 
212
- #: main.php:549
213
  msgid "WooCommerce Before Shop Loop"
214
  msgstr "Перед WooCommerce Shop Loop"
215
 
216
- #: main.php:550
217
  msgid "WooCommerce After Shop Loop"
218
  msgstr "После WooCommerce Shop Loop"
219
 
220
- #: main.php:555
221
- msgid "Show selected filters"
222
  msgstr "Отображать выбранные фильтры"
223
 
224
- #: main.php:562
225
  msgid "Show selected filters above products"
226
  msgstr "Показать выбранные фильтры над продуктами"
227
 
228
- #: main.php:569
229
  msgid ""
230
  "Hide selected filters area if nothing selected(affect only area above "
231
  "products)"
@@ -233,11 +261,11 @@ msgstr ""
233
  "Скрыть область выбранных фильтров, если ничего не выбрано (влияет только на "
234
  "область над продуктами)"
235
 
236
- #: main.php:580
237
- msgid "Products selector"
238
- msgstr "Селектор продуктов"
239
 
240
- #: main.php:585 main.php:630
241
  msgid ""
242
  "Selector for tag that is holding products. Don't change this if you don't "
243
  "know what it is"
@@ -245,11 +273,11 @@ msgstr ""
245
  "Селектор для тега, который содержит товары. Не меняйте это, если Вы не "
246
  "знаете, что это такое"
247
 
248
- #: main.php:588
249
- msgid "Product count selector"
250
  msgstr "Селектор количества продуктов"
251
 
252
- #: main.php:595
253
  msgid ""
254
  "Selector for tag with product result count(\"Showing 1–8 of 61 results\"). "
255
  "Don't change this if you don't know what it is"
@@ -257,15 +285,15 @@ msgstr ""
257
  "Селектор для тега с результатов количества продуктов(«Показано 1–8 из 61 "
258
  "результатов»). Не меняйте это, если Вы не знаете, что это такое"
259
 
260
- #: main.php:601
261
  msgid "Enable if page doesn't have product count block"
262
  msgstr "Включить, если на странице нет блока подсчета товаров"
263
 
264
- #: main.php:606
265
- msgid "Product order by selector"
266
  msgstr "Селектор для блока с сортировкой продуктов"
267
 
268
- #: main.php:612
269
  msgid ""
270
  "Selector for order by form with drop down menu. Don't change this if you "
271
  "don't know what it is"
@@ -273,15 +301,15 @@ msgstr ""
273
  "Селектор для блока сортировки. Не меняйте это, если Вы не знаете, что это "
274
  "такое"
275
 
276
- #: main.php:618
277
  msgid "Enable if page doesn't have order by drop down menu"
278
  msgstr "Включить, если страница не имеет порядка в выпадающем меню"
279
 
280
- #: main.php:623
281
- msgid "Products pagination selector"
282
  msgstr "Селектор страниц"
283
 
284
- #: main.php:636
285
  msgid ""
286
  "Enable if page doesn't have pagination.<strong>Page with lazy load also has "
287
  "pagination</strong>"
@@ -289,72 +317,76 @@ msgstr ""
289
  "Включите, если страница не имеет нумерации страниц. <strong> Страница с "
290
  "отложенной загрузкой также имеет нумерацию страниц </strong>"
291
 
292
- #: main.php:642
293
  msgid "Disable AJAX Pagination"
294
  msgstr "Отключить пагинацию AJAX"
295
 
296
- #: main.php:649
297
- msgid "Update URL on filtering"
298
  msgstr "Обновить URL при фильтрации"
299
 
300
- #: main.php:654
301
  msgid ""
302
  "If this option is on URL will be changed when filter is selected/changed"
303
  msgstr ""
304
  "Если эта опция включена, URL будет изменен при выборе / изменении фильтра."
305
 
306
- #: main.php:657
307
  msgid "Use slug in URL"
308
  msgstr "Используйте slug в URL"
309
 
310
- #: main.php:662
311
  msgid "Use attribute slug instead ID"
312
  msgstr "Используйте атрибут slug вместо ID"
313
 
314
- #: main.php:665
315
- msgid "URL decode"
316
  msgstr "Декодирование URL"
317
 
318
- #: main.php:670
319
  msgid "Decode all symbols in URL to prevent errors on server side"
320
  msgstr ""
321
  "Расшифровует все символы в URL, чтобы избежать ошибок на стороне сервера"
322
 
323
- #: main.php:673
324
  msgid "SEO Meta, Title"
325
  msgstr "SEO Мета, Заголовки"
326
 
327
- #: main.php:678
328
  msgid "Meta Description, Page title and Page Header with filters"
329
  msgstr "Мета-описание, заголовок страницы и заголовок страницы с фильтрами"
330
 
331
- #: main.php:681
332
- msgid "SEO Meta, Title Elements"
333
- msgstr "SEO Мета, Элементы Заголовка"
334
 
335
- #: main.php:688 templates/admin.php:27 templates/filters_group_simple.php:2
336
- #: templates/filter_post_simple.php:11 includes/paid.php:1480
337
- #: includes/paid.php:1650 templates/settings/design.php:789
338
  msgid "Title"
339
  msgstr "Название"
340
 
341
- #: main.php:694
342
  msgid "Header"
343
  msgstr "Заголовок"
344
 
345
- #: main.php:700 templates/filter_post.php:520
346
  msgid "Description"
347
  msgstr "Описание"
348
 
349
- #: main.php:710
 
 
 
 
350
  msgid "{title} with [attribute] [values] and [attribute] [values]"
351
  msgstr "{title} with [attribute] [values] and [attribute] [values]"
352
 
353
- #: main.php:711
354
  msgid "{title} [attribute]:[values];[attribute]:[values]"
355
  msgstr "{title} [attribute]:[values];[attribute]:[values]"
356
 
357
- #: main.php:712
358
  msgid ""
359
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
360
  "[values]"
@@ -362,51 +394,23 @@ msgstr ""
362
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
363
  "[values]"
364
 
365
- #: main.php:713
366
  msgid "{title} - [values] / [values]"
367
  msgstr "{title} - [values] / [values]"
368
 
369
- #: main.php:720
370
- msgid "Add position relative to products holder"
371
- msgstr "Добавление position relative к продуктам"
372
-
373
- #: main.php:724
374
- msgid "Fix for correct displaying loading block"
375
- msgstr "Исправление для правильного отображение блока загрузки"
376
-
377
- #: main.php:727
378
  msgid "\"No Products\" class"
379
  msgstr "Класс \"Нет продуктов\""
380
 
381
- #: main.php:731
382
  msgid "Add class and use it to style \"No Products\" box"
383
  msgstr "Добавить класс для стилей \"Нет продуктов\""
384
 
385
- #: main.php:734
386
- msgid "Turn all filters off"
387
- msgstr "Выключите все фильтры"
388
-
389
- #: main.php:738
390
- msgid ""
391
- "If you want to hide filters without losing current configuration just turn "
392
- "them off"
393
- msgstr ""
394
- "Если Вы хотите скрыть фильтры без потери текущей конфигурации, просто "
395
- "отключите их"
396
-
397
- #: main.php:741
398
- msgid "Show all values"
399
- msgstr "Показать все значения"
400
-
401
  #: main.php:745
402
- msgid "Check if you want to show not used attribute values too"
403
- msgstr "Включите если Вы хотите также показать не используемые значения"
404
-
405
- #: main.php:748
406
  msgid "Display products"
407
  msgstr "Отображать продукты"
408
 
409
- #: main.php:752
410
  msgid ""
411
  "Display always products when filters selected. Use this when you have "
412
  "categories and subcategories on shop pages, but you want to display products "
@@ -416,30 +420,90 @@ msgstr ""
416
  "Вас есть категории и подкатегории на странице магазина, но вам нужно "
417
  "отображать продукты при фильтрации."
418
 
419
- #: main.php:755
420
- msgid "Hide out of stock variable"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
  msgstr "Скрыть вариации которых нет в наличии"
422
 
423
- #: main.php:761 includes/paid.php:127 includes/paid.php:139
424
- #: includes/paid.php:1725
425
  msgid "Disabled"
426
  msgstr "Отключить"
427
 
428
- #: main.php:762
429
  msgid "Enabled"
430
  msgstr "Включить"
431
 
432
- #: main.php:763
433
  msgid "Enabled only with selected \"Out of stock\" filter"
434
  msgstr "Включить если выбрано в фильтрах \"Нет в наличии\""
435
 
436
- #: main.php:767
437
  msgid "Hide variable products if variations with selected filters out of stock"
438
  msgstr ""
439
  "Скрывать вариации продуктов, если вариаций с выбранными фильтрами нет в "
440
  "наличии"
441
 
442
- #: main.php:774
443
  msgid ""
444
  "Use it for attributes values to display more correct count with option "
445
  "Reload amount of products"
@@ -447,7 +511,7 @@ msgstr ""
447
  "Используйте для значений атрибутов, чтобы отобразить более правильный счет с "
448
  "опцией Перезагружать количество продуктов"
449
 
450
- #: main.php:781
451
  msgid ""
452
  "Fix WPEngine query issue (Also can work with other hostings if they limit "
453
  "query size)"
@@ -455,115 +519,77 @@ msgstr ""
455
  "Исправление проблемы с запросом WPEngine (также может работать с другими "
456
  "хостингами, если они ограничивают размер запроса)"
457
 
458
- #: main.php:786
459
- msgid "GET query"
460
- msgstr "Запрос GET"
461
 
462
- #: main.php:790
463
- msgid "Use GET query instead POST for filtering"
464
- msgstr "Используйте GET-запрос вместо POST для фильтрации"
465
 
466
- #: main.php:793
 
 
 
 
467
  msgid "Display styles only for pages with filters"
468
  msgstr "Стили отображения только для страниц с фильтрами"
469
 
470
- #: main.php:797
471
  msgid "On some sites it can cause some visual problem on page loads"
472
  msgstr ""
473
  "На некоторых сайтах это может вызвать некоторые визуальные проблемы при "
474
  "загрузке страниц."
475
 
476
- #: main.php:800
477
- msgid "Product per row fix"
478
  msgstr "Исправление количества продуктов в строку"
479
 
480
- #: main.php:804
481
  msgid "Change this only if after filtering count of products per row changes."
482
  msgstr ""
483
  "Изменяйте это, только если после фильтрации изменяется количество товаров в "
484
  "строке."
485
 
486
- #: main.php:807
487
  msgid "Fix for sites with AJAX"
488
  msgstr "Исправление для сайтов с AJAX"
489
 
490
- #: main.php:811
491
  msgid "Add JavaScript files to all pages."
492
  msgstr "Добавить файлы JavaScript на все страницы."
493
 
494
- #: main.php:814
495
- msgid "Search page fix"
496
  msgstr "Исправление для страницы поиска"
497
 
498
- #: main.php:818
499
  msgid "Disable redirection, when search page return only one product"
500
  msgstr ""
501
  "Отключить перенаправление, когда страница поиска возвращает только один "
502
  "продукт"
503
 
504
- #: main.php:821
505
- msgid "Use Tags like custom taxonomy"
506
  msgstr "Используйте теги, такие как пользовательские таксономии"
507
 
508
- #: main.php:825
509
  msgid "Try to enable this if widget with tags didn't work."
510
  msgstr "Попробуйте включить это, если виджет с тегами не работает."
511
 
512
- #: main.php:828
513
- msgid "Use Tax options for price"
514
- msgstr "Использование налогов в фильтрах цен"
515
-
516
- #: main.php:829
517
- msgid "Only Standard tax rates will be applied for prices"
518
- msgstr "Только стандартные налоговые ставки будут применяться к ценам"
519
-
520
- #: main.php:833
521
- msgid "Do not use (filter price as it is set in products)"
522
- msgstr "Не использовать (цены в фильтрах будут как указаны в продуктах)"
523
-
524
- #: main.php:834
525
- msgid "Use tax options"
526
- msgstr "Используйте настройки налогов"
527
-
528
- #: main.php:839
529
- msgid "Disable Font Awesome"
530
- msgstr "Отключить Font Awesome"
531
-
532
- #: main.php:843
533
- msgid ""
534
- "Don't loading css file for Font Awesome on site front end. Use it only if "
535
- "you doesn't uses Font Awesome icons in widgets or you have Font Awesome in "
536
- "your theme."
537
- msgstr ""
538
- "Не загружайте файл CSS для Font Awesome на сайт. Используйте его, только "
539
- "если Вы не используете иконки Font Awesome в виджетах или у Вас есть Font "
540
- "Awesome в вашей теме."
541
-
542
- #: main.php:846
543
- msgid "Font Awesome Version"
544
- msgstr "Версия Font Awesome"
545
-
546
- #: main.php:850
547
- msgid "Font Awesome 4"
548
- msgstr "Font Awesome 4"
549
-
550
- #: main.php:851
551
- msgid "Font Awesome 5"
552
- msgstr "Font Awesome 5"
553
 
554
- #: main.php:854
555
- msgid ""
556
- "Version of Font Awesome that will be used on front end. Please select "
557
- "version that you have in your theme"
558
- msgstr ""
559
- "Версия Font Awesome, которая будет использоваться в интерфейсе. Пожалуйста, "
560
- "выберите версию, которая в вашей теме"
561
 
562
- #: main.php:872
563
  msgid "Alternative Load (DEPRECATED)"
564
  msgstr "Альтернативная загрузка (УСТАРЕВШАЯ)"
565
 
566
- #: main.php:879
567
  msgid ""
568
  "Use it on your own risk. Some features do not work with alternative load "
569
  "methods. All this methods are not supported. If you have problems with any "
@@ -573,85 +599,95 @@ msgstr ""
573
  "альтернативными методами загрузки. Все эти методы не поддерживаются. Если у "
574
  "Вас есть проблемы с любым из них, просто отключите эту опцию"
575
 
576
- #: main.php:886
577
  msgid "WordPress AJAX (deprecated)"
578
  msgstr "WordPress AJAX (устаревшая)"
579
 
580
- #: main.php:887
581
  msgid "PHP (deprecated)"
582
  msgstr "PHP (устаревшая)"
583
 
584
- #: main.php:888
585
  msgid "JavaScript (deprecated)"
586
  msgstr "JavaScript (устаревшая)"
587
 
588
- #: main.php:891
589
  msgid "Use"
590
  msgstr "Использование"
591
 
592
- #: main.php:892
593
  msgid "load method"
594
  msgstr "метод загрузки"
595
 
596
- #: main.php:893
597
  msgid "Some features do not work with alternative load method"
598
  msgstr "Некоторые функции не работают с альтернативным методом загрузки"
599
 
600
- #: main.php:898
601
- msgid "Page same as filter"
602
- msgstr "Страница такая же как фильтр"
603
 
604
- #: main.php:902 templates/admin.php:109 templates/filter_post.php:189
605
- #: templates/filter_post.php:377 templates/filter_post.php:484
606
- #: includes/paid.php:1609 templates/settings/design.php:57
607
- #: templates/settings/design.php:165 templates/settings/design.php:179
608
- #: templates/settings/design.php:184 templates/settings/design.php:421
609
- #: templates/settings/design.php:435 templates/settings/design.php:440
610
- #: templates/settings/design.php:653 templates/settings/design.php:658
611
- #: templates/settings/design.php:666 templates/settings/design.php:677
612
- #: templates/settings/design.php:682 templates/settings/design.php:722
613
- #: templates/settings/design.php:727 templates/settings/design.php:735
614
- #: templates/settings/design.php:743 templates/settings/design.php:748
615
- #: templates/settings/design.php:756 templates/settings/design.php:761
616
- #: templates/settings/design.php:793 templates/settings/design.php:807
617
- #: templates/settings/design.php:812 templates/settings/design.php:820
618
- #: templates/settings/design.php:834 templates/settings/design.php:839
619
- #: templates/settings/design.php:847 templates/settings/design.php:861
620
- #: templates/settings/design.php:866 templates/paid/filters_group.php:29
621
- msgid "Default"
622
- msgstr "По умолчанию"
623
 
624
- #: main.php:903
625
- msgid "Remove value"
626
- msgstr "Удалить значение"
 
 
 
 
627
 
628
- #: main.php:904
629
- msgid "Leave only one value"
630
- msgstr "Оставить только одно значение"
631
 
632
- #: main.php:907
633
  msgid ""
634
- "On Category, Tag, Attribute page filter for it will remove value or leave "
635
- "only one value"
 
636
  msgstr ""
637
- "На странице категории, тега, атрибута для фильтра будет удалено значение или "
638
- "останется только одно значение"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
639
 
640
- #: main.php:918
641
  msgid "Before Update:"
642
  msgstr "Перед обновлением:"
643
 
644
- #: main.php:922
645
  msgid "If you want to add own actions on filter activation, eg: alert('1');"
646
  msgstr ""
647
  "Если Вы хотите добавить собственные действия при активации фильтра, например:"
648
  " alert ('1');"
649
 
650
- #: main.php:925
651
- msgid "On Update:"
652
  msgstr "Во время обновления:"
653
 
654
- #: main.php:929
655
  msgid ""
656
  "If you want to add own actions right on products update. You can manipulate "
657
  "data here, try: data.products = 'Ha!';"
@@ -659,45 +695,45 @@ msgstr ""
659
  "Если Вы хотите добавить собственные действия прямо на обновление продуктов. "
660
  "Вы можете манипулировать данными здесь, попробуйте: data.products = 'Ha!';"
661
 
662
- #: main.php:932
663
  msgid "After Update:"
664
  msgstr "После обновления:"
665
 
666
- #: main.php:936
667
  msgid "If you want to add own actions after products updated, eg: alert('1');"
668
  msgstr ""
669
  "Если Вы хотите добавить собственные действия после обновления продуктов, "
670
  "например: alert ('1');"
671
 
672
- #: main.php:962 templates/filters_information.php:2
673
  msgid "SETUP WIZARD"
674
  msgstr "МАСТЕР УСТАНОВКИ"
675
 
676
- #: main.php:964
677
  msgid "RUN SETUP WIZARD"
678
  msgstr "ЗАПУСТИТЬ МАСТЕР НАСТРОЙКИ"
679
 
680
- #: main.php:966
681
  msgid "Run it to setup plugin options step by step"
682
  msgstr "Запустите его, чтобы шаг за шагом настроить параметры плагина"
683
 
684
- #: main.php:975 main.php:986
685
  msgid "Creating products"
686
  msgstr "Создание продуктов"
687
 
688
- #: main.php:976 main.php:987
689
  msgid "Gettings selectors"
690
  msgstr "Получение селекторов"
691
 
692
- #: main.php:977 main.php:988
693
  msgid "Removing products"
694
  msgstr "Удаление продуктов"
695
 
696
- #: main.php:978
697
  msgid "Error:"
698
  msgstr "Ошибка:"
699
 
700
- #: main.php:981
701
  msgid ""
702
  "IMPORTANT: It will generate some products on your site. Please disable all "
703
  "SEO plugins and plugins, that doing anything on product creating."
@@ -706,7 +742,7 @@ msgstr ""
706
  "отключите все плагины SEO и плагины, которые делают что-либо при создании "
707
  "продукта."
708
 
709
- #: main.php:982
710
  msgid ""
711
  "Script was runned, but page closed until end. Please stop it to prevent any "
712
  "problems on your site"
@@ -714,135 +750,132 @@ msgstr ""
714
  "Скрипт запущен, не закрывайте страницу до окончания. Пожалуйста, остановите "
715
  "это, чтобы предотвратить любые проблемы на вашем сайте"
716
 
717
- #: main.php:983
718
  msgid "Auto-Selectors"
719
  msgstr "Авто-Селекторы"
720
 
721
- #: main.php:984
722
  msgid "Stop"
723
  msgstr "Стоп"
724
 
725
- #: main.php:985
726
  msgid "Steps:"
727
  msgstr "Шаг:"
728
 
729
- #: main.php:991
730
  msgid "Get selectors automatically"
731
  msgstr "Получить селекторы автоматически"
732
 
733
- #: main.php:993
734
  msgid "How it work:"
735
  msgstr "Как это работает:"
736
 
737
- #: main.php:995
738
  msgid "Run Auto-selector"
739
  msgstr "Запустить автоматический выбор"
740
 
741
- #: main.php:996
742
  msgid ""
743
  "Wait until end <strong style=\"color:red;\">do not close this page</strong>"
744
  msgstr ""
745
  "Дождитесь окончания <strong style = \"color: red;\"> не закрывайте эту "
746
  "страницу </strong>"
747
 
748
- #: main.php:997
749
  msgid "Save settings with new selectors"
750
  msgstr "Сохранить настройки с новыми селекторами"
751
 
752
- #: main.php:1006 main.php:1020
753
  msgid "Purge Cache"
754
  msgstr "Очистить кэш"
755
 
756
- #: main.php:1022
757
  msgid "Clear attribute/custom taxonomy cache for plugin"
758
  msgstr "Очистить кэш атрибутов/пользовательских таксономий для плагина"
759
 
760
- #: main.php:1040
761
  msgid "Replace old widgets"
762
  msgstr "Заменить старые виджеты"
763
 
764
- #: main.php:1053
765
  msgid "Widget replaced"
766
  msgstr "Виджет заменен"
767
 
768
- #: main.php:1054
769
  msgid "Replacing widgets... Please wait"
770
  msgstr "Замена виджетов ... Пожалуйста, подождите"
771
 
772
- #: main.php:1058
773
  msgid "Replace widgets"
774
  msgstr "Заменить виджеты"
775
 
776
- #: main.php:1060
777
  msgid "No old widgets"
778
  msgstr "Нет старых виджетов"
779
 
780
- #: main.php:1063
781
  msgid "Replace deprecated widgets with new single filter widgets"
782
  msgstr "Заменить устаревшие виджеты фильтров новыми виджетами"
783
 
784
- #: main.php:1086
785
- msgid "User custom CSS style:"
786
- msgstr "Пользовательский стиль CSS:"
787
 
788
- #: main.php:1246 templates/filter_post.php:127 includes/paid.php:1512
789
- #: templates/settings/design.php:161
790
  msgid "Checkbox"
791
  msgstr "Флажок"
792
 
793
- #: main.php:1247 templates/filter_post.php:128 includes/paid.php:1513
794
- #: templates/settings/design.php:417
795
  msgid "Radio"
796
  msgstr "Переключатель"
797
 
798
- #: main.php:1248 templates/filter_post.php:129 includes/paid.php:1511
799
  msgid "Select"
800
  msgstr "Выбор"
801
 
802
- #: main.php:1249 templates/filter_post.php:130 includes/paid.php:1514
803
- #: templates/settings/design.php:12 templates/settings/design.php:27
804
  msgid "Color"
805
  msgstr "Цвет"
806
 
807
- #: main.php:1250 templates/filter_post.php:131 includes/paid.php:1515
808
  msgid "Image"
809
  msgstr "Картинки"
810
 
811
- #: main.php:1251 templates/filter_post.php:132
812
- #: templates/settings/design.php:634
813
  msgid "Slider"
814
  msgstr "Слайдер"
815
 
816
- #: main.php:1252 templates/filter_post.php:133
817
  msgid "Tag cloud"
818
  msgstr "Облако Тегов"
819
 
820
- #: main.php:1521 templates/color.php:206 templates/checkbox.php:140
821
  #: templates/disabled/color.php:197 templates/disabled/checkbox.php:130
822
  msgid "Show value(s)"
823
  msgstr "Показать значение(я)"
824
 
825
- #: main.php:1522
826
  msgid "Hide value(s)"
827
  msgstr "Скрыть значение(я)"
828
 
829
- #: main.php:1523
830
  msgid "Unselect all"
831
  msgstr "Сбросить все"
832
 
833
- #: main.php:1524
834
  msgid "Nothing is selected"
835
  msgstr "Ничего не выбрано"
836
 
837
- #: main.php:1525
838
  msgid "products"
839
  msgstr "продукты"
840
 
841
- #: main.php:1605
842
  msgid "Activate WooCommerce plugin before"
843
  msgstr "Активируйте плагин WooCommerce перед "
844
 
845
- #: main.php:1611
846
  msgid "Update WooCommerce plugin"
847
  msgstr "Обновите плагин WooCommerce"
848
 
@@ -863,150 +896,6 @@ msgstr "Пользовательский CSS для выбранного бло
863
  msgid "Filters group"
864
  msgstr "Группа фильтров"
865
 
866
- #: templates/admin.php:8 templates/filter_post.php:12
867
- #: templates/filters_information.php:7 templates/filters_information.php:9
868
- msgid "Widget Type"
869
- msgstr "Тип Виджета"
870
-
871
- #: templates/admin.php:11 templates/filter_post.php:16
872
- #: includes/new_widget.php:258 includes/divi-builder.php:26
873
- #: includes/custom_post.php:350 includes/widget.php:264
874
- #: includes/visual-composer.php:26 templates/settings/design.php:843
875
- msgid "Filter"
876
- msgstr "Фильтр"
877
-
878
- #: templates/admin.php:13 templates/filters_information.php:9
879
- #: includes/custom_post.php:351 includes/display_filter/update_button.php:10
880
- msgid "Update Products button"
881
- msgstr "Кнопка Фильтрации Продуктов"
882
-
883
- #: templates/admin.php:15 templates/filters_information.php:7
884
- #: includes/custom_post.php:352 includes/display_filter/reset_button.php:10
885
- msgid "Reset Products button"
886
- msgstr "Кнопка Сброса фильтров"
887
-
888
- #: templates/admin.php:17 includes/custom_post.php:353
889
- #: includes/display_filter/selected_area.php:14
890
- msgid "Selected Filters area"
891
- msgstr "Область с Выбранными Фильтрами"
892
-
893
- #: templates/admin.php:19 includes/paid.php:416
894
- msgid "Search Box"
895
- msgstr "Блок Поиска"
896
-
897
- #: templates/admin.php:33 templates/filter_post.php:36
898
- #: templates/filter_post_simple.php:18 includes/paid.php:1484
899
- msgid "Filter By"
900
- msgstr "Фильтровать по"
901
-
902
- #: templates/admin.php:36 templates/admin.php:55 templates/filter_post.php:41
903
- #: templates/filter_post.php:83 templates/filter_post_simple.php:23
904
- #: templates/filter_post_simple.php:65 includes/custom_post.php:360
905
- #: includes/custom_post.php:437 includes/paid.php:1477 includes/paid.php:1486
906
- #: includes/paid.php:1492 includes/widget.php:172
907
- msgid "Attribute"
908
- msgstr "Атрибуты"
909
-
910
- #: templates/admin.php:38 includes/custom_post.php:388 includes/paid.php:1341
911
- msgid "Stock status"
912
- msgstr "Наличие"
913
-
914
- #: templates/admin.php:40 includes/custom_post.php:390 includes/paid.php:1333
915
- msgid "Product sub-categories"
916
- msgstr "Подкатегории Продуктов"
917
-
918
- #: templates/admin.php:42 templates/filter_post.php:45
919
- #: templates/filter_post_simple.php:27 includes/custom_post.php:361
920
- #: includes/custom_post.php:373 includes/custom_post.php:392
921
- #: includes/custom_post.php:441 includes/paid.php:1487 includes/widget.php:176
922
- msgid "Tag"
923
- msgstr "Теги"
924
-
925
- #: templates/admin.php:44 includes/custom_post.php:362 includes/paid.php:1337
926
- #: includes/paid.php:1488
927
- msgid "Custom Taxonomy"
928
- msgstr "Пользовательская таксономия"
929
-
930
- #: templates/admin.php:46 includes/custom_post.php:399 includes/paid.php:1345
931
- msgid "Date"
932
- msgstr "Дата"
933
-
934
- #: templates/admin.php:48 includes/custom_post.php:401 includes/paid.php:1349
935
- msgid "Sale"
936
- msgstr "Распродажа"
937
-
938
- #: templates/admin.php:50 templates/filter_post.php:56
939
- #: templates/filter_post_simple.php:38 includes/custom_post.php:403
940
- #: includes/custom_post.php:452 includes/widget.php:187
941
- msgid "Rating"
942
- msgstr "Рейтинг"
943
-
944
- #: templates/admin.php:57 templates/filter_post.php:85
945
- #: templates/filter_post_simple.php:67 includes/custom_post.php:381
946
- msgid "Price"
947
- msgstr "Цена"
948
-
949
- #: templates/admin.php:66 templates/filter_post.php:92
950
- #: templates/filter_post_simple.php:74 includes/paid.php:1500
951
- msgid "Custom Taxonomies"
952
- msgstr "Пользовательские таксономии"
953
-
954
- #: templates/admin.php:77 templates/filter_post.php:115
955
- #: templates/filter_post_simple.php:97 includes/paid.php:1509
956
- msgid "Type"
957
- msgstr "Тип"
958
-
959
- #: templates/admin.php:100 templates/filter_post.php:180
960
- #: templates/filter_post_simple.php:161
961
- msgid "Operator"
962
- msgstr "Оператор"
963
-
964
- #: templates/admin.php:107 templates/filter_post.php:187
965
- msgid "Values Order"
966
- msgstr "Сортировка Значений"
967
-
968
- #: templates/admin.php:138 templates/filter_post.php:257
969
- msgid "Hide first and last ranges without products"
970
- msgstr "Скрыть первые и последние диапазоны без продуктов"
971
-
972
- #: templates/admin.php:142 templates/filter_post.php:287
973
- msgid "Text before price:"
974
- msgstr "Текст перед ценой: "
975
-
976
- #: templates/admin.php:144 templates/filter_post.php:291
977
- msgid "after:"
978
- msgstr "после: "
979
-
980
- #: templates/admin.php:148 templates/filter_post.php:298
981
- msgid "Enable Slider Inputs"
982
- msgstr "Включить Поля Слайдера"
983
-
984
- #: templates/admin.php:151 templates/filter_post.php:302
985
- msgid "Use custom values(comma separated):"
986
- msgstr "Использовать пользовательские значения (разделяйте запятой): "
987
-
988
- #: templates/admin.php:153 templates/filter_post.php:304
989
- msgid "* use numeric values only, strings will not work as expected"
990
- msgstr ""
991
- "* используйте только числовые значения, текстовые значения не работают как "
992
- "ожидается"
993
-
994
- #: templates/admin.php:160 templates/filter_post.php:312
995
- msgid "Use current product category to get child"
996
- msgstr "Использовать текущую категорию, что бы получить дочерние"
997
-
998
- #: templates/admin.php:164 templates/filter_post.php:317
999
- msgid "Deep level:"
1000
- msgstr "Уровень глубины: "
1001
-
1002
- #: templates/admin.php:169 templates/filter_post.php:323
1003
- msgid "Product Category:"
1004
- msgstr "Категория Продуктов: "
1005
-
1006
- #: templates/admin.php:177 templates/filter_post.php:331
1007
- msgid "None"
1008
- msgstr "Нет"
1009
-
1010
  #: templates/filters_group_simple.php:6 templates/filters_group.php:12
1011
  msgid "Filters In Group"
1012
  msgstr "Фильтры в группе"
@@ -1015,30 +904,30 @@ msgstr "Фильтры в группе"
1015
  msgid "Add filter"
1016
  msgstr "Добавить фильтр"
1017
 
1018
- #: templates/filters_group_simple.php:17 includes/new_widget.php:281
1019
  msgid "Create Filter"
1020
  msgstr "Создать фильтр"
1021
 
1022
  #: templates/filters_group_simple.php:32 templates/filters_group_simple.php:57
1023
- #: includes/new_widget.php:126 includes/new_widget.php:279
1024
  #: includes/custom_post.php:50 includes/custom_post.php:522
1025
  msgid "Edit"
1026
  msgstr "Редактировать"
1027
 
1028
- #: templates/filters_group_simple.php:42 templates/filter_post_simple.php:171
1029
  msgid "Need more options? Create it on "
1030
  msgstr "Нужно больше опций? Создайте на странице "
1031
 
1032
- #: templates/filters_group_simple.php:43 includes/new_widget.php:94
1033
  msgid "Manage groups"
1034
  msgstr "Управление группами"
1035
 
1036
- #: templates/filters_group_simple.php:44 templates/filter_post_simple.php:173
1037
  msgid " page"
1038
  msgstr " "
1039
 
1040
- #: templates/filters_group.php:4 includes/new_widget.php:101
1041
- #: includes/new_widget.php:254
1042
  msgid "Custom CSS class"
1043
  msgstr "Пользовательский CSS класс"
1044
 
@@ -1046,8 +935,8 @@ msgstr "Пользовательский CSS класс"
1046
  msgid "use white space for multiple classes"
1047
  msgstr "использовать пробел для нескольких классов"
1048
 
1049
- #: templates/filters_group.php:23 templates/filter_post_simple.php:172
1050
- #: includes/new_widget.php:251
1051
  msgid "Manage filters"
1052
  msgstr "Управление фильтрами"
1053
 
@@ -1067,300 +956,414 @@ msgstr "Выбор цвета"
1067
  msgid "Image pick"
1068
  msgstr "Выбор изображения"
1069
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1070
  #: templates/filter_post.php:49 templates/filter_post_simple.php:31
1071
- #: includes/custom_post.php:445 includes/paid.php:372 includes/widget.php:180
 
 
1072
  msgid "Product Category"
1073
  msgstr "Категория продукта"
1074
 
1075
- #: templates/filter_post.php:190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1076
  msgid "Alpha"
1077
  msgstr "По алфавиту"
1078
 
1079
- #: templates/filter_post.php:190
1080
  msgid "Numeric"
1081
  msgstr "Числовая"
1082
 
1083
- #: templates/filter_post.php:196
1084
  msgid "Order Type"
1085
  msgstr "Тип сортировки"
1086
 
1087
- #: templates/filter_post.php:198
1088
  msgid "Ascending"
1089
  msgstr "По возрастанию"
1090
 
1091
- #: templates/filter_post.php:198
1092
  msgid "Descending"
1093
  msgstr "По убывания"
1094
 
1095
- #: templates/filter_post.php:240
1096
  msgid "Ranges: 1,100,200,1000"
1097
  msgstr "Диапазон: 1,100,200,1000"
1098
 
1099
- #: templates/filter_post.php:243
1100
  msgid "1.00-100.00, 101.00-200.00, 201.00-1000.00"
1101
  msgstr "1.00-100.00, 101.00-200.00, 201.00-1000.00"
1102
 
1103
- #: templates/filter_post.php:244
1104
  msgid "1.00-100.00, 100.00-200.00, 200.00-1000.00"
1105
  msgstr "1.00-100.00, 100.00-200.00, 200.00-1000.00"
1106
 
1107
- #: templates/filter_post.php:245
1108
  msgid "1.00-99.99, 100.00-199.99, 200.00-999.99"
1109
  msgstr "1.00-99.99, 100.00-199.99, 200.00-999.99"
1110
 
1111
- #: templates/filter_post.php:262
 
 
 
 
1112
  msgid "Show last range to the infinity"
1113
  msgstr "Заменить последнее значение диапазона знаком бесконечности"
1114
 
1115
- #: templates/filter_post.php:266
1116
  msgid "Infinity text"
1117
  msgstr "Текст вместо знака бесконечности"
1118
 
1119
- #: templates/filter_post.php:281 templates/filter_post.php:447
1120
  msgid "Disable multiple selection?"
1121
  msgstr "Отключить множественный выбор"
1122
 
1123
- #: templates/filter_post.php:356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1124
  msgid "First Element Text"
1125
  msgstr "Текст первого элемента"
1126
 
1127
- #: templates/filter_post.php:357 includes/widget.php:820
 
1128
  msgid "Any"
1129
  msgstr "Всё"
1130
 
1131
- #: templates/filter_post.php:362
1132
  msgid "Multiple select"
1133
  msgstr "Множественный выбор"
1134
 
1135
- #: templates/filter_post.php:367 templates/filters_information.php:5
1136
  msgid "Advanced Settings"
1137
  msgstr "Продвинутые Настройки"
1138
 
1139
- #: templates/filter_post.php:374
 
 
 
 
1140
  msgid "From settings"
1141
  msgstr "С настроек"
1142
 
1143
- #: templates/filter_post.php:375
1144
  msgid "Show/Hide button"
1145
  msgstr "Кнопка Показать/Скрыть"
1146
 
1147
- #: templates/filter_post.php:378
1148
  msgid "Always visible"
1149
  msgstr "Всегда видимый"
1150
 
1151
- #: templates/filter_post.php:379
1152
  msgid "Always hidden"
1153
  msgstr "Всегда скрытый"
1154
 
1155
- #: templates/filter_post.php:387
1156
  msgid "Use specific number style"
1157
  msgstr "Использовать другие стили чисел"
1158
 
1159
- #: templates/filter_post.php:391 includes/paid.php:91
1160
  msgid "Thousand Separator"
1161
  msgstr "Разделитель тысяч"
1162
 
1163
- #: templates/filter_post.php:395 includes/paid.php:97
1164
  msgid "Decimal Separator"
1165
  msgstr "Десятичный разделитель"
1166
 
1167
- #: templates/filter_post.php:399 includes/paid.php:103
1168
  msgid "Number Of Decimal"
1169
  msgstr "Количество знаков после запятой"
1170
 
1171
- #: templates/filter_post.php:414
1172
  msgid "Enable collapse option"
1173
  msgstr "Включить опцию свертывания"
1174
 
1175
- #: templates/filter_post.php:420
1176
  msgid "Collapse this widget on load?"
1177
  msgstr "Свернуть этот виджет при загрузке?"
1178
 
1179
- #: templates/filter_post.php:426 templates/filter_post.php:598
1180
  msgid "Hide collapse arrow?"
1181
  msgstr "Скрыть стрелку для сворачивания виджета?"
1182
 
1183
- #: templates/filter_post.php:433
1184
  msgid "Show hierarchical values as a tree with hidden child values on load?"
1185
  msgstr ""
1186
  "Показать иерархические значения в виде дерева со скрытыми дочерними "
1187
  "значениями при загрузке?"
1188
 
1189
- #: templates/filter_post.php:443
1190
  msgid "Display value with color/image box?"
1191
  msgstr "Отображать значение возле цвета/изображения?"
1192
 
1193
- #: templates/filter_post.php:450
1194
  msgid "Size of blocks(Height x Width)"
1195
  msgstr "Размер блока(Высота х Ширина)"
1196
 
1197
- #: templates/filter_post.php:454
1198
  msgid "2em x 2em"
1199
  msgstr "2em x 2em"
1200
 
1201
- #: templates/filter_post.php:455
1202
  msgid "1em x 1em"
1203
  msgstr "1em x 1em"
1204
 
1205
- #: templates/filter_post.php:456
1206
  msgid "1em x 2em"
1207
  msgstr "1em x 2em"
1208
 
1209
- #: templates/filter_post.php:457
1210
  msgid "2em x 3em"
1211
  msgstr "2em x 3em"
1212
 
1213
- #: templates/filter_post.php:458
1214
  msgid "2em x 4em"
1215
  msgstr "2em x 4em"
1216
 
1217
- #: templates/filter_post.php:459
1218
  msgid "3em x 3em"
1219
  msgstr "3em x 3em"
1220
 
1221
- #: templates/filter_post.php:460
1222
  msgid "3em x 4em"
1223
  msgstr "3em x 4em"
1224
 
1225
- #: templates/filter_post.php:461
1226
  msgid "3em x 5em"
1227
  msgstr "3em x 5em"
1228
 
1229
- #: templates/filter_post.php:462
1230
  msgid "4em x 4em"
1231
  msgstr "4em x 4em"
1232
 
1233
- #: templates/filter_post.php:463
1234
  msgid "4em x 5em"
1235
  msgstr "4em x 5em"
1236
 
1237
- #: templates/filter_post.php:464
1238
  msgid "5em x 5em"
1239
  msgstr "5em x 5em"
1240
 
1241
- #: templates/filter_post.php:465
1242
  msgid "Custom size"
1243
  msgstr "Пользовательский размер"
1244
 
1245
- #: templates/filter_post.php:473
1246
  msgid "Custom size(Height x Width)"
1247
  msgstr "Пользовательский размер(Высота х Ширина)"
1248
 
1249
- #: templates/filter_post.php:480
1250
  msgid "Checked type"
1251
  msgstr "Стиль выбора"
1252
 
1253
- #: templates/filter_post.php:485
1254
  msgid "Rotate"
1255
  msgstr "Поворот"
1256
 
1257
- #: templates/filter_post.php:486
1258
  msgid "Scale"
1259
  msgstr "Масштаб"
1260
 
1261
- #: templates/filter_post.php:487
1262
  msgid "Blue Shadow"
1263
  msgstr "Blue Shadow"
1264
 
1265
- #: templates/filter_post.php:488
1266
  msgid "Custom CSS"
1267
  msgstr "Пользовательский CSS"
1268
 
1269
- #: templates/filter_post.php:496
1270
  msgid "Custom CSS for Checked block"
1271
  msgstr "Пользовательский CSS для блока выбора"
1272
 
1273
- #: templates/filter_post.php:503
1274
  msgid "Icons"
1275
  msgstr "Иконки"
1276
 
1277
- #: templates/filter_post.php:505
1278
  msgid "Title Icons"
1279
  msgstr "Иконки названия"
1280
 
1281
- #: templates/filter_post.php:507 templates/filter_post.php:513
1282
- #: includes/paid.php:1539 templates/paid/filters_search_box.php:43
1283
  msgid "Before"
1284
  msgstr "Перед"
1285
 
1286
- #: templates/filter_post.php:508 templates/filter_post.php:514
1287
- #: includes/paid.php:1540 templates/paid/filters_search_box.php:44
1288
  msgid "After"
1289
  msgstr "После"
1290
 
1291
- #: templates/filter_post.php:511
1292
  msgid "Value Icons"
1293
  msgstr "Иконки значений"
1294
 
1295
- #: templates/filter_post.php:524
1296
  msgid "CSS Class"
1297
  msgstr "CSS класс"
1298
 
1299
- #: templates/filter_post.php:526
1300
  msgid "(use white space for multiple classes)"
1301
  msgstr "(используйте пробел для разделения классов)"
1302
 
1303
- #: templates/filter_post.php:531
1304
  msgid "Tags Cloud Height:"
1305
  msgstr "Высота Облака Тегов: "
1306
 
1307
- #: templates/filter_post.php:535
1308
  msgid "Min Font Size:"
1309
  msgstr "Минимальный Размер Шрифта: "
1310
 
1311
- #: templates/filter_post.php:539
1312
  msgid "Max Font Size:"
1313
  msgstr "Максимальный Размер Шрифта: "
1314
 
1315
- #: templates/filter_post.php:543
1316
  msgid "Max Tags Count:"
1317
  msgstr "Максимальное Количество Тегов: "
1318
 
1319
- #: templates/filter_post.php:551
1320
  msgid "Use min price"
1321
  msgstr "Использовать пользовательскую минимальную цену"
1322
 
1323
- #: templates/filter_post.php:560
1324
  msgid "Use max price"
1325
  msgstr "Использовать пользовательскую максимальную цену"
1326
 
1327
- #: templates/filter_post.php:569
1328
  msgid "Filter Box Height:"
1329
  msgstr "Высота Блока с Фильтром"
1330
 
1331
- #: templates/filter_post.php:573
1332
  msgid "Scroll Theme:"
1333
  msgstr "Тема для Полосы Прокрутки: "
1334
 
1335
- #: templates/filter_post.php:592
1336
  msgid "Show if nothing is selected"
1337
  msgstr "Показать если ничего не выбрано"
1338
 
1339
- #: templates/filter_post.php:604 templates/filters_information.php:5
1340
  msgid "Hide this widget on load?"
1341
  msgstr "Скрыть этот виджет при загрузке?"
1342
 
1343
- #: templates/filter_post.php:643
1344
  msgid "Widget Output Limitations"
1345
  msgstr "Ограничение Отображения Виджета"
1346
 
1347
- #: templates/filter_post.php:645
1348
  msgid "Product Category Value Limitation"
1349
  msgstr "Ограничение Отображения по Категориям"
1350
 
1351
- #: templates/filter_post.php:673
1352
  msgid "Hide button"
1353
  msgstr "Скрыть кнопку"
1354
 
1355
- #: templates/filter_post.php:675
1356
  msgid "Do not hide"
1357
  msgstr "Не прятать"
1358
 
1359
- #: templates/filter_post.php:676
1360
  msgid "Hide only when no filters on page"
1361
  msgstr "Скрыть только когда нет фильтров на странице"
1362
 
1363
- #: templates/filter_post.php:677
1364
  msgid "Hide when no filters on page or page not filtered"
1365
  msgstr "Скрыть, когда нет фильтров на странице или страница не отфильтрована"
1366
 
@@ -1428,6 +1431,11 @@ msgstr "Как добавить кнопку сброса фильтров?"
1428
  msgid "Select <strong>%s</strong> in option <strong>%s</strong>"
1429
  msgstr "Выберете <strong>%s</strong> в опции <strong>%s</strong>"
1430
 
 
 
 
 
 
1431
  #: templates/filters_information.php:8
1432
  msgid ""
1433
  "How to add update products button? (to filter products only after click on "
@@ -1436,6 +1444,11 @@ msgstr ""
1436
  "Как добавить кнопку обновления продуктов? (для фильтрации продуктов только "
1437
  "после нажатия на кнопку)"
1438
 
 
 
 
 
 
1439
  #: templates/filters_information.php:17
1440
  msgid ""
1441
  "Title will be displayed as widget title.<br>You can write text, that want to "
@@ -1508,53 +1521,53 @@ msgstr ""
1508
  "магазина. <br> <strong> Использовать боковую панель, которая отображается на "
1509
  "странице магазина </strong>"
1510
 
1511
- #: includes/functions.php:712
1512
  msgid "Widget Title"
1513
  msgstr "Название Виджета"
1514
 
1515
- #: includes/functions.php:724
1516
  msgid "Label(checkbox/radio)"
1517
  msgstr ""
1518
  "Надпись (checkbox/radio)\n"
1519
 
1520
- #: includes/functions.php:736
1521
- msgid "Select-box"
1522
  msgstr "Выпадающий Список"
1523
 
1524
- #: includes/functions.php:748
1525
  msgid "Slider Inputs"
1526
  msgstr "Поля для ввода в слайдере"
1527
 
1528
- #: includes/functions.php:760
1529
  msgid "Description Block"
1530
  msgstr "Блок с Описанием"
1531
 
1532
- #: includes/functions.php:772
1533
- msgid "Description Border"
1534
- msgstr "Граница Блока с Описанием"
1535
 
1536
- #: includes/functions.php:784
1537
- msgid "Description Title Text"
1538
- msgstr "Заглавие Блока с Описанием"
1539
 
1540
- #: includes/functions.php:796
1541
- msgid "Description Text"
1542
- msgstr "Текст Блока с Описанием"
1543
 
1544
- #: includes/functions.php:808
1545
  msgid "Selected filters area text"
1546
  msgstr "Текст Области Выбранных Фильтров"
1547
 
1548
- #: includes/functions.php:820
1549
- msgid "Selected filters mouse over text"
1550
- msgstr "Наведение курсора мышки на Область Выбранных Фильтров"
1551
 
1552
- #: includes/functions.php:832
1553
- msgid "Selected filters link background"
1554
  msgstr "Фон ссылки в Область Выбранных Фильтров"
1555
 
1556
- #: includes/functions.php:844
1557
- msgid "Selected filters link border"
1558
  msgstr "Рамка для ссылки в Область Выбранных Фильтров"
1559
 
1560
  #: includes/new_widget.php:5
@@ -1565,28 +1578,28 @@ msgstr "AAPF Группа Фильтров"
1565
  msgid "AJAX Product Filters. Group of filters"
1566
  msgstr "AJAX Фильтры Продуктов. Группа фильтров"
1567
 
1568
- #: includes/new_widget.php:105 includes/divi-builder.php:79
1569
- #: includes/paid.php:275
1570
  msgid "Group"
1571
  msgstr "Группа"
1572
 
1573
- #: includes/new_widget.php:111 includes/divi-builder.php:70
1574
  msgid "--Please select group--"
1575
  msgstr "--Пожалуйста, выберите группу--"
1576
 
1577
- #: includes/new_widget.php:128
1578
  msgid "Create Group"
1579
  msgstr "Создать группу"
1580
 
1581
- #: includes/new_widget.php:135
1582
  msgid "AAPF Filter Single"
1583
  msgstr "AAPF Один Фильтр"
1584
 
1585
- #: includes/new_widget.php:136
1586
  msgid "AJAX Product Filters. Single Filter"
1587
  msgstr "AJAX Фильтры Продуктов. Одиночный фильтр"
1588
 
1589
- #: includes/new_widget.php:264 includes/divi-builder.php:17
1590
  #: includes/visual-composer.php:10 includes/visual-composer.php:36
1591
  msgid "--Please select filter--"
1592
  msgstr "--Пожалуйста, выберите фильтр--"
@@ -1709,7 +1722,11 @@ msgstr "СТРАНИЦЕ ВИДЖЕТОВ"
1709
  msgid "Data"
1710
  msgstr "Данные"
1711
 
1712
- #: includes/custom_post.php:354 includes/paid.php:1368
 
 
 
 
1713
  msgid "Search Box (DEPRECATED)"
1714
  msgstr "Поле поиска (УСТАРЕЛО)"
1715
 
@@ -1717,6 +1734,10 @@ msgstr "Поле поиска (УСТАРЕЛО)"
1717
  msgid "Widget type: "
1718
  msgstr "Тип виджета:"
1719
 
 
 
 
 
1720
  #: includes/custom_post.php:369 includes/custom_post.php:386
1721
  msgid "Attribute: "
1722
  msgstr "Атрибут:"
@@ -1725,6 +1746,22 @@ msgstr "Атрибут:"
1725
  msgid "Custom Taxonomy: "
1726
  msgstr "Пользовательские Таксономии:"
1727
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1728
  #: includes/custom_post.php:515 includes/custom_post.php:517
1729
  #: includes/custom_post.php:518
1730
  msgid "Product Filter Group"
@@ -1787,47 +1824,44 @@ msgstr "Информация"
1787
  msgid "Hide this group on:"
1788
  msgstr "Скрыть эту группу на:"
1789
 
1790
- #: includes/paid.php:73 includes/paid.php:497
1791
- msgid "Hide \"Show/Hide value(s)\" button"
1792
- msgstr "Скрыть кнопку «Показать/Скрыть значения»"
1793
-
1794
- #: includes/paid.php:80
1795
- msgid "Data cache"
1796
- msgstr "Кэш данных"
1797
 
1798
- #: includes/paid.php:85
1799
- msgid "WordPress Cache"
1800
- msgstr "WordPress Кэш"
1801
 
1802
- #: includes/paid.php:86
1803
- msgid "Persistent Cache Plugins"
1804
- msgstr "Плагины постоянного кэширования"
1805
 
1806
- #: includes/paid.php:115
1807
- msgid "Use links in checkbox and radio filters"
1808
  msgstr "Использовать ссылки для флажков и переключателей фильтров"
1809
 
1810
- #: includes/paid.php:122
1811
- msgid "Use noindex for the links"
1812
  msgstr "Используйте noindex для ссылок"
1813
 
1814
- #: includes/paid.php:128 includes/paid.php:140
1815
  msgid "Second+ levels"
1816
  msgstr "Вторые+ уровни"
1817
 
1818
- #: includes/paid.php:129 includes/paid.php:141
1819
  msgid "All levels"
1820
  msgstr "Все уровни"
1821
 
1822
- #: includes/paid.php:134
1823
- msgid "Use nofollow for the links"
1824
  msgstr "Используйте nofollow для ссылок"
1825
 
1826
- #: includes/paid.php:152
1827
- msgid "Nice URL"
1828
  msgstr "Хорошие URL"
1829
 
1830
- #: includes/paid.php:157
1831
  msgid ""
1832
  "Works only with SEO friendly urls. WordPress permalinks must be set to Post "
1833
  "name(Custom structure: /%postname%/ )"
@@ -1836,59 +1870,83 @@ msgstr ""
1836
  "быть установлены на «Имя публикации» (пользовательская структура: /% "
1837
  "postname% /)"
1838
 
1839
- #: includes/paid.php:160
1840
- msgid "Canonical without Filters"
1841
  msgstr "Не отображать фильтры в Canonical"
1842
 
1843
- #: includes/paid.php:164
1844
  msgid "Use canonical tag without filters on WooCommerce pages"
1845
  msgstr "Используйте канонический тег без фильтров на страницах WooCommerce"
1846
 
1847
- #: includes/paid.php:168 includes/paid.php:1530
1848
  #: templates/paid/filters_search_box.php:34
1849
  msgid "Elements position"
1850
  msgstr "Позиция элементов"
1851
 
1852
- #: includes/paid.php:170
1853
- msgid "Show products count before filtering"
1854
  msgstr "Показывать количество продуктов до фильтрации"
1855
 
1856
- #: includes/paid.php:176
1857
  msgid "Show products count before filtering, when using update button"
1858
  msgstr ""
1859
  "Показывать количество продуктов до фильтрации при использовании кнопки "
1860
  "обновления"
1861
 
1862
- #: includes/paid.php:182
1863
  msgid "Text that means products"
1864
  msgstr "Текст вместо \"products\""
1865
 
1866
- #: includes/paid.php:188
1867
  msgid "Text for show button"
1868
  msgstr "Текст для кнопки показать"
1869
 
1870
- #: includes/paid.php:201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1871
  msgid "Display variation image"
1872
  msgstr "Отображать картинку вариации"
1873
 
1874
- #: includes/paid.php:205
1875
  msgid "Display variation image instead of product's when filtering"
1876
  msgstr ""
1877
  "Показывать после фильтрации изображение вариации вместо изображения продукта."
1878
 
1879
- #: includes/paid.php:208
1880
  msgid "Display variation price"
1881
  msgstr "Показывать цену вариации"
1882
 
1883
- #: includes/paid.php:212
1884
  msgid "Display variation price instead of product's when filtering"
1885
  msgstr "Показывать после фильтрации цену вариации вместо цены продукта."
1886
 
1887
- #: includes/paid.php:221
 
 
 
 
 
 
 
 
1888
  msgid "Slider has a lot of values"
1889
  msgstr "Ползунок имеет много значений"
1890
 
1891
- #: includes/paid.php:225
1892
  msgid ""
1893
  "Enable it if slider has more than 250 values. Hierarchical taxonomy can work "
1894
  "incorrect with sliders"
@@ -1896,335 +1954,262 @@ msgstr ""
1896
  "Включите настройку, если ползунок имеет более 250 значений. Иерархическая "
1897
  "таксономия может работать некорректно с ползунками"
1898
 
1899
- #: includes/paid.php:234
1900
- msgid "Use filtered variation link and session"
1901
- msgstr "Использовать вариации после фильтрации для ссылок и сессий"
1902
-
1903
- #: includes/paid.php:240
1904
- msgid "Use filtered variation only after search"
1905
- msgstr "Использовать вариации после фильтраци только после поиска"
1906
-
1907
- #: includes/paid.php:247
1908
- msgid "Use tax options (leave price ranges as is)"
1909
- msgstr "Использовать налоги (оставить диапазон цен как есть)"
1910
-
1911
- #: includes/paid.php:254
1912
- msgid "Elements above products"
1913
  msgstr "Элементы над продуктами"
1914
 
1915
- #: includes/paid.php:279
1916
  msgid "Add group"
1917
  msgstr "Добавить группу"
1918
 
1919
- #: includes/paid.php:427 includes/paid.php:1359
 
 
 
 
 
 
 
 
 
 
 
 
 
1920
  msgid "Ranges"
1921
  msgstr "Диапазон"
1922
 
1923
- #: includes/paid.php:1439
 
 
 
 
1924
  msgid "Attributes"
1925
  msgstr "Атрибуты"
1926
 
1927
- #: includes/paid.php:1442 templates/paid/filters_search_box.php:9
1928
  msgid "URL to search"
1929
  msgstr "Ссылка для поиска"
1930
 
1931
- #: includes/paid.php:1444 templates/paid/filters_search_box.php:11
1932
  msgid "Shop page"
1933
  msgstr "Страница магазина"
1934
 
1935
- #: includes/paid.php:1445 templates/paid/filters_search_box.php:12
1936
  msgid "Category page"
1937
  msgstr "Страница категории"
1938
 
1939
- #: includes/paid.php:1446 templates/paid/filters_search_box.php:13
1940
  msgid "URL"
1941
  msgstr "Ссылка"
1942
 
1943
- #: includes/paid.php:1450 templates/paid/filters_search_box.php:17
1944
  msgid "Category"
1945
  msgstr "Категория"
1946
 
1947
- #: includes/paid.php:1460 templates/paid/filters_search_box.php:27
1948
  msgid "URL for search"
1949
  msgstr "Ссылка для поиска"
1950
 
1951
- #: includes/paid.php:1464
1952
  msgid "Attributes count"
1953
  msgstr "Количество атрибутов"
1954
 
1955
- #: includes/paid.php:1527 templates/paid/filters_search_box.php:31
1956
  msgid "Styles"
1957
  msgstr "Стили"
1958
 
1959
- #: includes/paid.php:1532 templates/paid/filters_search_box.php:36
1960
  msgid "Vertical"
1961
  msgstr "Вертикально"
1962
 
1963
- #: includes/paid.php:1533 templates/paid/filters_search_box.php:37
1964
  msgid "Horizontal"
1965
  msgstr "Горизонтально"
1966
 
1967
- #: includes/paid.php:1537 templates/paid/filters_search_box.php:41
1968
  msgid "Search button position"
1969
  msgstr "Позиция кнопки поиска"
1970
 
1971
- #: includes/paid.php:1541 templates/paid/filters_search_box.php:45
1972
  msgid "Before and after"
1973
  msgstr "До и после"
1974
 
1975
- #: includes/paid.php:1545 templates/paid/filters_search_box.php:49
1976
  msgid "Search button text"
1977
  msgstr "Текст на кнопке поиска"
1978
 
1979
- #: includes/paid.php:1549 templates/settings/design.php:705
1980
  #: templates/paid/filters_search_box.php:53
1981
  msgid "Background color"
1982
  msgstr "Цвет фона"
1983
 
1984
- #: includes/paid.php:1554 templates/paid/filters_search_box.php:58
1985
  msgid "Background transparency"
1986
  msgstr "Прозрачность фона"
1987
 
1988
- #: includes/paid.php:1558 templates/paid/filters_search_box.php:62
1989
  msgid "100%"
1990
  msgstr "100%"
1991
 
1992
- #: includes/paid.php:1559 templates/paid/filters_search_box.php:63
1993
  msgid "90%"
1994
  msgstr "90%"
1995
 
1996
- #: includes/paid.php:1560 templates/paid/filters_search_box.php:64
1997
  msgid "80%"
1998
  msgstr "80%"
1999
 
2000
- #: includes/paid.php:1561 templates/paid/filters_search_box.php:65
2001
  msgid "70%"
2002
  msgstr "70%"
2003
 
2004
- #: includes/paid.php:1562 templates/paid/filters_search_box.php:66
2005
  msgid "60%"
2006
  msgstr "60%"
2007
 
2008
- #: includes/paid.php:1563 templates/paid/filters_search_box.php:67
2009
  msgid "50%"
2010
  msgstr "50%"
2011
 
2012
- #: includes/paid.php:1564 templates/paid/filters_search_box.php:68
2013
  msgid "40%"
2014
  msgstr "40%"
2015
 
2016
- #: includes/paid.php:1565 templates/paid/filters_search_box.php:69
2017
  msgid "30%"
2018
  msgstr "30%"
2019
 
2020
- #: includes/paid.php:1566 templates/paid/filters_search_box.php:70
2021
  msgid "20%"
2022
  msgstr "20%"
2023
 
2024
- #: includes/paid.php:1567 templates/paid/filters_search_box.php:71
2025
  msgid "10%"
2026
  msgstr "10%"
2027
 
2028
- #: includes/paid.php:1568 templates/paid/filters_search_box.php:72
2029
  msgid "0%"
2030
  msgstr "0%"
2031
 
2032
- #: includes/paid.php:1579 templates/paid/filters_search_box.php:83
2033
  msgid "Button background color"
2034
  msgstr "Цвет фона кнопки"
2035
 
2036
- #: includes/paid.php:1584 templates/paid/filters_search_box.php:88
2037
  msgid "Button background color on mouse over"
2038
  msgstr "Цвет фона кнопки при наведении"
2039
 
2040
- #: includes/paid.php:1589 templates/paid/filters_search_box.php:93
2041
  msgid "Button text color"
2042
  msgstr "Цвет текста на кнопке"
2043
 
2044
- #: includes/paid.php:1594 templates/paid/filters_search_box.php:98
2045
  msgid "Button text color on mouse over"
2046
  msgstr "Цвет текста на кнопке при наведении"
2047
 
2048
- #: includes/paid.php:1607
2049
  msgid "Child/Parent Limitation"
2050
  msgstr "Ограничение Дочерних/Родительских"
2051
 
2052
- #: includes/paid.php:1610
2053
  msgid "Child Count"
2054
  msgstr "Количество дочерних"
2055
 
2056
- #: includes/paid.php:1611
2057
  msgid "Parent"
2058
  msgstr "Родительские"
2059
 
2060
- #: includes/paid.php:1612 includes/paid.php:1648
2061
  msgid "Child"
2062
  msgstr "Дочерние"
2063
 
2064
- #: includes/paid.php:1616
2065
  msgid "Child depth"
2066
  msgstr "Дочернее дерево"
2067
 
2068
- #: includes/paid.php:1619 includes/paid.php:1658
2069
  msgid "\"No values\" messages"
2070
  msgstr "Сообщения «Нет значений»"
2071
 
2072
- #: includes/paid.php:1623 includes/paid.php:1662
2073
  msgid "\"Select previous\" messages"
2074
  msgstr "«Выбрать предыдущие» сообщения"
2075
 
2076
- #: includes/paid.php:1627
2077
  msgid "\"No Products\" messages"
2078
  msgstr "Сообщения \"Нет товаров\""
2079
 
2080
- #: includes/paid.php:1632
2081
  msgid "Child count"
2082
  msgstr "Количество дочерних"
2083
 
2084
- #: includes/paid.php:1654
2085
  msgid "\"No products\" messages"
2086
  msgstr "Сообщения \"Нет товаров\""
2087
 
2088
- #: includes/paid.php:1675
2089
  msgid "Date Month Dropdown menu"
2090
  msgstr "Выпадающий список для месяца"
2091
 
2092
- #: includes/paid.php:1681
2093
  msgid "Date Year Dropdown menu"
2094
  msgstr "Выпадающий список для года"
2095
 
2096
- #: includes/paid.php:1685
2097
  msgid "Date visual style"
2098
  msgstr "Визуальный стиль даты"
2099
 
2100
- #: includes/paid.php:1726
2101
  msgid "Display only"
2102
  msgstr "Показывать"
2103
 
2104
- #: includes/paid.php:1727
2105
  msgid "Remove"
2106
  msgstr "Удалить"
2107
 
2108
- #: includes/paid.php:1729
2109
  msgid "values selected in Include / Exclude List"
2110
  msgstr "«Включить / Исключить» значения, выбранные в списке "
2111
 
2112
- #: includes/paid.php:1750
2113
- msgid "IMPORTANT"
2114
- msgstr "ВАЖНО"
2115
-
2116
- #: includes/paid.php:1752
2117
- msgid ""
2118
- "Slider type always uses attributes slug.<br>All attribute values slug must "
2119
- "be with letters, numbers in slug can work incorrect.<br>Also slider do not "
2120
- "work with slug that contains those symbols: -, +"
2121
- msgstr ""
2122
- "Тип слайдера всегда использует атрибут slug. <br> Все значения атрибутов "
2123
- "slug должны быть с буквами, цифры в slug могут работать некорректно. <br> "
2124
- "Также слайдер не работает с slug, который содержит эти символы: -, +"
2125
-
2126
- #: includes/paid.php:1755
2127
- msgid "Use default values for slider"
2128
- msgstr "Использовать для слайдера значения по умолчанию"
2129
 
2130
- #: includes/paid.php:1768
2131
  msgid "Show product count per attribute value?"
2132
  msgstr "Показывать количество продуктов для каждого атрибута?"
2133
 
2134
- #: includes/paid.php:1779
2135
  msgid "Values per row"
2136
  msgstr "Значений в строке"
2137
 
2138
- #: includes/paid.php:1891 includes/paid.php:2488 includes/widget.php:1739
2139
- #: includes/widget.php:2012
 
 
2140
  msgid "In stock"
2141
  msgstr "В наличии"
2142
 
2143
- #: includes/paid.php:1898 includes/paid.php:2489 includes/widget.php:1740
2144
- #: includes/widget.php:2013
 
 
2145
  msgid "Out of stock"
2146
  msgstr "Нет в наличии"
2147
 
2148
- #: includes/paid.php:1918 includes/paid.php:2492
2149
  msgid "On sale"
2150
  msgstr "Со скидкой"
2151
 
2152
- #: includes/paid.php:1925 includes/paid.php:2493
2153
  msgid "Not on sale"
2154
  msgstr "Без скидки"
2155
 
2156
- #: includes/paid.php:2645
2157
  msgid "Nice URLs settings"
2158
  msgstr "Настройки хороших URL"
2159
 
2160
- #: includes/widget.php:125
2161
- msgid "Add Filters to Products page"
2162
- msgstr "Добить фильтры на страницу продуктов"
2163
-
2164
- #: includes/widget.php:131
2165
- msgid "AJAX Product Filters (Deprecated)"
2166
- msgstr "Фильтры продуктов AJAX(УСТАРЕЛО)"
2167
-
2168
- #: includes/widget.php:551
2169
- msgid "1 star"
2170
- msgstr "1 звезда"
2171
-
2172
- #: includes/widget.php:551
2173
- msgid ""
2174
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2175
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2176
- msgstr ""
2177
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2178
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2179
-
2180
- #: includes/widget.php:554
2181
- msgid "2 stars"
2182
- msgstr "2 звезды"
2183
-
2184
- #: includes/widget.php:554
2185
- msgid ""
2186
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2187
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2188
- msgstr ""
2189
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2190
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2191
-
2192
- #: includes/widget.php:557
2193
- msgid "3 stars"
2194
- msgstr "3 звезды"
2195
-
2196
- #: includes/widget.php:557
2197
- msgid ""
2198
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2199
- "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2200
- msgstr ""
2201
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2202
- "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2203
-
2204
- #: includes/widget.php:560
2205
- msgid "4 stars"
2206
- msgstr "4 звезды"
2207
-
2208
- #: includes/widget.php:560
2209
- msgid ""
2210
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2211
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2212
- msgstr ""
2213
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2214
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2215
-
2216
- #: includes/widget.php:563
2217
- msgid "5 stars"
2218
- msgstr "5 звезд"
2219
-
2220
- #: includes/widget.php:563
2221
- msgid ""
2222
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2223
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2224
- msgstr ""
2225
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2226
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2227
-
2228
  #. Author of the plugin
2229
  #: includes/visual-composer.php:21 includes/visual-composer.php:47
2230
  msgid "BeRocket"
@@ -2371,8 +2356,10 @@ msgid "Button border radius"
2371
  msgstr "Закругление углов кнопки"
2372
 
2373
  #: templates/settings/design.php:703
2374
- msgid "Product count description before filtering with Update button"
2375
- msgstr "Описание количества товаров перед фильтрацией с кнопкой «Обновить»"
 
 
2376
 
2377
  #: templates/settings/design.php:707
2378
  msgid "Font size"
@@ -2411,11 +2398,11 @@ msgid "Title opened"
2411
  msgstr "Название при открытии"
2412
 
2413
  #: templates/settings/design.php:881
2414
- msgid "Loading products icon"
2415
- msgstr "Иконка загрузки продуктов"
2416
 
2417
  #: templates/settings/design.php:889
2418
- msgid "Text at load icon"
2419
  msgstr "Текст возле иконки загрузки"
2420
 
2421
  #: templates/settings/design.php:891
@@ -2423,7 +2410,7 @@ msgid "Above:"
2423
  msgstr "Выше:"
2424
 
2425
  #: templates/settings/design.php:894
2426
- msgid "Under:"
2427
  msgstr "Ниже:"
2428
 
2429
  #: templates/settings/design.php:897
@@ -2435,35 +2422,35 @@ msgid "After:"
2435
  msgstr "После:"
2436
 
2437
  #: templates/settings/design.php:906
2438
- msgid "Description show and hide"
2439
  msgstr "Показать и скрыть описание"
2440
 
2441
  #: templates/settings/design.php:908
2442
- msgid "Show on:"
2443
- msgstr "Показать при:"
2444
 
2445
  #: templates/settings/design.php:910
2446
  msgid "Click"
2447
  msgstr "Нажатии"
2448
 
2449
  #: templates/settings/design.php:911
2450
- msgid "Mouse over icon"
2451
- msgstr "Наведении на иконку"
2452
 
2453
  #: templates/settings/design.php:915
2454
- msgid "Hide on:"
2455
- msgstr "Скрывать при:"
2456
 
2457
  #: templates/settings/design.php:917
2458
  msgid "Click anywhere"
2459
  msgstr "Нажатии в любом месте"
2460
 
2461
  #: templates/settings/design.php:918
2462
- msgid "Mouse out of icon"
2463
- msgstr "Курсор вне иконки"
2464
 
2465
  #: templates/settings/design.php:925
2466
- msgid "Product count style"
2467
  msgstr "Стиль для количества продуктов"
2468
 
2469
  #: templates/settings/design.php:928
@@ -2499,7 +2486,7 @@ msgid "Position on Image:"
2499
  msgstr "Позиция на картинке:"
2500
 
2501
  #: templates/settings/design.php:952
2502
- msgid "Select(dropdown) Child Tree Indent"
2503
  msgstr "Вариант отступа для дерева дочерних"
2504
 
2505
  #: templates/settings/design.php:955
@@ -2554,15 +2541,34 @@ msgstr "Показывать фильтры после нажатия мишко
2554
  msgid "Display on mouse over and hide on mouse leave"
2555
  msgstr "Отображение при наведении курсора мыши и скрыть при убирание курсора"
2556
 
 
 
 
 
 
 
 
 
 
 
 
 
2557
  #: templates/paid/filters_search_box.php:4
2558
  msgid "Use Group as Search Box"
2559
  msgstr "Использовать группу как блок поиска"
2560
 
2561
  #: addons/filtering_conditions/filtering_conditions.php:9
2562
  #: addons/filtering_conditions/add_conditions.php:39
2563
- msgid "Filtering Conditions (BETA)"
2564
  msgstr "Условия после фильтрации (БЕТА)"
2565
 
 
 
 
 
 
 
 
2566
  #: addons/filtering_conditions/add_conditions.php:47
2567
  msgid ""
2568
  "Use this to display products only after filtering by some attribute and value"
@@ -2570,6 +2576,154 @@ msgstr ""
2570
  "Используйте это для отображения товаров только после фильтрации по "
2571
  "некоторому атрибуту и значению"
2572
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2573
  #: addons/separate_link/separate_vars.php:27
2574
  msgid "Default operator for URLs"
2575
  msgstr "Оператор по умолчанию для URL"
@@ -2583,13 +2737,29 @@ msgid "AND"
2583
  msgstr "И"
2584
 
2585
  #: addons/separate_link/separate_vars.php:35
2586
- msgid "Default operator will be not displayed in URL"
2587
- msgstr "Оператор по умолчанию не будет отображаться в URL"
2588
 
2589
  #: addons/separate_link/separate_link.php:9
2590
- msgid "WooCommerce Like Links (BETA)"
2591
  msgstr "Ссылка как у WooCommerce (БЕТА)"
2592
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2593
  #: addons/additional_tables/additional_tables.php:59
2594
  msgid "Additional Tables (BETA)"
2595
  msgstr "Дополнительные таблицы (БЕТА)"
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce AJAX Products Filter\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-12-09 13:44+0000\n"
6
+ "PO-Revision-Date: 2019-12-09 14:36+0000\n"
7
  "Last-Translator: root <root@root.com>\n"
8
  "Language-Team: Русский\n"
9
  "Language: ru_RU\n"
22
  "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
23
  "X-Loco-Target-Locale: ru_RU\n"
24
  "X-Generator: Loco https://localise.biz/\n"
25
+ "X-Loco-Version: 2.3.1; wp-5.3"
26
 
27
  #. Name of the plugin
28
+ #: main.php:62
29
  msgid "WooCommerce AJAX Products Filter"
30
  msgstr "WooCommerce AJAX Products Filter"
31
 
32
+ #: main.php:63
33
  msgid "Product Filters"
34
  msgstr "Фильтры продуктов"
35
 
36
+ #: main.php:73 main.php:1482
37
  msgid "There are no products meeting your criteria"
38
  msgstr "Нет товаров, соответствующих вашим критериям"
39
 
40
+ #: main.php:326
41
  msgid ""
42
  "<strong>Please update all BeRocket plugins to the most recent version. "
43
  "WooCommerce AJAX Products Filter is not working correctly with older "
47
  "WooCommerce AJAX Products Filter работает некорректно со старыми версиями. "
48
  "</strong>"
49
 
50
+ #: main.php:397
51
  msgid "General"
52
  msgstr "Главные"
53
 
54
+ #: main.php:401
55
  msgid "Elements"
56
  msgstr "Элементы"
57
 
58
+ #: main.php:405
59
  msgid "Selectors"
60
  msgstr "Селекторы"
61
 
62
+ #: main.php:409
63
  msgid "SEO"
64
  msgstr "SEO"
65
 
66
+ #: main.php:413
67
  msgid "Advanced"
68
  msgstr "Продвинутые"
69
 
70
+ #: main.php:417
71
  msgid "Design"
72
  msgstr "Дизайн"
73
 
74
+ #: main.php:421
75
  msgid "JavaScript/CSS"
76
  msgstr "JavaScript/CSS"
77
 
78
+ #: main.php:426 includes/custom_post.php:645
79
  msgid "Filters"
80
  msgstr "Фильтры"
81
 
82
+ #: main.php:431
83
  msgid "License"
84
  msgstr "Лицензия"
85
 
86
+ #: main.php:435
87
+ msgid "Add-ons"
88
+ msgstr "Дополнения"
89
 
90
+ #: main.php:445
91
  msgid "\"No Products\" message"
92
  msgstr "Сообщение «Нет товаров»"
93
 
94
+ #: main.php:451
95
  msgid "Products Per Page"
96
  msgstr "Продукты на странице"
97
 
98
+ #: main.php:457
99
+ msgid "Number of Attribute Values"
100
  msgstr "Количество Значений Атрибута"
101
 
102
+ #: main.php:461
103
  msgid ""
104
  "Attribute Values count that will be displayed. Other values will be hidden "
105
+ "and can be displayed by pressing the button. Option <strong>Hide the "
106
+ "Show/Hide value(s) button in the filters</strong> must be disabled"
107
  msgstr ""
108
  "Количество значений атрибутов, которое будет отображаться. Другие значения "
109
  "будут скрыты и могут быть отображены нажатием кнопки. Опция <strong> Скрыть "
110
  "кнопку «Показать/Скрыть значения» </strong> должна быть отключена"
111
 
112
+ #: main.php:464
113
+ msgid "Sorting drop-down control"
114
  msgstr "Контроль сортировки"
115
 
116
+ #: main.php:468
117
  msgid "Take control over WooCommerce's sorting selectbox?"
118
  msgstr "Взять под контроль поле выбора сортировки WooCommerce?"
119
 
120
+ #: main.php:471
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  msgid "Jump to first page"
122
  msgstr "Переходить на первую страницу"
123
 
124
+ #: main.php:475
125
  msgid "Check if you want load first page after filters change"
126
  msgstr "Включите, если нужно Вам загружать первую страницу после фильтрации"
127
 
128
+ #: main.php:478
129
+ msgid "Scroll to the top"
130
  msgstr "Прокрутить страницу наверх"
131
 
132
+ #: main.php:481 main.php:562
133
  msgid "Selected filters position"
134
  msgstr "Позиция выбранных фильтров"
135
 
136
+ #: main.php:486 templates/filter_post.php:632
137
  msgid "Disable"
138
  msgstr "Выключено"
139
 
140
+ #: main.php:487
141
  msgid "Mobile and Desktop"
142
  msgstr "Мобильные и Персональные компьютеры "
143
 
144
+ #: main.php:488 includes/custom_post.php:299 includes/custom_post.php:611
145
  msgid "Mobile"
146
  msgstr "Мобильных"
147
 
148
+ #: main.php:489 includes/custom_post.php:307 includes/custom_post.php:619
149
  msgid "Desktop"
150
  msgstr "Персональных компьютерах "
151
 
152
+ #: main.php:498
153
  msgid "px from products top."
154
  msgstr "px от продуктов сверху."
155
 
156
+ #: main.php:498
157
  msgid "Use this to fix top scroll."
158
  msgstr "Используйте это для исправления скролла сверху"
159
 
160
+ #: main.php:503
161
+ msgid "Values count and output"
162
+ msgstr "Пересчет и вывод значений"
163
+
164
+ #: main.php:507
165
+ msgid "All non-empty values are shown and use basic counting"
166
+ msgstr ""
167
+ "Отображаются все непустые значения и будет использоваться стандартный "
168
+ "пересчет"
169
+
170
+ #: main.php:508
171
+ msgid "Remove empty values based on page(category/tag/etc)"
172
+ msgstr ""
173
+ "Удаляются пустые значения на основных страницах(категорий/тегов/и т. д.)"
174
+
175
+ #: main.php:509
176
+ msgid ""
177
+ "All non-empty values are shown and filters are considered while counting "
178
+ "attribute values"
179
+ msgstr ""
180
+ "Отображаются все непустые значения и учитываются фильтры при пересчете "
181
+ "значений атрибутов"
182
+
183
+ #: main.php:510
184
+ msgid ""
185
+ "Remove empty values based on page(category/tag/etc). Filters are considered "
186
+ "while counting attribute values and empty values based on filters are hidden"
187
+ msgstr ""
188
+ "Удаляются пустые значения на основных страницах (категорий/тегов/и т. д.). "
189
+ "Фильтры учитываются при пересчете значений атрибутов, а пустые значения "
190
+ "после фильтрации будут скрыты"
191
+
192
+ #: main.php:511
193
+ msgid ""
194
+ "Filters are considered while counting attribute values. Empty values are "
195
+ "removed server side"
196
+ msgstr ""
197
+ "Фильтры учитываются при пересчете значений атрибутов. Пустые значения "
198
+ "удаляются на стороне сервера"
199
+
200
+ #: main.php:513
201
+ msgid "Variable variant work slower, but remove variations that out of stock"
202
+ msgstr ""
203
+
204
+ #: main.php:518
205
+ msgid "Hide values"
206
+ msgstr "Скрыть значения"
207
+
208
+ #: main.php:524
209
+ msgid "Hide values without products"
210
+ msgstr "Скрыть значения без продуктов"
211
+
212
+ #: main.php:530
213
+ msgid "Hide selected values"
214
+ msgstr "Скрыть выбранные значения"
215
+
216
+ #: main.php:536
217
+ msgid "Hide blank widgets"
218
+ msgstr "Скрыть пустые виджеты"
219
+
220
+ #: main.php:541
221
  msgid "Select2"
222
  msgstr "Select2"
223
 
224
+ #: main.php:548
225
  msgid "Use Select2 script for dropdown menu"
226
  msgstr "Использовать скрипт Select2 для выпадающего меню"
227
 
228
+ #: main.php:555
229
  msgid ""
230
  "Fixed CSS styles for Select2 (do not enable if Select2 work correct. Option "
231
  "can break Select2 in other plugins or themes)"
233
  "Исправление стили CSS для Select2 (не включайте, если Select2 работает "
234
  "правильно. Опция может сломать Select2 в других плагинах или темах)"
235
 
236
+ #: main.php:566
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  msgid "WooCommerce Description(in header)"
238
  msgstr "Описание WooCommerce(в заголовке)"
239
 
240
+ #: main.php:567
241
  msgid "WooCommerce Before Shop Loop"
242
  msgstr "Перед WooCommerce Shop Loop"
243
 
244
+ #: main.php:568
245
  msgid "WooCommerce After Shop Loop"
246
  msgstr "После WooCommerce Shop Loop"
247
 
248
+ #: main.php:573
249
+ msgid "Display Selected Filters"
250
  msgstr "Отображать выбранные фильтры"
251
 
252
+ #: main.php:580
253
  msgid "Show selected filters above products"
254
  msgstr "Показать выбранные фильтры над продуктами"
255
 
256
+ #: main.php:587
257
  msgid ""
258
  "Hide selected filters area if nothing selected(affect only area above "
259
  "products)"
261
  "Скрыть область выбранных фильтров, если ничего не выбрано (влияет только на "
262
  "область над продуктами)"
263
 
264
+ #: main.php:598
265
+ msgid "Products Selector"
266
+ msgstr "Селектор Продуктов"
267
 
268
+ #: main.php:603 main.php:648
269
  msgid ""
270
  "Selector for tag that is holding products. Don't change this if you don't "
271
  "know what it is"
273
  "Селектор для тега, который содержит товары. Не меняйте это, если Вы не "
274
  "знаете, что это такое"
275
 
276
+ #: main.php:606
277
+ msgid "Products Quantity Selector"
278
  msgstr "Селектор количества продуктов"
279
 
280
+ #: main.php:613
281
  msgid ""
282
  "Selector for tag with product result count(\"Showing 1–8 of 61 results\"). "
283
  "Don't change this if you don't know what it is"
285
  "Селектор для тега с результатов количества продуктов(«Показано 1–8 из 61 "
286
  "результатов»). Не меняйте это, если Вы не знаете, что это такое"
287
 
288
+ #: main.php:619
289
  msgid "Enable if page doesn't have product count block"
290
  msgstr "Включить, если на странице нет блока подсчета товаров"
291
 
292
+ #: main.php:624
293
+ msgid "Products Sorting Selector"
294
  msgstr "Селектор для блока с сортировкой продуктов"
295
 
296
+ #: main.php:630
297
  msgid ""
298
  "Selector for order by form with drop down menu. Don't change this if you "
299
  "don't know what it is"
301
  "Селектор для блока сортировки. Не меняйте это, если Вы не знаете, что это "
302
  "такое"
303
 
304
+ #: main.php:636
305
  msgid "Enable if page doesn't have order by drop down menu"
306
  msgstr "Включить, если страница не имеет порядка в выпадающем меню"
307
 
308
+ #: main.php:641
309
+ msgid "Products Pagination Selector"
310
  msgstr "Селектор страниц"
311
 
312
+ #: main.php:654
313
  msgid ""
314
  "Enable if page doesn't have pagination.<strong>Page with lazy load also has "
315
  "pagination</strong>"
317
  "Включите, если страница не имеет нумерации страниц. <strong> Страница с "
318
  "отложенной загрузкой также имеет нумерацию страниц </strong>"
319
 
320
+ #: main.php:660
321
  msgid "Disable AJAX Pagination"
322
  msgstr "Отключить пагинацию AJAX"
323
 
324
+ #: main.php:667
325
+ msgid "Refresh URL when filtering"
326
  msgstr "Обновить URL при фильтрации"
327
 
328
+ #: main.php:672
329
  msgid ""
330
  "If this option is on URL will be changed when filter is selected/changed"
331
  msgstr ""
332
  "Если эта опция включена, URL будет изменен при выборе / изменении фильтра."
333
 
334
+ #: main.php:675
335
  msgid "Use slug in URL"
336
  msgstr "Используйте slug в URL"
337
 
338
+ #: main.php:680
339
  msgid "Use attribute slug instead ID"
340
  msgstr "Используйте атрибут slug вместо ID"
341
 
342
+ #: main.php:683
343
+ msgid "URL decoding"
344
  msgstr "Декодирование URL"
345
 
346
+ #: main.php:688
347
  msgid "Decode all symbols in URL to prevent errors on server side"
348
  msgstr ""
349
  "Расшифровует все символы в URL, чтобы избежать ошибок на стороне сервера"
350
 
351
+ #: main.php:691
352
  msgid "SEO Meta, Title"
353
  msgstr "SEO Мета, Заголовки"
354
 
355
+ #: main.php:696
356
  msgid "Meta Description, Page title and Page Header with filters"
357
  msgstr "Мета-описание, заголовок страницы и заголовок страницы с фильтрами"
358
 
359
+ #: main.php:699
360
+ msgid "SEO Elements"
361
+ msgstr "SEO Элементы"
362
 
363
+ #: main.php:706 templates/filters_group_simple.php:2
364
+ #: templates/filter_post_simple.php:11 includes/paid.php:1617
365
+ #: includes/paid.php:1787 templates/settings/design.php:789
366
  msgid "Title"
367
  msgstr "Название"
368
 
369
+ #: main.php:712
370
  msgid "Header"
371
  msgstr "Заголовок"
372
 
373
+ #: main.php:718 templates/filter_post.php:502
374
  msgid "Description"
375
  msgstr "Описание"
376
 
377
+ #: main.php:723
378
+ msgid "SEO elements structure"
379
+ msgstr "SEO структура элементов"
380
+
381
+ #: main.php:728
382
  msgid "{title} with [attribute] [values] and [attribute] [values]"
383
  msgstr "{title} with [attribute] [values] and [attribute] [values]"
384
 
385
+ #: main.php:729
386
  msgid "{title} [attribute]:[values];[attribute]:[values]"
387
  msgstr "{title} [attribute]:[values];[attribute]:[values]"
388
 
389
+ #: main.php:730
390
  msgid ""
391
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
392
  "[values]"
394
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
395
  "[values]"
396
 
397
+ #: main.php:731
398
  msgid "{title} - [values] / [values]"
399
  msgstr "{title} - [values] / [values]"
400
 
401
+ #: main.php:738
 
 
 
 
 
 
 
 
402
  msgid "\"No Products\" class"
403
  msgstr "Класс \"Нет продуктов\""
404
 
405
+ #: main.php:742
406
  msgid "Add class and use it to style \"No Products\" box"
407
  msgstr "Добавить класс для стилей \"Нет продуктов\""
408
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  #: main.php:745
 
 
 
 
410
  msgid "Display products"
411
  msgstr "Отображать продукты"
412
 
413
+ #: main.php:749
414
  msgid ""
415
  "Display always products when filters selected. Use this when you have "
416
  "categories and subcategories on shop pages, but you want to display products "
420
  "Вас есть категории и подкатегории на странице магазина, но вам нужно "
421
  "отображать продукты при фильтрации."
422
 
423
+ #: main.php:752
424
+ msgid "Use Tax options in price filters"
425
+ msgstr "Использование налогов в фильтрах цен"
426
+
427
+ #: main.php:753
428
+ msgid "Only Standard tax rates will be applied for prices"
429
+ msgstr "Только стандартные налоговые ставки будут применяться к ценам"
430
+
431
+ #: main.php:757
432
+ msgid "Do not use (filter price as it is set in products)"
433
+ msgstr "Не использовать (цены в фильтрах будут как указаны в продуктах)"
434
+
435
+ #: main.php:758
436
+ msgid "Use tax options"
437
+ msgstr "Используйте настройки налогов"
438
+
439
+ #: main.php:763
440
+ msgid "Page same as filter"
441
+ msgstr "Страница такая же как фильтр"
442
+
443
+ #: main.php:767 templates/filter_post.php:171 templates/filter_post.php:359
444
+ #: templates/filter_post.php:466 includes/paid.php:1746
445
+ #: templates/settings/design.php:57 templates/settings/design.php:165
446
+ #: templates/settings/design.php:179 templates/settings/design.php:184
447
+ #: templates/settings/design.php:421 templates/settings/design.php:435
448
+ #: templates/settings/design.php:440 templates/settings/design.php:653
449
+ #: templates/settings/design.php:658 templates/settings/design.php:666
450
+ #: templates/settings/design.php:677 templates/settings/design.php:682
451
+ #: templates/settings/design.php:722 templates/settings/design.php:727
452
+ #: templates/settings/design.php:735 templates/settings/design.php:743
453
+ #: templates/settings/design.php:748 templates/settings/design.php:756
454
+ #: templates/settings/design.php:761 templates/settings/design.php:793
455
+ #: templates/settings/design.php:807 templates/settings/design.php:812
456
+ #: templates/settings/design.php:820 templates/settings/design.php:834
457
+ #: templates/settings/design.php:839 templates/settings/design.php:847
458
+ #: templates/settings/design.php:861 templates/settings/design.php:866
459
+ #: templates/paid/filters_group.php:29
460
+ msgid "Default"
461
+ msgstr "По умолчанию"
462
+
463
+ #: main.php:768
464
+ msgid "Remove value"
465
+ msgstr "Удалить значение"
466
+
467
+ #: main.php:769
468
+ msgid "Leave only one value"
469
+ msgstr "Оставить только одно значение"
470
+
471
+ #: main.php:772
472
+ msgid ""
473
+ "On Category, Tag, Attribute page filter for it will remove value or leave "
474
+ "only one value"
475
+ msgstr ""
476
+ "На странице категории, тега, атрибута для фильтра будет удалено значение или "
477
+ "останется только одно значение"
478
+
479
+ #: main.php:776
480
+ msgid "Variable Products and Variations options"
481
+ msgstr "Опции Вариативных Продуктов и Вариаций"
482
+
483
+ #: main.php:779
484
+ msgid "Hide variations that are out of stock"
485
  msgstr "Скрыть вариации которых нет в наличии"
486
 
487
+ #: main.php:785 includes/paid.php:124 includes/paid.php:136
488
+ #: includes/paid.php:1862
489
  msgid "Disabled"
490
  msgstr "Отключить"
491
 
492
+ #: main.php:786
493
  msgid "Enabled"
494
  msgstr "Включить"
495
 
496
+ #: main.php:787
497
  msgid "Enabled only with selected \"Out of stock\" filter"
498
  msgstr "Включить если выбрано в фильтрах \"Нет в наличии\""
499
 
500
+ #: main.php:791
501
  msgid "Hide variable products if variations with selected filters out of stock"
502
  msgstr ""
503
  "Скрывать вариации продуктов, если вариаций с выбранными фильтрами нет в "
504
  "наличии"
505
 
506
+ #: main.php:798
507
  msgid ""
508
  "Use it for attributes values to display more correct count with option "
509
  "Reload amount of products"
511
  "Используйте для значений атрибутов, чтобы отобразить более правильный счет с "
512
  "опцией Перезагружать количество продуктов"
513
 
514
+ #: main.php:805
515
  msgid ""
516
  "Fix WPEngine query issue (Also can work with other hostings if they limit "
517
  "query size)"
519
  "Исправление проблемы с запросом WPEngine (также может работать с другими "
520
  "хостингами, если они ограничивают размер запроса)"
521
 
522
+ #: main.php:811
523
+ msgid "Incompatibility Fixes"
524
+ msgstr "Исправления Несовместимостей"
525
 
526
+ #: main.php:814
527
+ msgid "Add position relative to products"
528
+ msgstr "Добавление position relative к продуктам"
529
 
530
+ #: main.php:818
531
+ msgid "Fix for correct displaying loading block"
532
+ msgstr "Исправление для правильного отображение блока загрузки"
533
+
534
+ #: main.php:821
535
  msgid "Display styles only for pages with filters"
536
  msgstr "Стили отображения только для страниц с фильтрами"
537
 
538
+ #: main.php:825
539
  msgid "On some sites it can cause some visual problem on page loads"
540
  msgstr ""
541
  "На некоторых сайтах это может вызвать некоторые визуальные проблемы при "
542
  "загрузке страниц."
543
 
544
+ #: main.php:828
545
+ msgid "Products per line"
546
  msgstr "Исправление количества продуктов в строку"
547
 
548
+ #: main.php:832
549
  msgid "Change this only if after filtering count of products per row changes."
550
  msgstr ""
551
  "Изменяйте это, только если после фильтрации изменяется количество товаров в "
552
  "строке."
553
 
554
+ #: main.php:835
555
  msgid "Fix for sites with AJAX"
556
  msgstr "Исправление для сайтов с AJAX"
557
 
558
+ #: main.php:839
559
  msgid "Add JavaScript files to all pages."
560
  msgstr "Добавить файлы JavaScript на все страницы."
561
 
562
+ #: main.php:842
563
+ msgid "Fix for search page"
564
  msgstr "Исправление для страницы поиска"
565
 
566
+ #: main.php:846
567
  msgid "Disable redirection, when search page return only one product"
568
  msgstr ""
569
  "Отключить перенаправление, когда страница поиска возвращает только один "
570
  "продукт"
571
 
572
+ #: main.php:849
573
+ msgid "Use Tags as custom taxonomies"
574
  msgstr "Используйте теги, такие как пользовательские таксономии"
575
 
576
+ #: main.php:853
577
  msgid "Try to enable this if widget with tags didn't work."
578
  msgstr "Попробуйте включить это, если виджет с тегами не работает."
579
 
580
+ #: main.php:856
581
+ msgid "GET query"
582
+ msgstr "Запрос GET"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
583
 
584
+ #: main.php:860
585
+ msgid "Use GET query instead POST for filtering"
586
+ msgstr "Используйте GET-запрос вместо POST для фильтрации"
 
 
 
 
587
 
588
+ #: main.php:863
589
  msgid "Alternative Load (DEPRECATED)"
590
  msgstr "Альтернативная загрузка (УСТАРЕВШАЯ)"
591
 
592
+ #: main.php:870
593
  msgid ""
594
  "Use it on your own risk. Some features do not work with alternative load "
595
  "methods. All this methods are not supported. If you have problems with any "
599
  "альтернативными методами загрузки. Все эти методы не поддерживаются. Если у "
600
  "Вас есть проблемы с любым из них, просто отключите эту опцию"
601
 
602
+ #: main.php:877
603
  msgid "WordPress AJAX (deprecated)"
604
  msgstr "WordPress AJAX (устаревшая)"
605
 
606
+ #: main.php:878
607
  msgid "PHP (deprecated)"
608
  msgstr "PHP (устаревшая)"
609
 
610
+ #: main.php:879
611
  msgid "JavaScript (deprecated)"
612
  msgstr "JavaScript (устаревшая)"
613
 
614
+ #: main.php:882
615
  msgid "Use"
616
  msgstr "Использование"
617
 
618
+ #: main.php:883
619
  msgid "load method"
620
  msgstr "метод загрузки"
621
 
622
+ #: main.php:884
623
  msgid "Some features do not work with alternative load method"
624
  msgstr "Некоторые функции не работают с альтернативным методом загрузки"
625
 
626
+ #: main.php:890
627
+ msgid "Tools"
628
+ msgstr "Инструменты"
629
 
630
+ #: main.php:893
631
+ msgid "Turn off all filters"
632
+ msgstr "Выключите все фильтры"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633
 
634
+ #: main.php:897
635
+ msgid ""
636
+ "If you want to hide filters without losing current configuration just turn "
637
+ "them off"
638
+ msgstr ""
639
+ "Если Вы хотите скрыть фильтры без потери текущей конфигурации, просто "
640
+ "отключите их"
641
 
642
+ #: main.php:916
643
+ msgid "Disable Font Awesome"
644
+ msgstr "Отключить Font Awesome"
645
 
646
+ #: main.php:920
647
  msgid ""
648
+ "Don't loading css file for Font Awesome on site front end. Use it only if "
649
+ "you doesn't uses Font Awesome icons in widgets or you have Font Awesome in "
650
+ "your theme."
651
  msgstr ""
652
+ "Не загружайте файл CSS для Font Awesome на сайт. Используйте его, только "
653
+ "если Вы не используете иконки Font Awesome в виджетах или у Вас есть Font "
654
+ "Awesome в вашей теме."
655
+
656
+ #: main.php:923
657
+ msgid "Font Awesome Version"
658
+ msgstr "Версия Font Awesome"
659
+
660
+ #: main.php:927
661
+ msgid "Font Awesome 4"
662
+ msgstr "Font Awesome 4"
663
+
664
+ #: main.php:928
665
+ msgid "Font Awesome 5"
666
+ msgstr "Font Awesome 5"
667
+
668
+ #: main.php:931
669
+ msgid ""
670
+ "Version of Font Awesome that will be used on front end. Please select "
671
+ "version that you have in your theme"
672
+ msgstr ""
673
+ "Версия Font Awesome, которая будет использоваться в интерфейсе. Пожалуйста, "
674
+ "выберите версию, которая в вашей теме"
675
 
676
+ #: main.php:934
677
  msgid "Before Update:"
678
  msgstr "Перед обновлением:"
679
 
680
+ #: main.php:938
681
  msgid "If you want to add own actions on filter activation, eg: alert('1');"
682
  msgstr ""
683
  "Если Вы хотите добавить собственные действия при активации фильтра, например:"
684
  " alert ('1');"
685
 
686
+ #: main.php:941
687
+ msgid "During Update:"
688
  msgstr "Во время обновления:"
689
 
690
+ #: main.php:945
691
  msgid ""
692
  "If you want to add own actions right on products update. You can manipulate "
693
  "data here, try: data.products = 'Ha!';"
695
  "Если Вы хотите добавить собственные действия прямо на обновление продуктов. "
696
  "Вы можете манипулировать данными здесь, попробуйте: data.products = 'Ha!';"
697
 
698
+ #: main.php:948
699
  msgid "After Update:"
700
  msgstr "После обновления:"
701
 
702
+ #: main.php:952
703
  msgid "If you want to add own actions after products updated, eg: alert('1');"
704
  msgstr ""
705
  "Если Вы хотите добавить собственные действия после обновления продуктов, "
706
  "например: alert ('1');"
707
 
708
+ #: main.php:978 templates/filters_information.php:2
709
  msgid "SETUP WIZARD"
710
  msgstr "МАСТЕР УСТАНОВКИ"
711
 
712
+ #: main.php:980
713
  msgid "RUN SETUP WIZARD"
714
  msgstr "ЗАПУСТИТЬ МАСТЕР НАСТРОЙКИ"
715
 
716
+ #: main.php:982
717
  msgid "Run it to setup plugin options step by step"
718
  msgstr "Запустите его, чтобы шаг за шагом настроить параметры плагина"
719
 
720
+ #: main.php:991 main.php:1002
721
  msgid "Creating products"
722
  msgstr "Создание продуктов"
723
 
724
+ #: main.php:992 main.php:1003
725
  msgid "Gettings selectors"
726
  msgstr "Получение селекторов"
727
 
728
+ #: main.php:993 main.php:1004
729
  msgid "Removing products"
730
  msgstr "Удаление продуктов"
731
 
732
+ #: main.php:994
733
  msgid "Error:"
734
  msgstr "Ошибка:"
735
 
736
+ #: main.php:997
737
  msgid ""
738
  "IMPORTANT: It will generate some products on your site. Please disable all "
739
  "SEO plugins and plugins, that doing anything on product creating."
742
  "отключите все плагины SEO и плагины, которые делают что-либо при создании "
743
  "продукта."
744
 
745
+ #: main.php:998
746
  msgid ""
747
  "Script was runned, but page closed until end. Please stop it to prevent any "
748
  "problems on your site"
750
  "Скрипт запущен, не закрывайте страницу до окончания. Пожалуйста, остановите "
751
  "это, чтобы предотвратить любые проблемы на вашем сайте"
752
 
753
+ #: main.php:999
754
  msgid "Auto-Selectors"
755
  msgstr "Авто-Селекторы"
756
 
757
+ #: main.php:1000
758
  msgid "Stop"
759
  msgstr "Стоп"
760
 
761
+ #: main.php:1001
762
  msgid "Steps:"
763
  msgstr "Шаг:"
764
 
765
+ #: main.php:1007
766
  msgid "Get selectors automatically"
767
  msgstr "Получить селекторы автоматически"
768
 
769
+ #: main.php:1009
770
  msgid "How it work:"
771
  msgstr "Как это работает:"
772
 
773
+ #: main.php:1011
774
  msgid "Run Auto-selector"
775
  msgstr "Запустить автоматический выбор"
776
 
777
+ #: main.php:1012
778
  msgid ""
779
  "Wait until end <strong style=\"color:red;\">do not close this page</strong>"
780
  msgstr ""
781
  "Дождитесь окончания <strong style = \"color: red;\"> не закрывайте эту "
782
  "страницу </strong>"
783
 
784
+ #: main.php:1013
785
  msgid "Save settings with new selectors"
786
  msgstr "Сохранить настройки с новыми селекторами"
787
 
788
+ #: main.php:1022 main.php:1036
789
  msgid "Purge Cache"
790
  msgstr "Очистить кэш"
791
 
792
+ #: main.php:1038
793
  msgid "Clear attribute/custom taxonomy cache for plugin"
794
  msgstr "Очистить кэш атрибутов/пользовательских таксономий для плагина"
795
 
796
+ #: main.php:1056
797
  msgid "Replace old widgets"
798
  msgstr "Заменить старые виджеты"
799
 
800
+ #: main.php:1069
801
  msgid "Widget replaced"
802
  msgstr "Виджет заменен"
803
 
804
+ #: main.php:1070
805
  msgid "Replacing widgets... Please wait"
806
  msgstr "Замена виджетов ... Пожалуйста, подождите"
807
 
808
+ #: main.php:1074
809
  msgid "Replace widgets"
810
  msgstr "Заменить виджеты"
811
 
812
+ #: main.php:1076
813
  msgid "No old widgets"
814
  msgstr "Нет старых виджетов"
815
 
816
+ #: main.php:1079
817
  msgid "Replace deprecated widgets with new single filter widgets"
818
  msgstr "Заменить устаревшие виджеты фильтров новыми виджетами"
819
 
820
+ #: main.php:1102
821
+ msgid "Custom CSS Style:"
822
+ msgstr "Пользовательский Стиль CSS:"
823
 
824
+ #: main.php:1266 includes/paid.php:1649 templates/settings/design.php:161
 
825
  msgid "Checkbox"
826
  msgstr "Флажок"
827
 
828
+ #: main.php:1267 includes/paid.php:1650 templates/settings/design.php:417
 
829
  msgid "Radio"
830
  msgstr "Переключатель"
831
 
832
+ #: main.php:1268 includes/paid.php:1648
833
  msgid "Select"
834
  msgstr "Выбор"
835
 
836
+ #: main.php:1269 includes/paid.php:1651 templates/settings/design.php:12
837
+ #: templates/settings/design.php:27
838
  msgid "Color"
839
  msgstr "Цвет"
840
 
841
+ #: main.php:1270 includes/paid.php:1652
842
  msgid "Image"
843
  msgstr "Картинки"
844
 
845
+ #: main.php:1271 templates/settings/design.php:634
 
846
  msgid "Slider"
847
  msgstr "Слайдер"
848
 
849
+ #: main.php:1272
850
  msgid "Tag cloud"
851
  msgstr "Облако Тегов"
852
 
853
+ #: main.php:1547 templates/color.php:206 templates/checkbox.php:140
854
  #: templates/disabled/color.php:197 templates/disabled/checkbox.php:130
855
  msgid "Show value(s)"
856
  msgstr "Показать значение(я)"
857
 
858
+ #: main.php:1548
859
  msgid "Hide value(s)"
860
  msgstr "Скрыть значение(я)"
861
 
862
+ #: main.php:1549
863
  msgid "Unselect all"
864
  msgstr "Сбросить все"
865
 
866
+ #: main.php:1550
867
  msgid "Nothing is selected"
868
  msgstr "Ничего не выбрано"
869
 
870
+ #: main.php:1551
871
  msgid "products"
872
  msgstr "продукты"
873
 
874
+ #: main.php:1639
875
  msgid "Activate WooCommerce plugin before"
876
  msgstr "Активируйте плагин WooCommerce перед "
877
 
878
+ #: main.php:1645
879
  msgid "Update WooCommerce plugin"
880
  msgstr "Обновите плагин WooCommerce"
881
 
896
  msgid "Filters group"
897
  msgstr "Группа фильтров"
898
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
899
  #: templates/filters_group_simple.php:6 templates/filters_group.php:12
900
  msgid "Filters In Group"
901
  msgstr "Фильтры в группе"
904
  msgid "Add filter"
905
  msgstr "Добавить фильтр"
906
 
907
+ #: templates/filters_group_simple.php:17 includes/new_widget.php:283
908
  msgid "Create Filter"
909
  msgstr "Создать фильтр"
910
 
911
  #: templates/filters_group_simple.php:32 templates/filters_group_simple.php:57
912
+ #: includes/new_widget.php:127 includes/new_widget.php:281
913
  #: includes/custom_post.php:50 includes/custom_post.php:522
914
  msgid "Edit"
915
  msgstr "Редактировать"
916
 
917
+ #: templates/filters_group_simple.php:42 templates/filter_post_simple.php:153
918
  msgid "Need more options? Create it on "
919
  msgstr "Нужно больше опций? Создайте на странице "
920
 
921
+ #: templates/filters_group_simple.php:43 includes/new_widget.php:95
922
  msgid "Manage groups"
923
  msgstr "Управление группами"
924
 
925
+ #: templates/filters_group_simple.php:44 templates/filter_post_simple.php:155
926
  msgid " page"
927
  msgstr " "
928
 
929
+ #: templates/filters_group.php:4 includes/new_widget.php:102
930
+ #: includes/new_widget.php:256
931
  msgid "Custom CSS class"
932
  msgstr "Пользовательский CSS класс"
933
 
935
  msgid "use white space for multiple classes"
936
  msgstr "использовать пробел для нескольких классов"
937
 
938
+ #: templates/filters_group.php:23 templates/filter_post_simple.php:154
939
+ #: includes/new_widget.php:253
940
  msgid "Manage filters"
941
  msgstr "Управление фильтрами"
942
 
956
  msgid "Image pick"
957
  msgstr "Выбор изображения"
958
 
959
+ #: templates/filter_post.php:12 templates/filters_information.php:7
960
+ #: templates/filters_information.php:9
961
+ msgid "Widget Type"
962
+ msgstr "Тип Виджета"
963
+
964
+ #: templates/filter_post.php:16 includes/new_widget.php:260
965
+ #: includes/divi-builder.php:26 includes/custom_post.php:350
966
+ #: includes/visual-composer.php:26 templates/settings/design.php:843
967
+ #: addons/deprecated_compat/widget.php:263
968
+ #: includes/filters/display_widget.php:235
969
+ msgid "Filter"
970
+ msgstr "Фильтр"
971
+
972
+ #: templates/filter_post.php:36 templates/filter_post_simple.php:18
973
+ #: includes/paid.php:1621
974
+ msgid "Filter By"
975
+ msgstr "Фильтровать по"
976
+
977
+ #: templates/filter_post.php:41 templates/filter_post.php:83
978
+ #: templates/filter_post_simple.php:23 templates/filter_post_simple.php:65
979
+ #: includes/custom_post.php:360 includes/custom_post.php:437
980
+ #: includes/paid.php:1614 includes/paid.php:1623 includes/paid.php:1629
981
+ #: addons/deprecated_compat/widget.php:171
982
+ #: includes/filters/display_widget.php:161
983
+ msgid "Attribute"
984
+ msgstr "Атрибуты"
985
+
986
+ #: templates/filter_post.php:45 templates/filter_post_simple.php:27
987
+ #: includes/custom_post.php:361 includes/custom_post.php:373
988
+ #: includes/custom_post.php:392 includes/custom_post.php:441
989
+ #: includes/paid.php:1624 addons/deprecated_compat/widget.php:175
990
+ #: includes/filters/display_widget.php:165
991
+ msgid "Tag"
992
+ msgstr "Теги"
993
+
994
  #: templates/filter_post.php:49 templates/filter_post_simple.php:31
995
+ #: includes/custom_post.php:445 includes/paid.php:435
996
+ #: addons/deprecated_compat/widget.php:179
997
+ #: includes/filters/display_widget.php:169
998
  msgid "Product Category"
999
  msgstr "Категория продукта"
1000
 
1001
+ #: templates/filter_post.php:56 templates/filter_post_simple.php:38
1002
+ #: includes/custom_post.php:403 includes/custom_post.php:452
1003
+ #: addons/deprecated_compat/widget.php:186
1004
+ #: includes/filters/display_widget.php:176
1005
+ msgid "Rating"
1006
+ msgstr "Рейтинг"
1007
+
1008
+ #: templates/filter_post.php:85 templates/filter_post_simple.php:67
1009
+ #: includes/custom_post.php:381
1010
+ msgid "Price"
1011
+ msgstr "Цена"
1012
+
1013
+ #: templates/filter_post.php:92 templates/filter_post_simple.php:74
1014
+ #: includes/paid.php:1637
1015
+ msgid "Custom Taxonomies"
1016
+ msgstr "Пользовательские таксономии"
1017
+
1018
+ #: templates/filter_post.php:115 templates/filter_post_simple.php:97
1019
+ #: includes/paid.php:1646
1020
+ msgid "Type"
1021
+ msgstr "Тип"
1022
+
1023
+ #: templates/filter_post.php:162 templates/filter_post_simple.php:143
1024
+ msgid "Operator"
1025
+ msgstr "Оператор"
1026
+
1027
+ #: templates/filter_post.php:169
1028
+ msgid "Values Order"
1029
+ msgstr "Сортировка Значений"
1030
+
1031
+ #: templates/filter_post.php:172
1032
  msgid "Alpha"
1033
  msgstr "По алфавиту"
1034
 
1035
+ #: templates/filter_post.php:172
1036
  msgid "Numeric"
1037
  msgstr "Числовая"
1038
 
1039
+ #: templates/filter_post.php:178
1040
  msgid "Order Type"
1041
  msgstr "Тип сортировки"
1042
 
1043
+ #: templates/filter_post.php:180
1044
  msgid "Ascending"
1045
  msgstr "По возрастанию"
1046
 
1047
+ #: templates/filter_post.php:180
1048
  msgid "Descending"
1049
  msgstr "По убывания"
1050
 
1051
+ #: templates/filter_post.php:222
1052
  msgid "Ranges: 1,100,200,1000"
1053
  msgstr "Диапазон: 1,100,200,1000"
1054
 
1055
+ #: templates/filter_post.php:225
1056
  msgid "1.00-100.00, 101.00-200.00, 201.00-1000.00"
1057
  msgstr "1.00-100.00, 101.00-200.00, 201.00-1000.00"
1058
 
1059
+ #: templates/filter_post.php:226
1060
  msgid "1.00-100.00, 100.00-200.00, 200.00-1000.00"
1061
  msgstr "1.00-100.00, 100.00-200.00, 200.00-1000.00"
1062
 
1063
+ #: templates/filter_post.php:227
1064
  msgid "1.00-99.99, 100.00-199.99, 200.00-999.99"
1065
  msgstr "1.00-99.99, 100.00-199.99, 200.00-999.99"
1066
 
1067
+ #: templates/filter_post.php:239
1068
+ msgid "Hide first and last ranges without products"
1069
+ msgstr "Скрыть первые и последние диапазоны без продуктов"
1070
+
1071
+ #: templates/filter_post.php:244
1072
  msgid "Show last range to the infinity"
1073
  msgstr "Заменить последнее значение диапазона знаком бесконечности"
1074
 
1075
+ #: templates/filter_post.php:248
1076
  msgid "Infinity text"
1077
  msgstr "Текст вместо знака бесконечности"
1078
 
1079
+ #: templates/filter_post.php:263 templates/filter_post.php:429
1080
  msgid "Disable multiple selection?"
1081
  msgstr "Отключить множественный выбор"
1082
 
1083
+ #: templates/filter_post.php:269
1084
+ msgid "Text before price:"
1085
+ msgstr "Текст перед ценой: "
1086
+
1087
+ #: templates/filter_post.php:273
1088
+ msgid "after:"
1089
+ msgstr "после: "
1090
+
1091
+ #: templates/filter_post.php:280
1092
+ msgid "Enable Slider Inputs"
1093
+ msgstr "Включить Поля Слайдера"
1094
+
1095
+ #: templates/filter_post.php:284
1096
+ msgid "Use custom values(comma separated):"
1097
+ msgstr "Использовать пользовательские значения (разделяйте запятой): "
1098
+
1099
+ #: templates/filter_post.php:286
1100
+ msgid "* use numeric values only, strings will not work as expected"
1101
+ msgstr ""
1102
+ "* используйте только числовые значения, текстовые значения не работают как "
1103
+ "ожидается"
1104
+
1105
+ #: templates/filter_post.php:294
1106
+ msgid "Use current product category to get child"
1107
+ msgstr "Использовать текущую категорию, что бы получить дочерние"
1108
+
1109
+ #: templates/filter_post.php:299
1110
+ msgid "Deep level:"
1111
+ msgstr "Уровень глубины: "
1112
+
1113
+ #: templates/filter_post.php:305
1114
+ msgid "Product Category:"
1115
+ msgstr "Категория Продуктов: "
1116
+
1117
+ #: templates/filter_post.php:313
1118
+ msgid "None"
1119
+ msgstr "Нет"
1120
+
1121
+ #: templates/filter_post.php:338
1122
  msgid "First Element Text"
1123
  msgstr "Текст первого элемента"
1124
 
1125
+ #: templates/filter_post.php:339 addons/deprecated_compat/widget.php:819
1126
+ #: includes/filters/display_widget.php:506
1127
  msgid "Any"
1128
  msgstr "Всё"
1129
 
1130
+ #: templates/filter_post.php:344
1131
  msgid "Multiple select"
1132
  msgstr "Множественный выбор"
1133
 
1134
+ #: templates/filter_post.php:349 templates/filters_information.php:5
1135
  msgid "Advanced Settings"
1136
  msgstr "Продвинутые Настройки"
1137
 
1138
+ #: templates/filter_post.php:355
1139
+ msgid "Attribute Values count"
1140
+ msgstr "Количество Значений Атрибута"
1141
+
1142
+ #: templates/filter_post.php:356
1143
  msgid "From settings"
1144
  msgstr "С настроек"
1145
 
1146
+ #: templates/filter_post.php:357
1147
  msgid "Show/Hide button"
1148
  msgstr "Кнопка Показать/Скрыть"
1149
 
1150
+ #: templates/filter_post.php:360
1151
  msgid "Always visible"
1152
  msgstr "Всегда видимый"
1153
 
1154
+ #: templates/filter_post.php:361
1155
  msgid "Always hidden"
1156
  msgstr "Всегда скрытый"
1157
 
1158
+ #: templates/filter_post.php:369
1159
  msgid "Use specific number style"
1160
  msgstr "Использовать другие стили чисел"
1161
 
1162
+ #: templates/filter_post.php:373
1163
  msgid "Thousand Separator"
1164
  msgstr "Разделитель тысяч"
1165
 
1166
+ #: templates/filter_post.php:377 includes/paid.php:94
1167
  msgid "Decimal Separator"
1168
  msgstr "Десятичный разделитель"
1169
 
1170
+ #: templates/filter_post.php:381 includes/paid.php:100
1171
  msgid "Number Of Decimal"
1172
  msgstr "Количество знаков после запятой"
1173
 
1174
+ #: templates/filter_post.php:396
1175
  msgid "Enable collapse option"
1176
  msgstr "Включить опцию свертывания"
1177
 
1178
+ #: templates/filter_post.php:402
1179
  msgid "Collapse this widget on load?"
1180
  msgstr "Свернуть этот виджет при загрузке?"
1181
 
1182
+ #: templates/filter_post.php:408 templates/filter_post.php:580
1183
  msgid "Hide collapse arrow?"
1184
  msgstr "Скрыть стрелку для сворачивания виджета?"
1185
 
1186
+ #: templates/filter_post.php:415
1187
  msgid "Show hierarchical values as a tree with hidden child values on load?"
1188
  msgstr ""
1189
  "Показать иерархические значения в виде дерева со скрытыми дочерними "
1190
  "значениями при загрузке?"
1191
 
1192
+ #: templates/filter_post.php:425
1193
  msgid "Display value with color/image box?"
1194
  msgstr "Отображать значение возле цвета/изображения?"
1195
 
1196
+ #: templates/filter_post.php:432
1197
  msgid "Size of blocks(Height x Width)"
1198
  msgstr "Размер блока(Высота х Ширина)"
1199
 
1200
+ #: templates/filter_post.php:436
1201
  msgid "2em x 2em"
1202
  msgstr "2em x 2em"
1203
 
1204
+ #: templates/filter_post.php:437
1205
  msgid "1em x 1em"
1206
  msgstr "1em x 1em"
1207
 
1208
+ #: templates/filter_post.php:438
1209
  msgid "1em x 2em"
1210
  msgstr "1em x 2em"
1211
 
1212
+ #: templates/filter_post.php:439
1213
  msgid "2em x 3em"
1214
  msgstr "2em x 3em"
1215
 
1216
+ #: templates/filter_post.php:440
1217
  msgid "2em x 4em"
1218
  msgstr "2em x 4em"
1219
 
1220
+ #: templates/filter_post.php:441
1221
  msgid "3em x 3em"
1222
  msgstr "3em x 3em"
1223
 
1224
+ #: templates/filter_post.php:442
1225
  msgid "3em x 4em"
1226
  msgstr "3em x 4em"
1227
 
1228
+ #: templates/filter_post.php:443
1229
  msgid "3em x 5em"
1230
  msgstr "3em x 5em"
1231
 
1232
+ #: templates/filter_post.php:444
1233
  msgid "4em x 4em"
1234
  msgstr "4em x 4em"
1235
 
1236
+ #: templates/filter_post.php:445
1237
  msgid "4em x 5em"
1238
  msgstr "4em x 5em"
1239
 
1240
+ #: templates/filter_post.php:446
1241
  msgid "5em x 5em"
1242
  msgstr "5em x 5em"
1243
 
1244
+ #: templates/filter_post.php:447
1245
  msgid "Custom size"
1246
  msgstr "Пользовательский размер"
1247
 
1248
+ #: templates/filter_post.php:455
1249
  msgid "Custom size(Height x Width)"
1250
  msgstr "Пользовательский размер(Высота х Ширина)"
1251
 
1252
+ #: templates/filter_post.php:462
1253
  msgid "Checked type"
1254
  msgstr "Стиль выбора"
1255
 
1256
+ #: templates/filter_post.php:467
1257
  msgid "Rotate"
1258
  msgstr "Поворот"
1259
 
1260
+ #: templates/filter_post.php:468
1261
  msgid "Scale"
1262
  msgstr "Масштаб"
1263
 
1264
+ #: templates/filter_post.php:469
1265
  msgid "Blue Shadow"
1266
  msgstr "Blue Shadow"
1267
 
1268
+ #: templates/filter_post.php:470
1269
  msgid "Custom CSS"
1270
  msgstr "Пользовательский CSS"
1271
 
1272
+ #: templates/filter_post.php:478
1273
  msgid "Custom CSS for Checked block"
1274
  msgstr "Пользовательский CSS для блока выбора"
1275
 
1276
+ #: templates/filter_post.php:485
1277
  msgid "Icons"
1278
  msgstr "Иконки"
1279
 
1280
+ #: templates/filter_post.php:487
1281
  msgid "Title Icons"
1282
  msgstr "Иконки названия"
1283
 
1284
+ #: templates/filter_post.php:489 templates/filter_post.php:495
1285
+ #: includes/paid.php:1676 templates/paid/filters_search_box.php:43
1286
  msgid "Before"
1287
  msgstr "Перед"
1288
 
1289
+ #: templates/filter_post.php:490 templates/filter_post.php:496
1290
+ #: includes/paid.php:1677 templates/paid/filters_search_box.php:44
1291
  msgid "After"
1292
  msgstr "После"
1293
 
1294
+ #: templates/filter_post.php:493
1295
  msgid "Value Icons"
1296
  msgstr "Иконки значений"
1297
 
1298
+ #: templates/filter_post.php:506
1299
  msgid "CSS Class"
1300
  msgstr "CSS класс"
1301
 
1302
+ #: templates/filter_post.php:508
1303
  msgid "(use white space for multiple classes)"
1304
  msgstr "(используйте пробел для разделения классов)"
1305
 
1306
+ #: templates/filter_post.php:513
1307
  msgid "Tags Cloud Height:"
1308
  msgstr "Высота Облака Тегов: "
1309
 
1310
+ #: templates/filter_post.php:517
1311
  msgid "Min Font Size:"
1312
  msgstr "Минимальный Размер Шрифта: "
1313
 
1314
+ #: templates/filter_post.php:521
1315
  msgid "Max Font Size:"
1316
  msgstr "Максимальный Размер Шрифта: "
1317
 
1318
+ #: templates/filter_post.php:525
1319
  msgid "Max Tags Count:"
1320
  msgstr "Максимальное Количество Тегов: "
1321
 
1322
+ #: templates/filter_post.php:533
1323
  msgid "Use min price"
1324
  msgstr "Использовать пользовательскую минимальную цену"
1325
 
1326
+ #: templates/filter_post.php:542
1327
  msgid "Use max price"
1328
  msgstr "Использовать пользовательскую максимальную цену"
1329
 
1330
+ #: templates/filter_post.php:551
1331
  msgid "Filter Box Height:"
1332
  msgstr "Высота Блока с Фильтром"
1333
 
1334
+ #: templates/filter_post.php:555
1335
  msgid "Scroll Theme:"
1336
  msgstr "Тема для Полосы Прокрутки: "
1337
 
1338
+ #: templates/filter_post.php:574
1339
  msgid "Show if nothing is selected"
1340
  msgstr "Показать если ничего не выбрано"
1341
 
1342
+ #: templates/filter_post.php:586 templates/filters_information.php:5
1343
  msgid "Hide this widget on load?"
1344
  msgstr "Скрыть этот виджет при загрузке?"
1345
 
1346
+ #: templates/filter_post.php:625
1347
  msgid "Widget Output Limitations"
1348
  msgstr "Ограничение Отображения Виджета"
1349
 
1350
+ #: templates/filter_post.php:627
1351
  msgid "Product Category Value Limitation"
1352
  msgstr "Ограничение Отображения по Категориям"
1353
 
1354
+ #: templates/filter_post.php:655
1355
  msgid "Hide button"
1356
  msgstr "Скрыть кнопку"
1357
 
1358
+ #: templates/filter_post.php:657
1359
  msgid "Do not hide"
1360
  msgstr "Не прятать"
1361
 
1362
+ #: templates/filter_post.php:658
1363
  msgid "Hide only when no filters on page"
1364
  msgstr "Скрыть только когда нет фильтров на странице"
1365
 
1366
+ #: templates/filter_post.php:659
1367
  msgid "Hide when no filters on page or page not filtered"
1368
  msgstr "Скрыть, когда нет фильтров на странице или страница не отфильтрована"
1369
 
1431
  msgid "Select <strong>%s</strong> in option <strong>%s</strong>"
1432
  msgstr "Выберете <strong>%s</strong> в опции <strong>%s</strong>"
1433
 
1434
+ #: templates/filters_information.php:7 includes/custom_post.php:352
1435
+ #: includes/display_filter/reset_button.php:10
1436
+ msgid "Reset Products button"
1437
+ msgstr "Кнопка Сброса фильтров"
1438
+
1439
  #: templates/filters_information.php:8
1440
  msgid ""
1441
  "How to add update products button? (to filter products only after click on "
1444
  "Как добавить кнопку обновления продуктов? (для фильтрации продуктов только "
1445
  "после нажатия на кнопку)"
1446
 
1447
+ #: templates/filters_information.php:9 includes/custom_post.php:351
1448
+ #: includes/display_filter/update_button.php:10
1449
+ msgid "Update Products button"
1450
+ msgstr "Кнопка Фильтрации Продуктов"
1451
+
1452
  #: templates/filters_information.php:17
1453
  msgid ""
1454
  "Title will be displayed as widget title.<br>You can write text, that want to "
1521
  "магазина. <br> <strong> Использовать боковую панель, которая отображается на "
1522
  "странице магазина </strong>"
1523
 
1524
+ #: includes/functions.php:764
1525
  msgid "Widget Title"
1526
  msgstr "Название Виджета"
1527
 
1528
+ #: includes/functions.php:776
1529
  msgid "Label(checkbox/radio)"
1530
  msgstr ""
1531
  "Надпись (checkbox/radio)\n"
1532
 
1533
+ #: includes/functions.php:788
1534
+ msgid "Drop-Down"
1535
  msgstr "Выпадающий Список"
1536
 
1537
+ #: includes/functions.php:800
1538
  msgid "Slider Inputs"
1539
  msgstr "Поля для ввода в слайдере"
1540
 
1541
+ #: includes/functions.php:812
1542
  msgid "Description Block"
1543
  msgstr "Блок с Описанием"
1544
 
1545
+ #: includes/functions.php:824
1546
+ msgid "Description Block Border"
1547
+ msgstr "Граница Блока Описания"
1548
 
1549
+ #: includes/functions.php:836
1550
+ msgid "Description Block Title"
1551
+ msgstr "Заголовок Блока Описания"
1552
 
1553
+ #: includes/functions.php:848
1554
+ msgid "Description Block Text"
1555
+ msgstr "Текст Блока Описания"
1556
 
1557
+ #: includes/functions.php:860
1558
  msgid "Selected filters area text"
1559
  msgstr "Текст Области Выбранных Фильтров"
1560
 
1561
+ #: includes/functions.php:872
1562
+ msgid "Selected filters area mouse over the text"
1563
+ msgstr "Текст при наведении курсора Области Выбранных Фильтров"
1564
 
1565
+ #: includes/functions.php:884
1566
+ msgid "Selected filters area link background"
1567
  msgstr "Фон ссылки в Область Выбранных Фильтров"
1568
 
1569
+ #: includes/functions.php:896
1570
+ msgid "Selected filters area link border"
1571
  msgstr "Рамка для ссылки в Область Выбранных Фильтров"
1572
 
1573
  #: includes/new_widget.php:5
1578
  msgid "AJAX Product Filters. Group of filters"
1579
  msgstr "AJAX Фильтры Продуктов. Группа фильтров"
1580
 
1581
+ #: includes/new_widget.php:106 includes/divi-builder.php:79
1582
+ #: includes/paid.php:282
1583
  msgid "Group"
1584
  msgstr "Группа"
1585
 
1586
+ #: includes/new_widget.php:112 includes/divi-builder.php:70
1587
  msgid "--Please select group--"
1588
  msgstr "--Пожалуйста, выберите группу--"
1589
 
1590
+ #: includes/new_widget.php:129
1591
  msgid "Create Group"
1592
  msgstr "Создать группу"
1593
 
1594
+ #: includes/new_widget.php:136
1595
  msgid "AAPF Filter Single"
1596
  msgstr "AAPF Один Фильтр"
1597
 
1598
+ #: includes/new_widget.php:137
1599
  msgid "AJAX Product Filters. Single Filter"
1600
  msgstr "AJAX Фильтры Продуктов. Одиночный фильтр"
1601
 
1602
+ #: includes/new_widget.php:266 includes/divi-builder.php:17
1603
  #: includes/visual-composer.php:10 includes/visual-composer.php:36
1604
  msgid "--Please select filter--"
1605
  msgstr "--Пожалуйста, выберите фильтр--"
1722
  msgid "Data"
1723
  msgstr "Данные"
1724
 
1725
+ #: includes/custom_post.php:353 includes/display_filter/selected_area.php:14
1726
+ msgid "Selected Filters area"
1727
+ msgstr "Область с Выбранными Фильтрами"
1728
+
1729
+ #: includes/custom_post.php:354 includes/paid.php:1505
1730
  msgid "Search Box (DEPRECATED)"
1731
  msgstr "Поле поиска (УСТАРЕЛО)"
1732
 
1734
  msgid "Widget type: "
1735
  msgstr "Тип виджета:"
1736
 
1737
+ #: includes/custom_post.php:362 includes/paid.php:1474 includes/paid.php:1625
1738
+ msgid "Custom Taxonomy"
1739
+ msgstr "Пользовательская таксономия"
1740
+
1741
  #: includes/custom_post.php:369 includes/custom_post.php:386
1742
  msgid "Attribute: "
1743
  msgstr "Атрибут:"
1746
  msgid "Custom Taxonomy: "
1747
  msgstr "Пользовательские Таксономии:"
1748
 
1749
+ #: includes/custom_post.php:388 includes/paid.php:1478
1750
+ msgid "Stock status"
1751
+ msgstr "Наличие"
1752
+
1753
+ #: includes/custom_post.php:390 includes/paid.php:1470
1754
+ msgid "Product sub-categories"
1755
+ msgstr "Подкатегории Продуктов"
1756
+
1757
+ #: includes/custom_post.php:399 includes/paid.php:1482
1758
+ msgid "Date"
1759
+ msgstr "Дата"
1760
+
1761
+ #: includes/custom_post.php:401 includes/paid.php:1486
1762
+ msgid "Sale"
1763
+ msgstr "Распродажа"
1764
+
1765
  #: includes/custom_post.php:515 includes/custom_post.php:517
1766
  #: includes/custom_post.php:518
1767
  msgid "Product Filter Group"
1824
  msgid "Hide this group on:"
1825
  msgstr "Скрыть эту группу на:"
1826
 
1827
+ #: includes/custom_post.php:695 includes/paid.php:590 includes/paid.php:621
1828
+ #: addons/custom_sidebar/sidebar_include.php:37
1829
+ msgid "SHOW FILTERS"
1830
+ msgstr "ПОКАЗАТЬ ФИЛЬТРЫ"
 
 
 
1831
 
1832
+ #: includes/paid.php:81
1833
+ msgid "Hide the Show/Hide value(s) button in the filters"
1834
+ msgstr "Скрыть кнопку “Показать/Скрыть значение(я)” в фильтрах"
1835
 
1836
+ #: includes/paid.php:88
1837
+ msgid "Thousands Separator"
1838
+ msgstr "Разделитель тысяч"
1839
 
1840
+ #: includes/paid.php:112
1841
+ msgid "Use links for checkboxes and radio filter"
1842
  msgstr "Использовать ссылки для флажков и переключателей фильтров"
1843
 
1844
+ #: includes/paid.php:119
1845
+ msgid "Use noindex for links"
1846
  msgstr "Используйте noindex для ссылок"
1847
 
1848
+ #: includes/paid.php:125 includes/paid.php:137
1849
  msgid "Second+ levels"
1850
  msgstr "Вторые+ уровни"
1851
 
1852
+ #: includes/paid.php:126 includes/paid.php:138
1853
  msgid "All levels"
1854
  msgstr "Все уровни"
1855
 
1856
+ #: includes/paid.php:131
1857
+ msgid "Use nofollow for links"
1858
  msgstr "Используйте nofollow для ссылок"
1859
 
1860
+ #: includes/paid.php:149
1861
+ msgid "Nice URLs"
1862
  msgstr "Хорошие URL"
1863
 
1864
+ #: includes/paid.php:154
1865
  msgid ""
1866
  "Works only with SEO friendly urls. WordPress permalinks must be set to Post "
1867
  "name(Custom structure: /%postname%/ )"
1870
  "быть установлены на «Имя публикации» (пользовательская структура: /% "
1871
  "postname% /)"
1872
 
1873
+ #: includes/paid.php:157
1874
+ msgid "Base Canonical URL"
1875
  msgstr "Не отображать фильтры в Canonical"
1876
 
1877
+ #: includes/paid.php:161
1878
  msgid "Use canonical tag without filters on WooCommerce pages"
1879
  msgstr "Используйте канонический тег без фильтров на страницах WooCommerce"
1880
 
1881
+ #: includes/paid.php:165 includes/paid.php:1667
1882
  #: templates/paid/filters_search_box.php:34
1883
  msgid "Elements position"
1884
  msgstr "Позиция элементов"
1885
 
1886
+ #: includes/paid.php:167
1887
+ msgid "Show the number of products before filtering"
1888
  msgstr "Показывать количество продуктов до фильтрации"
1889
 
1890
+ #: includes/paid.php:173
1891
  msgid "Show products count before filtering, when using update button"
1892
  msgstr ""
1893
  "Показывать количество продуктов до фильтрации при использовании кнопки "
1894
  "обновления"
1895
 
1896
+ #: includes/paid.php:179
1897
  msgid "Text that means products"
1898
  msgstr "Текст вместо \"products\""
1899
 
1900
+ #: includes/paid.php:185
1901
  msgid "Text for show button"
1902
  msgstr "Текст для кнопки показать"
1903
 
1904
+ #: includes/paid.php:198
1905
+ msgid "Data cache"
1906
+ msgstr "Кэш данных"
1907
+
1908
+ #: includes/paid.php:202
1909
+ msgid "Turned off"
1910
+ msgstr "Выключено"
1911
+
1912
+ #: includes/paid.php:203
1913
+ msgid "WordPress Cache"
1914
+ msgstr "WordPress Кэш"
1915
+
1916
+ #: includes/paid.php:204
1917
+ msgid "Persistent Cache Plugins"
1918
+ msgstr "Плагины постоянного кэширования"
1919
+
1920
+ #: includes/paid.php:215
1921
  msgid "Display variation image"
1922
  msgstr "Отображать картинку вариации"
1923
 
1924
+ #: includes/paid.php:219
1925
  msgid "Display variation image instead of product's when filtering"
1926
  msgstr ""
1927
  "Показывать после фильтрации изображение вариации вместо изображения продукта."
1928
 
1929
+ #: includes/paid.php:222
1930
  msgid "Display variation price"
1931
  msgstr "Показывать цену вариации"
1932
 
1933
+ #: includes/paid.php:226
1934
  msgid "Display variation price instead of product's when filtering"
1935
  msgstr "Показывать после фильтрации цену вариации вместо цены продукта."
1936
 
1937
+ #: includes/paid.php:229
1938
+ msgid "Remember variation options"
1939
+ msgstr "Запомнить выбор вариации"
1940
+
1941
+ #: includes/paid.php:235
1942
+ msgid "Use variation options only after search"
1943
+ msgstr "Использовать выбор вариации только после поиска"
1944
+
1945
+ #: includes/paid.php:247
1946
  msgid "Slider has a lot of values"
1947
  msgstr "Ползунок имеет много значений"
1948
 
1949
+ #: includes/paid.php:251
1950
  msgid ""
1951
  "Enable it if slider has more than 250 values. Hierarchical taxonomy can work "
1952
  "incorrect with sliders"
1954
  "Включите настройку, если ползунок имеет более 250 значений. Иерархическая "
1955
  "таксономия может работать некорректно с ползунками"
1956
 
1957
+ #: includes/paid.php:261
1958
+ msgid "Elements over products"
 
 
 
 
 
 
 
 
 
 
 
 
1959
  msgstr "Элементы над продуктами"
1960
 
1961
+ #: includes/paid.php:286
1962
  msgid "Add group"
1963
  msgstr "Добавить группу"
1964
 
1965
+ #: includes/paid.php:386 templates/paid/filters_group.php:68
1966
+ #: addons/custom_sidebar/sidebar_include.php:56
1967
+ msgid "Collapse Button style"
1968
+ msgstr "Стиль кнопки «Свернуть»"
1969
+
1970
+ #: includes/paid.php:406
1971
+ msgid "Collapse Button Icon style"
1972
+ msgstr "Стиль значка кнопки «Свернуть»"
1973
+
1974
+ #: includes/paid.php:479
1975
+ msgid "Search Box"
1976
+ msgstr "Блок Поиска"
1977
+
1978
+ #: includes/paid.php:490 includes/paid.php:1496
1979
  msgid "Ranges"
1980
  msgstr "Диапазон"
1981
 
1982
+ #: includes/paid.php:561
1983
+ msgid "Hide \"Show/Hide value(s)\" button"
1984
+ msgstr "Скрыть кнопку “Показать/Скрыть значение(я)”"
1985
+
1986
+ #: includes/paid.php:1576
1987
  msgid "Attributes"
1988
  msgstr "Атрибуты"
1989
 
1990
+ #: includes/paid.php:1579 templates/paid/filters_search_box.php:9
1991
  msgid "URL to search"
1992
  msgstr "Ссылка для поиска"
1993
 
1994
+ #: includes/paid.php:1581 templates/paid/filters_search_box.php:11
1995
  msgid "Shop page"
1996
  msgstr "Страница магазина"
1997
 
1998
+ #: includes/paid.php:1582 templates/paid/filters_search_box.php:12
1999
  msgid "Category page"
2000
  msgstr "Страница категории"
2001
 
2002
+ #: includes/paid.php:1583 templates/paid/filters_search_box.php:13
2003
  msgid "URL"
2004
  msgstr "Ссылка"
2005
 
2006
+ #: includes/paid.php:1587 templates/paid/filters_search_box.php:17
2007
  msgid "Category"
2008
  msgstr "Категория"
2009
 
2010
+ #: includes/paid.php:1597 templates/paid/filters_search_box.php:27
2011
  msgid "URL for search"
2012
  msgstr "Ссылка для поиска"
2013
 
2014
+ #: includes/paid.php:1601
2015
  msgid "Attributes count"
2016
  msgstr "Количество атрибутов"
2017
 
2018
+ #: includes/paid.php:1664 templates/paid/filters_search_box.php:31
2019
  msgid "Styles"
2020
  msgstr "Стили"
2021
 
2022
+ #: includes/paid.php:1669 templates/paid/filters_search_box.php:36
2023
  msgid "Vertical"
2024
  msgstr "Вертикально"
2025
 
2026
+ #: includes/paid.php:1670 templates/paid/filters_search_box.php:37
2027
  msgid "Horizontal"
2028
  msgstr "Горизонтально"
2029
 
2030
+ #: includes/paid.php:1674 templates/paid/filters_search_box.php:41
2031
  msgid "Search button position"
2032
  msgstr "Позиция кнопки поиска"
2033
 
2034
+ #: includes/paid.php:1678 templates/paid/filters_search_box.php:45
2035
  msgid "Before and after"
2036
  msgstr "До и после"
2037
 
2038
+ #: includes/paid.php:1682 templates/paid/filters_search_box.php:49
2039
  msgid "Search button text"
2040
  msgstr "Текст на кнопке поиска"
2041
 
2042
+ #: includes/paid.php:1686 templates/settings/design.php:705
2043
  #: templates/paid/filters_search_box.php:53
2044
  msgid "Background color"
2045
  msgstr "Цвет фона"
2046
 
2047
+ #: includes/paid.php:1691 templates/paid/filters_search_box.php:58
2048
  msgid "Background transparency"
2049
  msgstr "Прозрачность фона"
2050
 
2051
+ #: includes/paid.php:1695 templates/paid/filters_search_box.php:62
2052
  msgid "100%"
2053
  msgstr "100%"
2054
 
2055
+ #: includes/paid.php:1696 templates/paid/filters_search_box.php:63
2056
  msgid "90%"
2057
  msgstr "90%"
2058
 
2059
+ #: includes/paid.php:1697 templates/paid/filters_search_box.php:64
2060
  msgid "80%"
2061
  msgstr "80%"
2062
 
2063
+ #: includes/paid.php:1698 templates/paid/filters_search_box.php:65
2064
  msgid "70%"
2065
  msgstr "70%"
2066
 
2067
+ #: includes/paid.php:1699 templates/paid/filters_search_box.php:66
2068
  msgid "60%"
2069
  msgstr "60%"
2070
 
2071
+ #: includes/paid.php:1700 templates/paid/filters_search_box.php:67
2072
  msgid "50%"
2073
  msgstr "50%"
2074
 
2075
+ #: includes/paid.php:1701 templates/paid/filters_search_box.php:68
2076
  msgid "40%"
2077
  msgstr "40%"
2078
 
2079
+ #: includes/paid.php:1702 templates/paid/filters_search_box.php:69
2080
  msgid "30%"
2081
  msgstr "30%"
2082
 
2083
+ #: includes/paid.php:1703 templates/paid/filters_search_box.php:70
2084
  msgid "20%"
2085
  msgstr "20%"
2086
 
2087
+ #: includes/paid.php:1704 templates/paid/filters_search_box.php:71
2088
  msgid "10%"
2089
  msgstr "10%"
2090
 
2091
+ #: includes/paid.php:1705 templates/paid/filters_search_box.php:72
2092
  msgid "0%"
2093
  msgstr "0%"
2094
 
2095
+ #: includes/paid.php:1716 templates/paid/filters_search_box.php:83
2096
  msgid "Button background color"
2097
  msgstr "Цвет фона кнопки"
2098
 
2099
+ #: includes/paid.php:1721 templates/paid/filters_search_box.php:88
2100
  msgid "Button background color on mouse over"
2101
  msgstr "Цвет фона кнопки при наведении"
2102
 
2103
+ #: includes/paid.php:1726 templates/paid/filters_search_box.php:93
2104
  msgid "Button text color"
2105
  msgstr "Цвет текста на кнопке"
2106
 
2107
+ #: includes/paid.php:1731 templates/paid/filters_search_box.php:98
2108
  msgid "Button text color on mouse over"
2109
  msgstr "Цвет текста на кнопке при наведении"
2110
 
2111
+ #: includes/paid.php:1744
2112
  msgid "Child/Parent Limitation"
2113
  msgstr "Ограничение Дочерних/Родительских"
2114
 
2115
+ #: includes/paid.php:1747
2116
  msgid "Child Count"
2117
  msgstr "Количество дочерних"
2118
 
2119
+ #: includes/paid.php:1748
2120
  msgid "Parent"
2121
  msgstr "Родительские"
2122
 
2123
+ #: includes/paid.php:1749 includes/paid.php:1785
2124
  msgid "Child"
2125
  msgstr "Дочерние"
2126
 
2127
+ #: includes/paid.php:1753
2128
  msgid "Child depth"
2129
  msgstr "Дочернее дерево"
2130
 
2131
+ #: includes/paid.php:1756 includes/paid.php:1795
2132
  msgid "\"No values\" messages"
2133
  msgstr "Сообщения «Нет значений»"
2134
 
2135
+ #: includes/paid.php:1760 includes/paid.php:1799
2136
  msgid "\"Select previous\" messages"
2137
  msgstr "«Выбрать предыдущие» сообщения"
2138
 
2139
+ #: includes/paid.php:1764
2140
  msgid "\"No Products\" messages"
2141
  msgstr "Сообщения \"Нет товаров\""
2142
 
2143
+ #: includes/paid.php:1769
2144
  msgid "Child count"
2145
  msgstr "Количество дочерних"
2146
 
2147
+ #: includes/paid.php:1791
2148
  msgid "\"No products\" messages"
2149
  msgstr "Сообщения \"Нет товаров\""
2150
 
2151
+ #: includes/paid.php:1812
2152
  msgid "Date Month Dropdown menu"
2153
  msgstr "Выпадающий список для месяца"
2154
 
2155
+ #: includes/paid.php:1818
2156
  msgid "Date Year Dropdown menu"
2157
  msgstr "Выпадающий список для года"
2158
 
2159
+ #: includes/paid.php:1822
2160
  msgid "Date visual style"
2161
  msgstr "Визуальный стиль даты"
2162
 
2163
+ #: includes/paid.php:1863
2164
  msgid "Display only"
2165
  msgstr "Показывать"
2166
 
2167
+ #: includes/paid.php:1864
2168
  msgid "Remove"
2169
  msgstr "Удалить"
2170
 
2171
+ #: includes/paid.php:1866
2172
  msgid "values selected in Include / Exclude List"
2173
  msgstr "«Включить / Исключить» значения, выбранные в списке "
2174
 
2175
+ #: includes/paid.php:1888
2176
+ msgid "Use as numeric"
2177
+ msgstr "Использовать как числовой"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2178
 
2179
+ #: includes/paid.php:1901
2180
  msgid "Show product count per attribute value?"
2181
  msgstr "Показывать количество продуктов для каждого атрибута?"
2182
 
2183
+ #: includes/paid.php:1912
2184
  msgid "Values per row"
2185
  msgstr "Значений в строке"
2186
 
2187
+ #: includes/paid.php:2049 includes/paid.php:2894
2188
+ #: includes/widget_functions.php:189 includes/widget_functions.php:462
2189
+ #: addons/deprecated_compat/widget.php:1756
2190
+ #: addons/deprecated_compat/widget.php:2029
2191
  msgid "In stock"
2192
  msgstr "В наличии"
2193
 
2194
+ #: includes/paid.php:2056 includes/paid.php:2895
2195
+ #: includes/widget_functions.php:190 includes/widget_functions.php:463
2196
+ #: addons/deprecated_compat/widget.php:1757
2197
+ #: addons/deprecated_compat/widget.php:2030
2198
  msgid "Out of stock"
2199
  msgstr "Нет в наличии"
2200
 
2201
+ #: includes/paid.php:2076 includes/paid.php:2898
2202
  msgid "On sale"
2203
  msgstr "Со скидкой"
2204
 
2205
+ #: includes/paid.php:2083 includes/paid.php:2899
2206
  msgid "Not on sale"
2207
  msgstr "Без скидки"
2208
 
2209
+ #: includes/paid.php:3051
2210
  msgid "Nice URLs settings"
2211
  msgstr "Настройки хороших URL"
2212
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2213
  #. Author of the plugin
2214
  #: includes/visual-composer.php:21 includes/visual-composer.php:47
2215
  msgid "BeRocket"
2356
  msgstr "Закругление углов кнопки"
2357
 
2358
  #: templates/settings/design.php:703
2359
+ msgid "Product count description before filtering with Apply Filters button"
2360
+ msgstr ""
2361
+ "Описание количества товаров перед фильтрацией с кнопкой «Кнопка Фильтрации "
2362
+ "Продуктов»"
2363
 
2364
  #: templates/settings/design.php:707
2365
  msgid "Font size"
2398
  msgstr "Название при открытии"
2399
 
2400
  #: templates/settings/design.php:881
2401
+ msgid "Loading icon"
2402
+ msgstr "Иконка загрузки"
2403
 
2404
  #: templates/settings/design.php:889
2405
+ msgid "Loading icon text"
2406
  msgstr "Текст возле иконки загрузки"
2407
 
2408
  #: templates/settings/design.php:891
2410
  msgstr "Выше:"
2411
 
2412
  #: templates/settings/design.php:894
2413
+ msgid "Below:"
2414
  msgstr "Ниже:"
2415
 
2416
  #: templates/settings/design.php:897
2422
  msgstr "После:"
2423
 
2424
  #: templates/settings/design.php:906
2425
+ msgid "Show and hide description"
2426
  msgstr "Показать и скрыть описание"
2427
 
2428
  #: templates/settings/design.php:908
2429
+ msgid "Show when user:"
2430
+ msgstr "Показывать при:"
2431
 
2432
  #: templates/settings/design.php:910
2433
  msgid "Click"
2434
  msgstr "Нажатии"
2435
 
2436
  #: templates/settings/design.php:911
2437
+ msgid "Hovering over the icon"
2438
+ msgstr "Наведении курсора на иконку"
2439
 
2440
  #: templates/settings/design.php:915
2441
+ msgid "Hide when user:"
2442
+ msgstr "Скрыть при:"
2443
 
2444
  #: templates/settings/design.php:917
2445
  msgid "Click anywhere"
2446
  msgstr "Нажатии в любом месте"
2447
 
2448
  #: templates/settings/design.php:918
2449
+ msgid "Move cursor outside the icon"
2450
+ msgstr "Переместить курсор за пределы значка"
2451
 
2452
  #: templates/settings/design.php:925
2453
+ msgid "Product quantity style"
2454
  msgstr "Стиль для количества продуктов"
2455
 
2456
  #: templates/settings/design.php:928
2486
  msgstr "Позиция на картинке:"
2487
 
2488
  #: templates/settings/design.php:952
2489
+ msgid "Indent option for hierarchy in Drop-Down"
2490
  msgstr "Вариант отступа для дерева дочерних"
2491
 
2492
  #: templates/settings/design.php:955
2541
  msgid "Display on mouse over and hide on mouse leave"
2542
  msgstr "Отображение при наведении курсора мыши и скрыть при убирание курсора"
2543
 
2544
+ #: templates/paid/filters_group.php:61
2545
+ msgid "Collapsed on page load"
2546
+ msgstr "Свернуть при загрузке страницы"
2547
+
2548
+ #: templates/paid/filters_group.php:64
2549
+ msgid ""
2550
+ "Collapse group on page load and show icon instead. When icon is clicked "
2551
+ "filters will be shown"
2552
+ msgstr ""
2553
+ "При загрузке страницы фильтры над продуктам будут спрятаны, а вместо "
2554
+ "фильтров будет выведена кнопка. При нажатии кнопки будут показаны фильтры"
2555
+
2556
  #: templates/paid/filters_search_box.php:4
2557
  msgid "Use Group as Search Box"
2558
  msgstr "Использовать группу как блок поиска"
2559
 
2560
  #: addons/filtering_conditions/filtering_conditions.php:9
2561
  #: addons/filtering_conditions/add_conditions.php:39
2562
+ msgid "Nested Filters (BETA)"
2563
  msgstr "Условия после фильтрации (БЕТА)"
2564
 
2565
+ #: addons/filtering_conditions/filtering_conditions.php:10
2566
+ msgid ""
2567
+ "The ability to set conditions for the filters based on other filters status"
2568
+ msgstr ""
2569
+ "Возможность устанавливать условия для фильтров на основе статуса других "
2570
+ "фильтров"
2571
+
2572
  #: addons/filtering_conditions/add_conditions.php:47
2573
  msgid ""
2574
  "Use this to display products only after filtering by some attribute and value"
2576
  "Используйте это для отображения товаров только после фильтрации по "
2577
  "некоторому атрибуту и значению"
2578
 
2579
+ #: addons/custom_sidebar/custom_sidebar.php:9
2580
+ msgid "Custom Sidebar"
2581
+ msgstr "Пользовательская Боковая Панель"
2582
+
2583
+ #: addons/custom_sidebar/sidebar_include.php:52
2584
+ msgid "Custom Sidebar Styles"
2585
+ msgstr "Пользовательский Стиль Боковой Панели"
2586
+
2587
+ #: addons/custom_sidebar/sidebar_include.php:65
2588
+ msgid "First"
2589
+ msgstr "First"
2590
+
2591
+ #: addons/custom_sidebar/sidebar_include.php:66
2592
+ msgid "Second"
2593
+ msgstr "Second"
2594
+
2595
+ #: addons/custom_sidebar/sidebar_include.php:67
2596
+ msgid "Third"
2597
+ msgstr "Third"
2598
+
2599
+ #: addons/custom_sidebar/sidebar_include.php:68
2600
+ msgid "Fourth"
2601
+ msgstr "Fourth"
2602
+
2603
+ #: addons/custom_sidebar/sidebar_include.php:69
2604
+ msgid "Fifth"
2605
+ msgstr "Fifth"
2606
+
2607
+ #: addons/custom_sidebar/sidebar_include.php:70
2608
+ msgid "Sixth"
2609
+ msgstr "Sixth"
2610
+
2611
+ #: addons/custom_sidebar/sidebar_include.php:90
2612
+ msgid "BeRocket AJAX Filters"
2613
+ msgstr "BeRocket AJAX Filters"
2614
+
2615
+ #: addons/custom_sidebar/sidebar_include.php:92
2616
+ msgid "Sidebar for BeRocket AJAX Filters"
2617
+ msgstr "Боковая Панель для BeRocket AJAX Фильтров"
2618
+
2619
+ #: addons/custom_sidebar/sidebar_include.php:103
2620
+ msgid "Close &#10005;"
2621
+ msgstr "Закрыть &#10005;"
2622
+
2623
+ #: addons/divi_theme_compat/divi_theme_compat.php:21
2624
+ msgid "DIVI Theme Compatibility"
2625
+ msgstr "Совместимость с Темой DIVI"
2626
+
2627
+ #: addons/divi_theme_compat/divi_theme_compat.php:23
2628
+ msgid ""
2629
+ "Replace DIVI products module with custom products module, that has "
2630
+ "additional option. Provide better compatibility with filters"
2631
+ msgstr ""
2632
+ "Заменяет модуль продуктов DIVI модулем пользовательских продуктов, который "
2633
+ "имеет дополнительную опцию. Обеспечивает лучшую совместимость с фильтрами"
2634
+
2635
+ #: addons/deprecated_compat/deprecated_compat.php:9
2636
+ msgid "Deprecated Widget"
2637
+ msgstr "Устаревший Виджет"
2638
+
2639
+ #: addons/deprecated_compat/deprecated_compat.php:11
2640
+ msgid ""
2641
+ "<span style=\"color: red;\">DO NOT USE<br>IT WILL BE REMOVED IN THE "
2642
+ "FUTURE</span><br>Uses for compatibility with old filters"
2643
+ msgstr ""
2644
+ "<span style=\"color: red;\">НЕ ИСПОЛЬЗУЙТЕ<br>ЭТО БУДЕТ УДАЛЕННО В СЛЕДУЮЩЕЙ "
2645
+ "ВЕРСИИ</span><br>Используется для совместимости со старыми фильтрами"
2646
+
2647
+ #: addons/deprecated_compat/widget.php:124
2648
+ #: includes/filters/display_widget.php:123
2649
+ msgid "Add Filters to Products page"
2650
+ msgstr "Добить фильтры на страницу продуктов"
2651
+
2652
+ #: addons/deprecated_compat/widget.php:130
2653
+ #: includes/filters/display_widget.php:129
2654
+ msgid "AJAX Product Filters (Deprecated)"
2655
+ msgstr "Фильтры продуктов AJAX(УСТАРЕЛО)"
2656
+
2657
+ #: addons/deprecated_compat/widget.php:550
2658
+ #: includes/filters/display_widget.php:445
2659
+ msgid "1 star"
2660
+ msgstr "1 звезда"
2661
+
2662
+ #: addons/deprecated_compat/widget.php:550
2663
+ #: includes/filters/display_widget.php:445
2664
+ msgid ""
2665
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2666
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2667
+ msgstr ""
2668
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2669
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2670
+
2671
+ #: addons/deprecated_compat/widget.php:553
2672
+ #: includes/filters/display_widget.php:446
2673
+ msgid "2 stars"
2674
+ msgstr "2 звезды"
2675
+
2676
+ #: addons/deprecated_compat/widget.php:553
2677
+ #: includes/filters/display_widget.php:446
2678
+ msgid ""
2679
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2680
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2681
+ msgstr ""
2682
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2683
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2684
+
2685
+ #: addons/deprecated_compat/widget.php:556
2686
+ #: includes/filters/display_widget.php:447
2687
+ msgid "3 stars"
2688
+ msgstr "3 звезды"
2689
+
2690
+ #: addons/deprecated_compat/widget.php:556
2691
+ #: includes/filters/display_widget.php:447
2692
+ msgid ""
2693
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2694
+ "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2695
+ msgstr ""
2696
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2697
+ "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2698
+
2699
+ #: addons/deprecated_compat/widget.php:559
2700
+ #: includes/filters/display_widget.php:448
2701
+ msgid "4 stars"
2702
+ msgstr "4 звезды"
2703
+
2704
+ #: addons/deprecated_compat/widget.php:559
2705
+ #: includes/filters/display_widget.php:448
2706
+ msgid ""
2707
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2708
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2709
+ msgstr ""
2710
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2711
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2712
+
2713
+ #: addons/deprecated_compat/widget.php:562
2714
+ #: includes/filters/display_widget.php:449
2715
+ msgid "5 stars"
2716
+ msgstr "5 звезд"
2717
+
2718
+ #: addons/deprecated_compat/widget.php:562
2719
+ #: includes/filters/display_widget.php:449
2720
+ msgid ""
2721
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2722
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2723
+ msgstr ""
2724
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2725
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2726
+
2727
  #: addons/separate_link/separate_vars.php:27
2728
  msgid "Default operator for URLs"
2729
  msgstr "Оператор по умолчанию для URL"
2737
  msgstr "И"
2738
 
2739
  #: addons/separate_link/separate_vars.php:35
2740
+ msgid "Default operator will not be added to the URL"
2741
+ msgstr "Оператор по умолчанию для URL"
2742
 
2743
  #: addons/separate_link/separate_link.php:9
2744
+ msgid "Link like WooCommerce (BETA)"
2745
  msgstr "Ссылка как у WooCommerce (БЕТА)"
2746
 
2747
+ #: addons/separate_link/separate_link.php:10
2748
+ msgid ""
2749
+ "Links after filtering will look like Woocommerce.<br>\n"
2750
+ " <i>Example:</i><br><span style=\"color: #aaf;\">https://example."
2751
+ "com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-"
2752
+ "product_cat=dress</span>\n"
2753
+ " <a class=\"button\" href=\"https://docs.berocket."
2754
+ "com/docs_section/link-like-woocommerce-beta\" target=\"_blank\">Read more</a>"
2755
+ msgstr ""
2756
+ "Ссылки после фильтрации будут выглядеть как Woocommerce.<br>\n"
2757
+ " <i>Example:</i><br><span style=\"color: #aaf;\">https://example."
2758
+ "com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-"
2759
+ "product_cat=dress</span>\n"
2760
+ " <a class=\"button\" href=\"https://docs.berocket."
2761
+ "com/docs_section/link-like-woocommerce-beta\" target=\"_blank\">Read more</a>"
2762
+
2763
  #: addons/additional_tables/additional_tables.php:59
2764
  msgid "Additional Tables (BETA)"
2765
  msgstr "Дополнительные таблицы (БЕТА)"
languages/BeRocket_AJAX_domain.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: WooCommerce AJAX Products Filter\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2019-10-30 12:54+0000\n"
7
  "POT-Revision-Date: Wed Jun 29 2016 09:22:13 GMT+0300 (EEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: \n"
@@ -24,760 +24,785 @@ msgstr ""
24
  "X-Generator: Loco https://localise.biz/"
25
 
26
  #. Name of the plugin
27
- #: main.php:61
28
  msgid "WooCommerce AJAX Products Filter"
29
  msgstr ""
30
 
31
- #: main.php:62
32
  msgid "Product Filters"
33
  msgstr ""
34
 
35
- #: main.php:72 main.php:1456
36
  msgid "There are no products meeting your criteria"
37
  msgstr ""
38
 
39
- #: main.php:322
40
  msgid ""
41
  "<strong>Please update all BeRocket plugins to the most recent version. "
42
  "WooCommerce AJAX Products Filter is not working correctly with older "
43
  "versions.</strong>"
44
  msgstr ""
45
 
46
- #: main.php:386
47
  msgid "General"
48
  msgstr ""
49
 
50
- #: main.php:390
51
  msgid "Elements"
52
  msgstr ""
53
 
54
- #: main.php:394
55
  msgid "Selectors"
56
  msgstr ""
57
 
58
- #: main.php:398
59
  msgid "SEO"
60
  msgstr ""
61
 
62
- #: main.php:402
63
  msgid "Advanced"
64
  msgstr ""
65
 
66
- #: main.php:406
67
  msgid "Design"
68
  msgstr ""
69
 
70
- #: main.php:410
71
  msgid "JavaScript/CSS"
72
  msgstr ""
73
 
74
- #: main.php:415 includes/custom_post.php:645
75
  msgid "Filters"
76
  msgstr ""
77
 
78
- #: main.php:420
79
  msgid "License"
80
  msgstr ""
81
 
82
- #: main.php:424
83
- msgid "Addons"
84
  msgstr ""
85
 
86
- #: main.php:434
87
  msgid "\"No Products\" message"
88
  msgstr ""
89
 
90
- #: main.php:440
91
  msgid "Products Per Page"
92
  msgstr ""
93
 
94
- #: main.php:446 templates/filter_post.php:373
95
- msgid "Attribute Values count"
96
  msgstr ""
97
 
98
- #: main.php:450
99
  msgid ""
100
  "Attribute Values count that will be displayed. Other values will be hidden "
101
- "and can be displayed by pressing the button. Option <strong>Hide \"Show/Hide "
102
- "value(s)\" button</strong> must be disabled"
103
  msgstr ""
104
 
105
- #: main.php:453
106
- msgid "Sorting control"
107
  msgstr ""
108
 
109
- #: main.php:457
110
  msgid "Take control over WooCommerce's sorting selectbox?"
111
  msgstr ""
112
 
113
- #: main.php:460
114
- msgid "Hide values"
115
- msgstr ""
116
-
117
- #: main.php:466
118
- msgid "Hide values without products"
119
- msgstr ""
120
-
121
- #: main.php:472
122
- msgid "Hide selected values"
123
- msgstr ""
124
-
125
- #: main.php:478
126
- msgid "Hide empty widget"
127
- msgstr ""
128
-
129
- #: main.php:483
130
  msgid "Jump to first page"
131
  msgstr ""
132
 
133
- #: main.php:487
134
  msgid "Check if you want load first page after filters change"
135
  msgstr ""
136
 
137
- #: main.php:490
138
- msgid "Scroll page to the top"
139
  msgstr ""
140
 
141
- #: main.php:493 main.php:544 main.php:705
142
  msgid "Selected filters position"
143
  msgstr ""
144
 
145
- #: main.php:498 templates/filter_post.php:650 includes/paid.php:84
146
  msgid "Disable"
147
  msgstr ""
148
 
149
- #: main.php:499
150
  msgid "Mobile and Desktop"
151
  msgstr ""
152
 
153
- #: main.php:500 includes/custom_post.php:299 includes/custom_post.php:611
154
  msgid "Mobile"
155
  msgstr ""
156
 
157
- #: main.php:501 includes/custom_post.php:307 includes/custom_post.php:619
158
  msgid "Desktop"
159
  msgstr ""
160
 
161
- #: main.php:510
162
  msgid "px from products top."
163
  msgstr ""
164
 
165
- #: main.php:510
166
  msgid "Use this to fix top scroll."
167
  msgstr ""
168
 
169
- #: main.php:515
170
- msgid "Select2"
171
  msgstr ""
172
 
173
- #: main.php:522
174
- msgid "Use Select2 script for dropdown menu"
175
  msgstr ""
176
 
177
- #: main.php:529
178
- msgid ""
179
- "Fixed CSS styles for Select2 (do not enable if Select2 work correct. Option "
180
- "can break Select2 in other plugins or themes)"
181
  msgstr ""
182
 
183
- #: main.php:534
184
- msgid "Reload amount of products"
 
 
185
  msgstr ""
186
 
187
- #: main.php:539
188
- msgid "Use filters on products count display"
 
 
189
  msgstr ""
190
 
191
- #: main.php:539
192
  msgid ""
193
- "Can slow down page load and filtering speed. Also do not use it with more "
194
- "then 5000 products."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  msgstr ""
196
 
197
  #: main.php:548
 
 
 
 
 
 
 
 
 
 
198
  msgid "WooCommerce Description(in header)"
199
  msgstr ""
200
 
201
- #: main.php:549
202
  msgid "WooCommerce Before Shop Loop"
203
  msgstr ""
204
 
205
- #: main.php:550
206
  msgid "WooCommerce After Shop Loop"
207
  msgstr ""
208
 
209
- #: main.php:555
210
- msgid "Show selected filters"
211
  msgstr ""
212
 
213
- #: main.php:562
214
  msgid "Show selected filters above products"
215
  msgstr ""
216
 
217
- #: main.php:569
218
  msgid ""
219
  "Hide selected filters area if nothing selected(affect only area above "
220
  "products)"
221
  msgstr ""
222
 
223
- #: main.php:580
224
- msgid "Products selector"
225
  msgstr ""
226
 
227
- #: main.php:585 main.php:630
228
  msgid ""
229
  "Selector for tag that is holding products. Don't change this if you don't "
230
  "know what it is"
231
  msgstr ""
232
 
233
- #: main.php:588
234
- msgid "Product count selector"
235
  msgstr ""
236
 
237
- #: main.php:595
238
  msgid ""
239
  "Selector for tag with product result count(\"Showing 1–8 of 61 results\"). "
240
  "Don't change this if you don't know what it is"
241
  msgstr ""
242
 
243
- #: main.php:601
244
  msgid "Enable if page doesn't have product count block"
245
  msgstr ""
246
 
247
- #: main.php:606
248
- msgid "Product order by selector"
249
  msgstr ""
250
 
251
- #: main.php:612
252
  msgid ""
253
  "Selector for order by form with drop down menu. Don't change this if you "
254
  "don't know what it is"
255
  msgstr ""
256
 
257
- #: main.php:618
258
  msgid "Enable if page doesn't have order by drop down menu"
259
  msgstr ""
260
 
261
- #: main.php:623
262
- msgid "Products pagination selector"
263
  msgstr ""
264
 
265
- #: main.php:636
266
  msgid ""
267
  "Enable if page doesn't have pagination.<strong>Page with lazy load also has "
268
  "pagination</strong>"
269
  msgstr ""
270
 
271
- #: main.php:642
272
  msgid "Disable AJAX Pagination"
273
  msgstr ""
274
 
275
- #: main.php:649
276
- msgid "Update URL on filtering"
277
  msgstr ""
278
 
279
- #: main.php:654
280
  msgid ""
281
  "If this option is on URL will be changed when filter is selected/changed"
282
  msgstr ""
283
 
284
- #: main.php:657
285
  msgid "Use slug in URL"
286
  msgstr ""
287
 
288
- #: main.php:662
289
  msgid "Use attribute slug instead ID"
290
  msgstr ""
291
 
292
- #: main.php:665
293
- msgid "URL decode"
294
  msgstr ""
295
 
296
- #: main.php:670
297
  msgid "Decode all symbols in URL to prevent errors on server side"
298
  msgstr ""
299
 
300
- #: main.php:673
301
  msgid "SEO Meta, Title"
302
  msgstr ""
303
 
304
- #: main.php:678
305
  msgid "Meta Description, Page title and Page Header with filters"
306
  msgstr ""
307
 
308
- #: main.php:681
309
- msgid "SEO Meta, Title Elements"
310
  msgstr ""
311
 
312
- #: main.php:688 templates/admin.php:27 templates/filters_group_simple.php:2
313
- #: templates/filter_post_simple.php:11 includes/paid.php:1480
314
- #: includes/paid.php:1650 templates/settings/design.php:789
315
  msgid "Title"
316
  msgstr ""
317
 
318
- #: main.php:694
319
  msgid "Header"
320
  msgstr ""
321
 
322
- #: main.php:700 templates/filter_post.php:520
323
  msgid "Description"
324
  msgstr ""
325
 
326
- #: main.php:710
 
 
 
 
327
  msgid "{title} with [attribute] [values] and [attribute] [values]"
328
  msgstr ""
329
 
330
- #: main.php:711
331
  msgid "{title} [attribute]:[values];[attribute]:[values]"
332
  msgstr ""
333
 
334
- #: main.php:712
335
  msgid ""
336
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
337
  "[values]"
338
  msgstr ""
339
 
340
- #: main.php:713
341
  msgid "{title} - [values] / [values]"
342
  msgstr ""
343
 
344
- #: main.php:720
345
- msgid "Add position relative to products holder"
346
- msgstr ""
347
-
348
- #: main.php:724
349
- msgid "Fix for correct displaying loading block"
350
- msgstr ""
351
-
352
- #: main.php:727
353
  msgid "\"No Products\" class"
354
  msgstr ""
355
 
356
- #: main.php:731
357
  msgid "Add class and use it to style \"No Products\" box"
358
  msgstr ""
359
 
360
- #: main.php:734
361
- msgid "Turn all filters off"
362
- msgstr ""
363
-
364
- #: main.php:738
365
- msgid ""
366
- "If you want to hide filters without losing current configuration just turn "
367
- "them off"
368
- msgstr ""
369
-
370
- #: main.php:741
371
- msgid "Show all values"
372
- msgstr ""
373
-
374
  #: main.php:745
375
- msgid "Check if you want to show not used attribute values too"
376
- msgstr ""
377
-
378
- #: main.php:748
379
  msgid "Display products"
380
  msgstr ""
381
 
382
- #: main.php:752
383
  msgid ""
384
  "Display always products when filters selected. Use this when you have "
385
  "categories and subcategories on shop pages, but you want to display products "
386
  "on filtering"
387
  msgstr ""
388
 
389
- #: main.php:755
390
- msgid "Hide out of stock variable"
 
 
 
 
391
  msgstr ""
392
 
393
- #: main.php:761 includes/paid.php:127 includes/paid.php:139
394
- #: includes/paid.php:1725
395
- msgid "Disabled"
396
  msgstr ""
397
 
398
- #: main.php:762
399
- msgid "Enabled"
400
  msgstr ""
401
 
402
  #: main.php:763
403
- msgid "Enabled only with selected \"Out of stock\" filter"
404
  msgstr ""
405
 
406
- #: main.php:767
407
- msgid "Hide variable products if variations with selected filters out of stock"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
408
  msgstr ""
409
 
410
- #: main.php:774
411
- msgid ""
412
- "Use it for attributes values to display more correct count with option "
413
- "Reload amount of products"
414
  msgstr ""
415
 
416
- #: main.php:781
 
 
 
 
417
  msgid ""
418
- "Fix WPEngine query issue (Also can work with other hostings if they limit "
419
- "query size)"
420
  msgstr ""
421
 
422
- #: main.php:786
423
- msgid "GET query"
424
  msgstr ""
425
 
426
- #: main.php:790
427
- msgid "Use GET query instead POST for filtering"
428
  msgstr ""
429
 
430
- #: main.php:793
431
- msgid "Display styles only for pages with filters"
 
432
  msgstr ""
433
 
434
- #: main.php:797
435
- msgid "On some sites it can cause some visual problem on page loads"
436
  msgstr ""
437
 
438
- #: main.php:800
439
- msgid "Product per row fix"
440
  msgstr ""
441
 
442
- #: main.php:804
443
- msgid "Change this only if after filtering count of products per row changes."
444
  msgstr ""
445
 
446
- #: main.php:807
447
- msgid "Fix for sites with AJAX"
 
 
 
 
 
 
 
 
448
  msgstr ""
449
 
450
  #: main.php:811
451
- msgid "Add JavaScript files to all pages."
452
  msgstr ""
453
 
454
  #: main.php:814
455
- msgid "Search page fix"
456
  msgstr ""
457
 
458
  #: main.php:818
459
- msgid "Disable redirection, when search page return only one product"
460
  msgstr ""
461
 
462
  #: main.php:821
463
- msgid "Use Tags like custom taxonomy"
464
  msgstr ""
465
 
466
  #: main.php:825
467
- msgid "Try to enable this if widget with tags didn't work."
468
  msgstr ""
469
 
470
  #: main.php:828
471
- msgid "Use Tax options for price"
472
- msgstr ""
473
-
474
- #: main.php:829
475
- msgid "Only Standard tax rates will be applied for prices"
476
  msgstr ""
477
 
478
- #: main.php:833
479
- msgid "Do not use (filter price as it is set in products)"
480
  msgstr ""
481
 
482
- #: main.php:834
483
- msgid "Use tax options"
484
  msgstr ""
485
 
486
  #: main.php:839
487
- msgid "Disable Font Awesome"
488
  msgstr ""
489
 
490
- #: main.php:843
491
- msgid ""
492
- "Don't loading css file for Font Awesome on site front end. Use it only if "
493
- "you doesn't uses Font Awesome icons in widgets or you have Font Awesome in "
494
- "your theme."
495
  msgstr ""
496
 
497
  #: main.php:846
498
- msgid "Font Awesome Version"
499
  msgstr ""
500
 
501
- #: main.php:850
502
- msgid "Font Awesome 4"
503
  msgstr ""
504
 
505
- #: main.php:851
506
- msgid "Font Awesome 5"
507
  msgstr ""
508
 
509
- #: main.php:854
510
- msgid ""
511
- "Version of Font Awesome that will be used on front end. Please select "
512
- "version that you have in your theme"
513
  msgstr ""
514
 
515
- #: main.php:872
 
 
 
 
516
  msgid "Alternative Load (DEPRECATED)"
517
  msgstr ""
518
 
519
- #: main.php:879
520
  msgid ""
521
  "Use it on your own risk. Some features do not work with alternative load "
522
  "methods. All this methods are not supported. If you have problems with any "
523
  "of them just turn this option off"
524
  msgstr ""
525
 
526
- #: main.php:886
527
  msgid "WordPress AJAX (deprecated)"
528
  msgstr ""
529
 
530
- #: main.php:887
531
  msgid "PHP (deprecated)"
532
  msgstr ""
533
 
534
- #: main.php:888
535
  msgid "JavaScript (deprecated)"
536
  msgstr ""
537
 
538
- #: main.php:891
539
  msgid "Use"
540
  msgstr ""
541
 
542
- #: main.php:892
543
  msgid "load method"
544
  msgstr ""
545
 
546
- #: main.php:893
547
  msgid "Some features do not work with alternative load method"
548
  msgstr ""
549
 
550
- #: main.php:898
551
- msgid "Page same as filter"
552
  msgstr ""
553
 
554
- #: main.php:902 templates/admin.php:109 templates/filter_post.php:189
555
- #: templates/filter_post.php:377 templates/filter_post.php:484
556
- #: includes/paid.php:1609 templates/settings/design.php:57
557
- #: templates/settings/design.php:165 templates/settings/design.php:179
558
- #: templates/settings/design.php:184 templates/settings/design.php:421
559
- #: templates/settings/design.php:435 templates/settings/design.php:440
560
- #: templates/settings/design.php:653 templates/settings/design.php:658
561
- #: templates/settings/design.php:666 templates/settings/design.php:677
562
- #: templates/settings/design.php:682 templates/settings/design.php:722
563
- #: templates/settings/design.php:727 templates/settings/design.php:735
564
- #: templates/settings/design.php:743 templates/settings/design.php:748
565
- #: templates/settings/design.php:756 templates/settings/design.php:761
566
- #: templates/settings/design.php:793 templates/settings/design.php:807
567
- #: templates/settings/design.php:812 templates/settings/design.php:820
568
- #: templates/settings/design.php:834 templates/settings/design.php:839
569
- #: templates/settings/design.php:847 templates/settings/design.php:861
570
- #: templates/settings/design.php:866 templates/paid/filters_group.php:29
571
- msgid "Default"
572
  msgstr ""
573
 
574
- #: main.php:903
575
- msgid "Remove value"
 
 
576
  msgstr ""
577
 
578
- #: main.php:904
579
- msgid "Leave only one value"
580
  msgstr ""
581
 
582
- #: main.php:907
583
  msgid ""
584
- "On Category, Tag, Attribute page filter for it will remove value or leave "
585
- "only one value"
 
586
  msgstr ""
587
 
588
- #: main.php:918
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
589
  msgid "Before Update:"
590
  msgstr ""
591
 
592
- #: main.php:922
593
  msgid "If you want to add own actions on filter activation, eg: alert('1');"
594
  msgstr ""
595
 
596
- #: main.php:925
597
- msgid "On Update:"
598
  msgstr ""
599
 
600
- #: main.php:929
601
  msgid ""
602
  "If you want to add own actions right on products update. You can manipulate "
603
  "data here, try: data.products = 'Ha!';"
604
  msgstr ""
605
 
606
- #: main.php:932
607
  msgid "After Update:"
608
  msgstr ""
609
 
610
- #: main.php:936
611
  msgid "If you want to add own actions after products updated, eg: alert('1');"
612
  msgstr ""
613
 
614
- #: main.php:962 templates/filters_information.php:2
615
  msgid "SETUP WIZARD"
616
  msgstr ""
617
 
618
- #: main.php:964
619
  msgid "RUN SETUP WIZARD"
620
  msgstr ""
621
 
622
- #: main.php:966
623
  msgid "Run it to setup plugin options step by step"
624
  msgstr ""
625
 
626
- #: main.php:975 main.php:986
627
  msgid "Creating products"
628
  msgstr ""
629
 
630
- #: main.php:976 main.php:987
631
  msgid "Gettings selectors"
632
  msgstr ""
633
 
634
- #: main.php:977 main.php:988
635
  msgid "Removing products"
636
  msgstr ""
637
 
638
- #: main.php:978
639
  msgid "Error:"
640
  msgstr ""
641
 
642
- #: main.php:981
643
  msgid ""
644
  "IMPORTANT: It will generate some products on your site. Please disable all "
645
  "SEO plugins and plugins, that doing anything on product creating."
646
  msgstr ""
647
 
648
- #: main.php:982
649
  msgid ""
650
  "Script was runned, but page closed until end. Please stop it to prevent any "
651
  "problems on your site"
652
  msgstr ""
653
 
654
- #: main.php:983
655
  msgid "Auto-Selectors"
656
  msgstr ""
657
 
658
- #: main.php:984
659
  msgid "Stop"
660
  msgstr ""
661
 
662
- #: main.php:985
663
  msgid "Steps:"
664
  msgstr ""
665
 
666
- #: main.php:991
667
  msgid "Get selectors automatically"
668
  msgstr ""
669
 
670
- #: main.php:993
671
  msgid "How it work:"
672
  msgstr ""
673
 
674
- #: main.php:995
675
  msgid "Run Auto-selector"
676
  msgstr ""
677
 
678
- #: main.php:996
679
  msgid ""
680
  "Wait until end <strong style=\"color:red;\">do not close this page</strong>"
681
  msgstr ""
682
 
683
- #: main.php:997
684
  msgid "Save settings with new selectors"
685
  msgstr ""
686
 
687
- #: main.php:1006 main.php:1020
688
  msgid "Purge Cache"
689
  msgstr ""
690
 
691
- #: main.php:1022
692
  msgid "Clear attribute/custom taxonomy cache for plugin"
693
  msgstr ""
694
 
695
- #: main.php:1040
696
  msgid "Replace old widgets"
697
  msgstr ""
698
 
699
- #: main.php:1053
700
  msgid "Widget replaced"
701
  msgstr ""
702
 
703
- #: main.php:1054
704
  msgid "Replacing widgets... Please wait"
705
  msgstr ""
706
 
707
- #: main.php:1058
708
  msgid "Replace widgets"
709
  msgstr ""
710
 
711
- #: main.php:1060
712
  msgid "No old widgets"
713
  msgstr ""
714
 
715
- #: main.php:1063
716
  msgid "Replace deprecated widgets with new single filter widgets"
717
  msgstr ""
718
 
719
- #: main.php:1086
720
- msgid "User custom CSS style:"
721
  msgstr ""
722
 
723
- #: main.php:1246 templates/filter_post.php:127 includes/paid.php:1512
724
- #: templates/settings/design.php:161
725
  msgid "Checkbox"
726
  msgstr ""
727
 
728
- #: main.php:1247 templates/filter_post.php:128 includes/paid.php:1513
729
- #: templates/settings/design.php:417
730
  msgid "Radio"
731
  msgstr ""
732
 
733
- #: main.php:1248 templates/filter_post.php:129 includes/paid.php:1511
734
  msgid "Select"
735
  msgstr ""
736
 
737
- #: main.php:1249 templates/filter_post.php:130 includes/paid.php:1514
738
- #: templates/settings/design.php:12 templates/settings/design.php:27
739
  msgid "Color"
740
  msgstr ""
741
 
742
- #: main.php:1250 templates/filter_post.php:131 includes/paid.php:1515
743
  msgid "Image"
744
  msgstr ""
745
 
746
- #: main.php:1251 templates/filter_post.php:132
747
- #: templates/settings/design.php:634
748
  msgid "Slider"
749
  msgstr ""
750
 
751
- #: main.php:1252 templates/filter_post.php:133
752
  msgid "Tag cloud"
753
  msgstr ""
754
 
755
- #: main.php:1521 templates/color.php:206 templates/checkbox.php:140
756
  #: templates/disabled/color.php:197 templates/disabled/checkbox.php:130
757
  msgid "Show value(s)"
758
  msgstr ""
759
 
760
- #: main.php:1522
761
  msgid "Hide value(s)"
762
  msgstr ""
763
 
764
- #: main.php:1523
765
  msgid "Unselect all"
766
  msgstr ""
767
 
768
- #: main.php:1524
769
  msgid "Nothing is selected"
770
  msgstr ""
771
 
772
- #: main.php:1525
773
  msgid "products"
774
  msgstr ""
775
 
776
- #: main.php:1605
777
  msgid "Activate WooCommerce plugin before"
778
  msgstr ""
779
 
780
- #: main.php:1611
781
  msgid "Update WooCommerce plugin"
782
  msgstr ""
783
 
@@ -796,500 +821,470 @@ msgstr ""
796
  msgid "Filters group"
797
  msgstr ""
798
 
799
- #: templates/admin.php:8 templates/filter_post.php:12
800
- #: templates/filters_information.php:7 templates/filters_information.php:9
801
- msgid "Widget Type"
802
- msgstr ""
803
-
804
- #: templates/admin.php:11 templates/filter_post.php:16
805
- #: includes/new_widget.php:258 includes/divi-builder.php:26
806
- #: includes/custom_post.php:350 includes/widget.php:264
807
- #: includes/visual-composer.php:26 templates/settings/design.php:843
808
- msgid "Filter"
809
- msgstr ""
810
-
811
- #: templates/admin.php:13 templates/filters_information.php:9
812
- #: includes/custom_post.php:351 includes/display_filter/update_button.php:10
813
- msgid "Update Products button"
814
- msgstr ""
815
-
816
- #: templates/admin.php:15 templates/filters_information.php:7
817
- #: includes/custom_post.php:352 includes/display_filter/reset_button.php:10
818
- msgid "Reset Products button"
819
- msgstr ""
820
-
821
- #: templates/admin.php:17 includes/custom_post.php:353
822
- #: includes/display_filter/selected_area.php:14
823
- msgid "Selected Filters area"
824
- msgstr ""
825
-
826
- #: templates/admin.php:19 includes/paid.php:416
827
- msgid "Search Box"
828
- msgstr ""
829
-
830
- #: templates/admin.php:33 templates/filter_post.php:36
831
- #: templates/filter_post_simple.php:18 includes/paid.php:1484
832
- msgid "Filter By"
833
- msgstr ""
834
-
835
- #: templates/admin.php:36 templates/admin.php:55 templates/filter_post.php:41
836
- #: templates/filter_post.php:83 templates/filter_post_simple.php:23
837
- #: templates/filter_post_simple.php:65 includes/custom_post.php:360
838
- #: includes/custom_post.php:437 includes/paid.php:1477 includes/paid.php:1486
839
- #: includes/paid.php:1492 includes/widget.php:172
840
- msgid "Attribute"
841
- msgstr ""
842
-
843
- #: templates/admin.php:38 includes/custom_post.php:388 includes/paid.php:1341
844
- msgid "Stock status"
845
- msgstr ""
846
-
847
- #: templates/admin.php:40 includes/custom_post.php:390 includes/paid.php:1333
848
- msgid "Product sub-categories"
849
- msgstr ""
850
-
851
- #: templates/admin.php:42 templates/filter_post.php:45
852
- #: templates/filter_post_simple.php:27 includes/custom_post.php:361
853
- #: includes/custom_post.php:373 includes/custom_post.php:392
854
- #: includes/custom_post.php:441 includes/paid.php:1487 includes/widget.php:176
855
- msgid "Tag"
856
- msgstr ""
857
-
858
- #: templates/admin.php:44 includes/custom_post.php:362 includes/paid.php:1337
859
- #: includes/paid.php:1488
860
- msgid "Custom Taxonomy"
861
- msgstr ""
862
-
863
- #: templates/admin.php:46 includes/custom_post.php:399 includes/paid.php:1345
864
- msgid "Date"
865
- msgstr ""
866
-
867
- #: templates/admin.php:48 includes/custom_post.php:401 includes/paid.php:1349
868
- msgid "Sale"
869
- msgstr ""
870
-
871
- #: templates/admin.php:50 templates/filter_post.php:56
872
- #: templates/filter_post_simple.php:38 includes/custom_post.php:403
873
- #: includes/custom_post.php:452 includes/widget.php:187
874
- msgid "Rating"
875
- msgstr ""
876
-
877
- #: templates/admin.php:57 templates/filter_post.php:85
878
- #: templates/filter_post_simple.php:67 includes/custom_post.php:381
879
- msgid "Price"
880
- msgstr ""
881
-
882
- #: templates/admin.php:66 templates/filter_post.php:92
883
- #: templates/filter_post_simple.php:74 includes/paid.php:1500
884
- msgid "Custom Taxonomies"
885
- msgstr ""
886
-
887
- #: templates/admin.php:77 templates/filter_post.php:115
888
- #: templates/filter_post_simple.php:97 includes/paid.php:1509
889
- msgid "Type"
890
- msgstr ""
891
-
892
- #: templates/admin.php:100 templates/filter_post.php:180
893
- #: templates/filter_post_simple.php:161
894
- msgid "Operator"
895
- msgstr ""
896
-
897
- #: templates/admin.php:107 templates/filter_post.php:187
898
- msgid "Values Order"
899
  msgstr ""
900
 
901
- #: templates/admin.php:138 templates/filter_post.php:257
902
- msgid "Hide first and last ranges without products"
903
  msgstr ""
904
 
905
- #: templates/admin.php:142 templates/filter_post.php:287
906
- msgid "Text before price:"
907
  msgstr ""
908
 
909
- #: templates/admin.php:144 templates/filter_post.php:291
910
- msgid "after:"
 
 
911
  msgstr ""
912
 
913
- #: templates/admin.php:148 templates/filter_post.php:298
914
- msgid "Enable Slider Inputs"
915
  msgstr ""
916
 
917
- #: templates/admin.php:151 templates/filter_post.php:302
918
- msgid "Use custom values(comma separated):"
919
  msgstr ""
920
 
921
- #: templates/admin.php:153 templates/filter_post.php:304
922
- msgid "* use numeric values only, strings will not work as expected"
923
  msgstr ""
924
 
925
- #: templates/admin.php:160 templates/filter_post.php:312
926
- msgid "Use current product category to get child"
 
927
  msgstr ""
928
 
929
- #: templates/admin.php:164 templates/filter_post.php:317
930
- msgid "Deep level:"
931
  msgstr ""
932
 
933
- #: templates/admin.php:169 templates/filter_post.php:323
934
- msgid "Product Category:"
 
935
  msgstr ""
936
 
937
- #: templates/admin.php:177 templates/filter_post.php:331
938
- msgid "None"
939
  msgstr ""
940
 
941
- #: templates/filters_group_simple.php:6 templates/filters_group.php:12
942
- msgid "Filters In Group"
943
  msgstr ""
944
 
945
- #: templates/filters_group_simple.php:16 templates/filters_group.php:22
946
- msgid "Add filter"
947
  msgstr ""
948
 
949
- #: templates/filters_group_simple.php:17 includes/new_widget.php:281
950
- msgid "Create Filter"
951
  msgstr ""
952
 
953
- #: templates/filters_group_simple.php:32 templates/filters_group_simple.php:57
954
- #: includes/new_widget.php:126 includes/new_widget.php:279
955
- #: includes/custom_post.php:50 includes/custom_post.php:522
956
- msgid "Edit"
957
  msgstr ""
958
 
959
- #: templates/filters_group_simple.php:42 templates/filter_post_simple.php:171
960
- msgid "Need more options? Create it on "
 
 
 
 
961
  msgstr ""
962
 
963
- #: templates/filters_group_simple.php:43 includes/new_widget.php:94
964
- msgid "Manage groups"
 
965
  msgstr ""
966
 
967
- #: templates/filters_group_simple.php:44 templates/filter_post_simple.php:173
968
- msgid " page"
 
 
 
 
 
969
  msgstr ""
970
 
971
- #: templates/filters_group.php:4 includes/new_widget.php:101
972
- #: includes/new_widget.php:254
973
- msgid "Custom CSS class"
 
 
 
974
  msgstr ""
975
 
976
- #: templates/filters_group.php:7
977
- msgid "use white space for multiple classes"
 
 
 
978
  msgstr ""
979
 
980
- #: templates/filters_group.php:23 templates/filter_post_simple.php:172
981
- #: includes/new_widget.php:251
982
- msgid "Manage filters"
 
 
983
  msgstr ""
984
 
985
- #: templates/filters_group.php:40 templates/filters_group.php:60
986
- msgid "Width"
 
987
  msgstr ""
988
 
989
- #: templates/include_exclude_list.php:3
990
- msgid "Include / Exclude List"
 
991
  msgstr ""
992
 
993
- #: templates/color_ajax.php:3
994
- msgid "Color pick"
 
995
  msgstr ""
996
 
997
- #: templates/color_ajax.php:3
998
- msgid "Image pick"
999
  msgstr ""
1000
 
1001
- #: templates/filter_post.php:49 templates/filter_post_simple.php:31
1002
- #: includes/custom_post.php:445 includes/paid.php:372 includes/widget.php:180
1003
- msgid "Product Category"
1004
  msgstr ""
1005
 
1006
- #: templates/filter_post.php:190
1007
  msgid "Alpha"
1008
  msgstr ""
1009
 
1010
- #: templates/filter_post.php:190
1011
  msgid "Numeric"
1012
  msgstr ""
1013
 
1014
- #: templates/filter_post.php:196
1015
  msgid "Order Type"
1016
  msgstr ""
1017
 
1018
- #: templates/filter_post.php:198
1019
  msgid "Ascending"
1020
  msgstr ""
1021
 
1022
- #: templates/filter_post.php:198
1023
  msgid "Descending"
1024
  msgstr ""
1025
 
1026
- #: templates/filter_post.php:240
1027
  msgid "Ranges: 1,100,200,1000"
1028
  msgstr ""
1029
 
1030
- #: templates/filter_post.php:243
1031
  msgid "1.00-100.00, 101.00-200.00, 201.00-1000.00"
1032
  msgstr ""
1033
 
1034
- #: templates/filter_post.php:244
1035
  msgid "1.00-100.00, 100.00-200.00, 200.00-1000.00"
1036
  msgstr ""
1037
 
1038
- #: templates/filter_post.php:245
1039
  msgid "1.00-99.99, 100.00-199.99, 200.00-999.99"
1040
  msgstr ""
1041
 
1042
- #: templates/filter_post.php:262
 
 
 
 
1043
  msgid "Show last range to the infinity"
1044
  msgstr ""
1045
 
1046
- #: templates/filter_post.php:266
1047
  msgid "Infinity text"
1048
  msgstr ""
1049
 
1050
- #: templates/filter_post.php:281 templates/filter_post.php:447
1051
  msgid "Disable multiple selection?"
1052
  msgstr ""
1053
 
1054
- #: templates/filter_post.php:356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1055
  msgid "First Element Text"
1056
  msgstr ""
1057
 
1058
- #: templates/filter_post.php:357 includes/widget.php:820
 
1059
  msgid "Any"
1060
  msgstr ""
1061
 
1062
- #: templates/filter_post.php:362
1063
  msgid "Multiple select"
1064
  msgstr ""
1065
 
1066
- #: templates/filter_post.php:367 templates/filters_information.php:5
1067
  msgid "Advanced Settings"
1068
  msgstr ""
1069
 
1070
- #: templates/filter_post.php:374
 
 
 
 
1071
  msgid "From settings"
1072
  msgstr ""
1073
 
1074
- #: templates/filter_post.php:375
1075
  msgid "Show/Hide button"
1076
  msgstr ""
1077
 
1078
- #: templates/filter_post.php:378
1079
  msgid "Always visible"
1080
  msgstr ""
1081
 
1082
- #: templates/filter_post.php:379
1083
  msgid "Always hidden"
1084
  msgstr ""
1085
 
1086
- #: templates/filter_post.php:387
1087
  msgid "Use specific number style"
1088
  msgstr ""
1089
 
1090
- #: templates/filter_post.php:391 includes/paid.php:91
1091
  msgid "Thousand Separator"
1092
  msgstr ""
1093
 
1094
- #: templates/filter_post.php:395 includes/paid.php:97
1095
  msgid "Decimal Separator"
1096
  msgstr ""
1097
 
1098
- #: templates/filter_post.php:399 includes/paid.php:103
1099
  msgid "Number Of Decimal"
1100
  msgstr ""
1101
 
1102
- #: templates/filter_post.php:414
1103
  msgid "Enable collapse option"
1104
  msgstr ""
1105
 
1106
- #: templates/filter_post.php:420
1107
  msgid "Collapse this widget on load?"
1108
  msgstr ""
1109
 
1110
- #: templates/filter_post.php:426 templates/filter_post.php:598
1111
  msgid "Hide collapse arrow?"
1112
  msgstr ""
1113
 
1114
- #: templates/filter_post.php:433
1115
  msgid "Show hierarchical values as a tree with hidden child values on load?"
1116
  msgstr ""
1117
 
1118
- #: templates/filter_post.php:443
1119
  msgid "Display value with color/image box?"
1120
  msgstr ""
1121
 
1122
- #: templates/filter_post.php:450
1123
  msgid "Size of blocks(Height x Width)"
1124
  msgstr ""
1125
 
1126
- #: templates/filter_post.php:454
1127
  msgid "2em x 2em"
1128
  msgstr ""
1129
 
1130
- #: templates/filter_post.php:455
1131
  msgid "1em x 1em"
1132
  msgstr ""
1133
 
1134
- #: templates/filter_post.php:456
1135
  msgid "1em x 2em"
1136
  msgstr ""
1137
 
1138
- #: templates/filter_post.php:457
1139
  msgid "2em x 3em"
1140
  msgstr ""
1141
 
1142
- #: templates/filter_post.php:458
1143
  msgid "2em x 4em"
1144
  msgstr ""
1145
 
1146
- #: templates/filter_post.php:459
1147
  msgid "3em x 3em"
1148
  msgstr ""
1149
 
1150
- #: templates/filter_post.php:460
1151
  msgid "3em x 4em"
1152
  msgstr ""
1153
 
1154
- #: templates/filter_post.php:461
1155
  msgid "3em x 5em"
1156
  msgstr ""
1157
 
1158
- #: templates/filter_post.php:462
1159
  msgid "4em x 4em"
1160
  msgstr ""
1161
 
1162
- #: templates/filter_post.php:463
1163
  msgid "4em x 5em"
1164
  msgstr ""
1165
 
1166
- #: templates/filter_post.php:464
1167
  msgid "5em x 5em"
1168
  msgstr ""
1169
 
1170
- #: templates/filter_post.php:465
1171
  msgid "Custom size"
1172
  msgstr ""
1173
 
1174
- #: templates/filter_post.php:473
1175
  msgid "Custom size(Height x Width)"
1176
  msgstr ""
1177
 
1178
- #: templates/filter_post.php:480
1179
  msgid "Checked type"
1180
  msgstr ""
1181
 
1182
- #: templates/filter_post.php:485
1183
  msgid "Rotate"
1184
  msgstr ""
1185
 
1186
- #: templates/filter_post.php:486
1187
  msgid "Scale"
1188
  msgstr ""
1189
 
1190
- #: templates/filter_post.php:487
1191
  msgid "Blue Shadow"
1192
  msgstr ""
1193
 
1194
- #: templates/filter_post.php:488
1195
  msgid "Custom CSS"
1196
  msgstr ""
1197
 
1198
- #: templates/filter_post.php:496
1199
  msgid "Custom CSS for Checked block"
1200
  msgstr ""
1201
 
1202
- #: templates/filter_post.php:503
1203
  msgid "Icons"
1204
  msgstr ""
1205
 
1206
- #: templates/filter_post.php:505
1207
  msgid "Title Icons"
1208
  msgstr ""
1209
 
1210
- #: templates/filter_post.php:507 templates/filter_post.php:513
1211
- #: includes/paid.php:1539 templates/paid/filters_search_box.php:43
1212
  msgid "Before"
1213
  msgstr ""
1214
 
1215
- #: templates/filter_post.php:508 templates/filter_post.php:514
1216
- #: includes/paid.php:1540 templates/paid/filters_search_box.php:44
1217
  msgid "After"
1218
  msgstr ""
1219
 
1220
- #: templates/filter_post.php:511
1221
  msgid "Value Icons"
1222
  msgstr ""
1223
 
1224
- #: templates/filter_post.php:524
1225
  msgid "CSS Class"
1226
  msgstr ""
1227
 
1228
- #: templates/filter_post.php:526
1229
  msgid "(use white space for multiple classes)"
1230
  msgstr ""
1231
 
1232
- #: templates/filter_post.php:531
1233
  msgid "Tags Cloud Height:"
1234
  msgstr ""
1235
 
1236
- #: templates/filter_post.php:535
1237
  msgid "Min Font Size:"
1238
  msgstr ""
1239
 
1240
- #: templates/filter_post.php:539
1241
  msgid "Max Font Size:"
1242
  msgstr ""
1243
 
1244
- #: templates/filter_post.php:543
1245
  msgid "Max Tags Count:"
1246
  msgstr ""
1247
 
1248
- #: templates/filter_post.php:551
1249
  msgid "Use min price"
1250
  msgstr ""
1251
 
1252
- #: templates/filter_post.php:560
1253
  msgid "Use max price"
1254
  msgstr ""
1255
 
1256
- #: templates/filter_post.php:569
1257
  msgid "Filter Box Height:"
1258
  msgstr ""
1259
 
1260
- #: templates/filter_post.php:573
1261
  msgid "Scroll Theme:"
1262
  msgstr ""
1263
 
1264
- #: templates/filter_post.php:592
1265
  msgid "Show if nothing is selected"
1266
  msgstr ""
1267
 
1268
- #: templates/filter_post.php:604 templates/filters_information.php:5
1269
  msgid "Hide this widget on load?"
1270
  msgstr ""
1271
 
1272
- #: templates/filter_post.php:643
1273
  msgid "Widget Output Limitations"
1274
  msgstr ""
1275
 
1276
- #: templates/filter_post.php:645
1277
  msgid "Product Category Value Limitation"
1278
  msgstr ""
1279
 
1280
- #: templates/filter_post.php:673
1281
  msgid "Hide button"
1282
  msgstr ""
1283
 
1284
- #: templates/filter_post.php:675
1285
  msgid "Do not hide"
1286
  msgstr ""
1287
 
1288
- #: templates/filter_post.php:676
1289
  msgid "Hide only when no filters on page"
1290
  msgstr ""
1291
 
1292
- #: templates/filter_post.php:677
1293
  msgid "Hide when no filters on page or page not filtered"
1294
  msgstr ""
1295
 
@@ -1352,12 +1347,22 @@ msgstr ""
1352
  msgid "Select <strong>%s</strong> in option <strong>%s</strong>"
1353
  msgstr ""
1354
 
 
 
 
 
 
1355
  #: templates/filters_information.php:8
1356
  msgid ""
1357
  "How to add update products button? (to filter products only after click on "
1358
  "button)"
1359
  msgstr ""
1360
 
 
 
 
 
 
1361
  #: templates/filters_information.php:17
1362
  msgid ""
1363
  "Title will be displayed as widget title.<br>You can write text, that want to "
@@ -1410,52 +1415,52 @@ msgid ""
1410
  "sidebar, that displayed on shop page</strong>"
1411
  msgstr ""
1412
 
1413
- #: includes/functions.php:712
1414
  msgid "Widget Title"
1415
  msgstr ""
1416
 
1417
- #: includes/functions.php:724
1418
  msgid "Label(checkbox/radio)"
1419
  msgstr ""
1420
 
1421
- #: includes/functions.php:736
1422
- msgid "Select-box"
1423
  msgstr ""
1424
 
1425
- #: includes/functions.php:748
1426
  msgid "Slider Inputs"
1427
  msgstr ""
1428
 
1429
- #: includes/functions.php:760
1430
  msgid "Description Block"
1431
  msgstr ""
1432
 
1433
- #: includes/functions.php:772
1434
- msgid "Description Border"
1435
  msgstr ""
1436
 
1437
- #: includes/functions.php:784
1438
- msgid "Description Title Text"
1439
  msgstr ""
1440
 
1441
- #: includes/functions.php:796
1442
- msgid "Description Text"
1443
  msgstr ""
1444
 
1445
- #: includes/functions.php:808
1446
  msgid "Selected filters area text"
1447
  msgstr ""
1448
 
1449
- #: includes/functions.php:820
1450
- msgid "Selected filters mouse over text"
1451
  msgstr ""
1452
 
1453
- #: includes/functions.php:832
1454
- msgid "Selected filters link background"
1455
  msgstr ""
1456
 
1457
- #: includes/functions.php:844
1458
- msgid "Selected filters link border"
1459
  msgstr ""
1460
 
1461
  #: includes/new_widget.php:5
@@ -1466,28 +1471,28 @@ msgstr ""
1466
  msgid "AJAX Product Filters. Group of filters"
1467
  msgstr ""
1468
 
1469
- #: includes/new_widget.php:105 includes/divi-builder.php:79
1470
- #: includes/paid.php:275
1471
  msgid "Group"
1472
  msgstr ""
1473
 
1474
- #: includes/new_widget.php:111 includes/divi-builder.php:70
1475
  msgid "--Please select group--"
1476
  msgstr ""
1477
 
1478
- #: includes/new_widget.php:128
1479
  msgid "Create Group"
1480
  msgstr ""
1481
 
1482
- #: includes/new_widget.php:135
1483
  msgid "AAPF Filter Single"
1484
  msgstr ""
1485
 
1486
- #: includes/new_widget.php:136
1487
  msgid "AJAX Product Filters. Single Filter"
1488
  msgstr ""
1489
 
1490
- #: includes/new_widget.php:264 includes/divi-builder.php:17
1491
  #: includes/visual-composer.php:10 includes/visual-composer.php:36
1492
  msgid "--Please select filter--"
1493
  msgstr ""
@@ -1608,7 +1613,11 @@ msgstr ""
1608
  msgid "Data"
1609
  msgstr ""
1610
 
1611
- #: includes/custom_post.php:354 includes/paid.php:1368
 
 
 
 
1612
  msgid "Search Box (DEPRECATED)"
1613
  msgstr ""
1614
 
@@ -1616,6 +1625,10 @@ msgstr ""
1616
  msgid "Widget type: "
1617
  msgstr ""
1618
 
 
 
 
 
1619
  #: includes/custom_post.php:369 includes/custom_post.php:386
1620
  msgid "Attribute: "
1621
  msgstr ""
@@ -1624,6 +1637,22 @@ msgstr ""
1624
  msgid "Custom Taxonomy: "
1625
  msgstr ""
1626
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1627
  #: includes/custom_post.php:515 includes/custom_post.php:517
1628
  #: includes/custom_post.php:518
1629
  msgid "Product Filter Group"
@@ -1686,423 +1715,384 @@ msgstr ""
1686
  msgid "Hide this group on:"
1687
  msgstr ""
1688
 
1689
- #: includes/paid.php:73 includes/paid.php:497
1690
- msgid "Hide \"Show/Hide value(s)\" button"
1691
- msgstr ""
1692
-
1693
- #: includes/paid.php:80
1694
- msgid "Data cache"
1695
  msgstr ""
1696
 
1697
- #: includes/paid.php:85
1698
- msgid "WordPress Cache"
1699
  msgstr ""
1700
 
1701
- #: includes/paid.php:86
1702
- msgid "Persistent Cache Plugins"
1703
  msgstr ""
1704
 
1705
- #: includes/paid.php:115
1706
- msgid "Use links in checkbox and radio filters"
1707
  msgstr ""
1708
 
1709
- #: includes/paid.php:122
1710
- msgid "Use noindex for the links"
1711
  msgstr ""
1712
 
1713
- #: includes/paid.php:128 includes/paid.php:140
1714
  msgid "Second+ levels"
1715
  msgstr ""
1716
 
1717
- #: includes/paid.php:129 includes/paid.php:141
1718
  msgid "All levels"
1719
  msgstr ""
1720
 
1721
- #: includes/paid.php:134
1722
- msgid "Use nofollow for the links"
1723
  msgstr ""
1724
 
1725
- #: includes/paid.php:152
1726
- msgid "Nice URL"
1727
  msgstr ""
1728
 
1729
- #: includes/paid.php:157
1730
  msgid ""
1731
  "Works only with SEO friendly urls. WordPress permalinks must be set to Post "
1732
  "name(Custom structure: /%postname%/ )"
1733
  msgstr ""
1734
 
1735
- #: includes/paid.php:160
1736
- msgid "Canonical without Filters"
1737
  msgstr ""
1738
 
1739
- #: includes/paid.php:164
1740
  msgid "Use canonical tag without filters on WooCommerce pages"
1741
  msgstr ""
1742
 
1743
- #: includes/paid.php:168 includes/paid.php:1530
1744
  #: templates/paid/filters_search_box.php:34
1745
  msgid "Elements position"
1746
  msgstr ""
1747
 
1748
- #: includes/paid.php:170
1749
- msgid "Show products count before filtering"
1750
  msgstr ""
1751
 
1752
- #: includes/paid.php:176
1753
  msgid "Show products count before filtering, when using update button"
1754
  msgstr ""
1755
 
1756
- #: includes/paid.php:182
1757
  msgid "Text that means products"
1758
  msgstr ""
1759
 
1760
- #: includes/paid.php:188
1761
  msgid "Text for show button"
1762
  msgstr ""
1763
 
1764
- #: includes/paid.php:201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1765
  msgid "Display variation image"
1766
  msgstr ""
1767
 
1768
- #: includes/paid.php:205
1769
  msgid "Display variation image instead of product's when filtering"
1770
  msgstr ""
1771
 
1772
- #: includes/paid.php:208
1773
  msgid "Display variation price"
1774
  msgstr ""
1775
 
1776
- #: includes/paid.php:212
1777
  msgid "Display variation price instead of product's when filtering"
1778
  msgstr ""
1779
 
1780
- #: includes/paid.php:221
 
 
 
 
 
 
 
 
1781
  msgid "Slider has a lot of values"
1782
  msgstr ""
1783
 
1784
- #: includes/paid.php:225
1785
  msgid ""
1786
  "Enable it if slider has more than 250 values. Hierarchical taxonomy can work "
1787
  "incorrect with sliders"
1788
  msgstr ""
1789
 
1790
- #: includes/paid.php:234
1791
- msgid "Use filtered variation link and session"
1792
  msgstr ""
1793
 
1794
- #: includes/paid.php:240
1795
- msgid "Use filtered variation only after search"
1796
  msgstr ""
1797
 
1798
- #: includes/paid.php:247
1799
- msgid "Use tax options (leave price ranges as is)"
 
1800
  msgstr ""
1801
 
1802
- #: includes/paid.php:254
1803
- msgid "Elements above products"
1804
  msgstr ""
1805
 
1806
- #: includes/paid.php:279
1807
- msgid "Add group"
1808
  msgstr ""
1809
 
1810
- #: includes/paid.php:427 includes/paid.php:1359
1811
  msgid "Ranges"
1812
  msgstr ""
1813
 
1814
- #: includes/paid.php:1439
 
 
 
 
1815
  msgid "Attributes"
1816
  msgstr ""
1817
 
1818
- #: includes/paid.php:1442 templates/paid/filters_search_box.php:9
1819
  msgid "URL to search"
1820
  msgstr ""
1821
 
1822
- #: includes/paid.php:1444 templates/paid/filters_search_box.php:11
1823
  msgid "Shop page"
1824
  msgstr ""
1825
 
1826
- #: includes/paid.php:1445 templates/paid/filters_search_box.php:12
1827
  msgid "Category page"
1828
  msgstr ""
1829
 
1830
- #: includes/paid.php:1446 templates/paid/filters_search_box.php:13
1831
  msgid "URL"
1832
  msgstr ""
1833
 
1834
- #: includes/paid.php:1450 templates/paid/filters_search_box.php:17
1835
  msgid "Category"
1836
  msgstr ""
1837
 
1838
- #: includes/paid.php:1460 templates/paid/filters_search_box.php:27
1839
  msgid "URL for search"
1840
  msgstr ""
1841
 
1842
- #: includes/paid.php:1464
1843
  msgid "Attributes count"
1844
  msgstr ""
1845
 
1846
- #: includes/paid.php:1527 templates/paid/filters_search_box.php:31
1847
  msgid "Styles"
1848
  msgstr ""
1849
 
1850
- #: includes/paid.php:1532 templates/paid/filters_search_box.php:36
1851
  msgid "Vertical"
1852
  msgstr ""
1853
 
1854
- #: includes/paid.php:1533 templates/paid/filters_search_box.php:37
1855
  msgid "Horizontal"
1856
  msgstr ""
1857
 
1858
- #: includes/paid.php:1537 templates/paid/filters_search_box.php:41
1859
  msgid "Search button position"
1860
  msgstr ""
1861
 
1862
- #: includes/paid.php:1541 templates/paid/filters_search_box.php:45
1863
  msgid "Before and after"
1864
  msgstr ""
1865
 
1866
- #: includes/paid.php:1545 templates/paid/filters_search_box.php:49
1867
  msgid "Search button text"
1868
  msgstr ""
1869
 
1870
- #: includes/paid.php:1549 templates/settings/design.php:705
1871
  #: templates/paid/filters_search_box.php:53
1872
  msgid "Background color"
1873
  msgstr ""
1874
 
1875
- #: includes/paid.php:1554 templates/paid/filters_search_box.php:58
1876
  msgid "Background transparency"
1877
  msgstr ""
1878
 
1879
- #: includes/paid.php:1558 templates/paid/filters_search_box.php:62
1880
  msgid "100%"
1881
  msgstr ""
1882
 
1883
- #: includes/paid.php:1559 templates/paid/filters_search_box.php:63
1884
  msgid "90%"
1885
  msgstr ""
1886
 
1887
- #: includes/paid.php:1560 templates/paid/filters_search_box.php:64
1888
  msgid "80%"
1889
  msgstr ""
1890
 
1891
- #: includes/paid.php:1561 templates/paid/filters_search_box.php:65
1892
  msgid "70%"
1893
  msgstr ""
1894
 
1895
- #: includes/paid.php:1562 templates/paid/filters_search_box.php:66
1896
  msgid "60%"
1897
  msgstr ""
1898
 
1899
- #: includes/paid.php:1563 templates/paid/filters_search_box.php:67
1900
  msgid "50%"
1901
  msgstr ""
1902
 
1903
- #: includes/paid.php:1564 templates/paid/filters_search_box.php:68
1904
  msgid "40%"
1905
  msgstr ""
1906
 
1907
- #: includes/paid.php:1565 templates/paid/filters_search_box.php:69
1908
  msgid "30%"
1909
  msgstr ""
1910
 
1911
- #: includes/paid.php:1566 templates/paid/filters_search_box.php:70
1912
  msgid "20%"
1913
  msgstr ""
1914
 
1915
- #: includes/paid.php:1567 templates/paid/filters_search_box.php:71
1916
  msgid "10%"
1917
  msgstr ""
1918
 
1919
- #: includes/paid.php:1568 templates/paid/filters_search_box.php:72
1920
  msgid "0%"
1921
  msgstr ""
1922
 
1923
- #: includes/paid.php:1579 templates/paid/filters_search_box.php:83
1924
  msgid "Button background color"
1925
  msgstr ""
1926
 
1927
- #: includes/paid.php:1584 templates/paid/filters_search_box.php:88
1928
  msgid "Button background color on mouse over"
1929
  msgstr ""
1930
 
1931
- #: includes/paid.php:1589 templates/paid/filters_search_box.php:93
1932
  msgid "Button text color"
1933
  msgstr ""
1934
 
1935
- #: includes/paid.php:1594 templates/paid/filters_search_box.php:98
1936
  msgid "Button text color on mouse over"
1937
  msgstr ""
1938
 
1939
- #: includes/paid.php:1607
1940
  msgid "Child/Parent Limitation"
1941
  msgstr ""
1942
 
1943
- #: includes/paid.php:1610
1944
  msgid "Child Count"
1945
  msgstr ""
1946
 
1947
- #: includes/paid.php:1611
1948
  msgid "Parent"
1949
  msgstr ""
1950
 
1951
- #: includes/paid.php:1612 includes/paid.php:1648
1952
  msgid "Child"
1953
  msgstr ""
1954
 
1955
- #: includes/paid.php:1616
1956
  msgid "Child depth"
1957
  msgstr ""
1958
 
1959
- #: includes/paid.php:1619 includes/paid.php:1658
1960
  msgid "\"No values\" messages"
1961
  msgstr ""
1962
 
1963
- #: includes/paid.php:1623 includes/paid.php:1662
1964
  msgid "\"Select previous\" messages"
1965
  msgstr ""
1966
 
1967
- #: includes/paid.php:1627
1968
  msgid "\"No Products\" messages"
1969
  msgstr ""
1970
 
1971
- #: includes/paid.php:1632
1972
  msgid "Child count"
1973
  msgstr ""
1974
 
1975
- #: includes/paid.php:1654
1976
  msgid "\"No products\" messages"
1977
  msgstr ""
1978
 
1979
- #: includes/paid.php:1675
1980
  msgid "Date Month Dropdown menu"
1981
  msgstr ""
1982
 
1983
- #: includes/paid.php:1681
1984
  msgid "Date Year Dropdown menu"
1985
  msgstr ""
1986
 
1987
- #: includes/paid.php:1685
1988
  msgid "Date visual style"
1989
  msgstr ""
1990
 
1991
- #: includes/paid.php:1726
1992
  msgid "Display only"
1993
  msgstr ""
1994
 
1995
- #: includes/paid.php:1727
1996
  msgid "Remove"
1997
  msgstr ""
1998
 
1999
- #: includes/paid.php:1729
2000
  msgid "values selected in Include / Exclude List"
2001
  msgstr ""
2002
 
2003
- #: includes/paid.php:1750
2004
- msgid "IMPORTANT"
2005
- msgstr ""
2006
-
2007
- #: includes/paid.php:1752
2008
- msgid ""
2009
- "Slider type always uses attributes slug.<br>All attribute values slug must "
2010
- "be with letters, numbers in slug can work incorrect.<br>Also slider do not "
2011
- "work with slug that contains those symbols: -, +"
2012
- msgstr ""
2013
-
2014
- #: includes/paid.php:1755
2015
- msgid "Use default values for slider"
2016
  msgstr ""
2017
 
2018
- #: includes/paid.php:1768
2019
  msgid "Show product count per attribute value?"
2020
  msgstr ""
2021
 
2022
- #: includes/paid.php:1779
2023
  msgid "Values per row"
2024
  msgstr ""
2025
 
2026
- #: includes/paid.php:1891 includes/paid.php:2488 includes/widget.php:1739
2027
- #: includes/widget.php:2012
 
 
2028
  msgid "In stock"
2029
  msgstr ""
2030
 
2031
- #: includes/paid.php:1898 includes/paid.php:2489 includes/widget.php:1740
2032
- #: includes/widget.php:2013
 
 
2033
  msgid "Out of stock"
2034
  msgstr ""
2035
 
2036
- #: includes/paid.php:1918 includes/paid.php:2492
2037
  msgid "On sale"
2038
  msgstr ""
2039
 
2040
- #: includes/paid.php:1925 includes/paid.php:2493
2041
  msgid "Not on sale"
2042
  msgstr ""
2043
 
2044
- #: includes/paid.php:2645
2045
  msgid "Nice URLs settings"
2046
  msgstr ""
2047
 
2048
- #: includes/widget.php:125
2049
- msgid "Add Filters to Products page"
2050
- msgstr ""
2051
-
2052
- #: includes/widget.php:131
2053
- msgid "AJAX Product Filters (Deprecated)"
2054
- msgstr ""
2055
-
2056
- #: includes/widget.php:551
2057
- msgid "1 star"
2058
- msgstr ""
2059
-
2060
- #: includes/widget.php:551
2061
- msgid ""
2062
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2063
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2064
- msgstr ""
2065
-
2066
- #: includes/widget.php:554
2067
- msgid "2 stars"
2068
- msgstr ""
2069
-
2070
- #: includes/widget.php:554
2071
- msgid ""
2072
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2073
- "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2074
- msgstr ""
2075
-
2076
- #: includes/widget.php:557
2077
- msgid "3 stars"
2078
- msgstr ""
2079
-
2080
- #: includes/widget.php:557
2081
- msgid ""
2082
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2083
- "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2084
- msgstr ""
2085
-
2086
- #: includes/widget.php:560
2087
- msgid "4 stars"
2088
- msgstr ""
2089
-
2090
- #: includes/widget.php:560
2091
- msgid ""
2092
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2093
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2094
- msgstr ""
2095
-
2096
- #: includes/widget.php:563
2097
- msgid "5 stars"
2098
- msgstr ""
2099
-
2100
- #: includes/widget.php:563
2101
- msgid ""
2102
- "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2103
- "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2104
- msgstr ""
2105
-
2106
  #. Author of the plugin
2107
  #: includes/visual-composer.php:21 includes/visual-composer.php:47
2108
  msgid "BeRocket"
@@ -2249,7 +2239,7 @@ msgid "Button border radius"
2249
  msgstr ""
2250
 
2251
  #: templates/settings/design.php:703
2252
- msgid "Product count description before filtering with Update button"
2253
  msgstr ""
2254
 
2255
  #: templates/settings/design.php:707
@@ -2289,11 +2279,11 @@ msgid "Title opened"
2289
  msgstr ""
2290
 
2291
  #: templates/settings/design.php:881
2292
- msgid "Loading products icon"
2293
  msgstr ""
2294
 
2295
  #: templates/settings/design.php:889
2296
- msgid "Text at load icon"
2297
  msgstr ""
2298
 
2299
  #: templates/settings/design.php:891
@@ -2301,7 +2291,7 @@ msgid "Above:"
2301
  msgstr ""
2302
 
2303
  #: templates/settings/design.php:894
2304
- msgid "Under:"
2305
  msgstr ""
2306
 
2307
  #: templates/settings/design.php:897
@@ -2313,11 +2303,11 @@ msgid "After:"
2313
  msgstr ""
2314
 
2315
  #: templates/settings/design.php:906
2316
- msgid "Description show and hide"
2317
  msgstr ""
2318
 
2319
  #: templates/settings/design.php:908
2320
- msgid "Show on:"
2321
  msgstr ""
2322
 
2323
  #: templates/settings/design.php:910
@@ -2325,11 +2315,11 @@ msgid "Click"
2325
  msgstr ""
2326
 
2327
  #: templates/settings/design.php:911
2328
- msgid "Mouse over icon"
2329
  msgstr ""
2330
 
2331
  #: templates/settings/design.php:915
2332
- msgid "Hide on:"
2333
  msgstr ""
2334
 
2335
  #: templates/settings/design.php:917
@@ -2337,11 +2327,11 @@ msgid "Click anywhere"
2337
  msgstr ""
2338
 
2339
  #: templates/settings/design.php:918
2340
- msgid "Mouse out of icon"
2341
  msgstr ""
2342
 
2343
  #: templates/settings/design.php:925
2344
- msgid "Product count style"
2345
  msgstr ""
2346
 
2347
  #: templates/settings/design.php:928
@@ -2377,7 +2367,7 @@ msgid "Position on Image:"
2377
  msgstr ""
2378
 
2379
  #: templates/settings/design.php:952
2380
- msgid "Select(dropdown) Child Tree Indent"
2381
  msgstr ""
2382
 
2383
  #: templates/settings/design.php:955
@@ -2430,13 +2420,28 @@ msgstr ""
2430
  msgid "Display on mouse over and hide on mouse leave"
2431
  msgstr ""
2432
 
 
 
 
 
 
 
 
 
 
 
2433
  #: templates/paid/filters_search_box.php:4
2434
  msgid "Use Group as Search Box"
2435
  msgstr ""
2436
 
2437
  #: addons/filtering_conditions/filtering_conditions.php:9
2438
  #: addons/filtering_conditions/add_conditions.php:39
2439
- msgid "Filtering Conditions (BETA)"
 
 
 
 
 
2440
  msgstr ""
2441
 
2442
  #: addons/filtering_conditions/add_conditions.php:47
@@ -2444,6 +2449,140 @@ msgid ""
2444
  "Use this to display products only after filtering by some attribute and value"
2445
  msgstr ""
2446
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2447
  #: addons/separate_link/separate_vars.php:27
2448
  msgid "Default operator for URLs"
2449
  msgstr ""
@@ -2457,11 +2596,21 @@ msgid "AND"
2457
  msgstr ""
2458
 
2459
  #: addons/separate_link/separate_vars.php:35
2460
- msgid "Default operator will be not displayed in URL"
2461
  msgstr ""
2462
 
2463
  #: addons/separate_link/separate_link.php:9
2464
- msgid "WooCommerce Like Links (BETA)"
 
 
 
 
 
 
 
 
 
 
2465
  msgstr ""
2466
 
2467
  #: addons/additional_tables/additional_tables.php:59
3
  msgstr ""
4
  "Project-Id-Version: WooCommerce AJAX Products Filter\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2019-12-09 13:44+0000\n"
7
  "POT-Revision-Date: Wed Jun 29 2016 09:22:13 GMT+0300 (EEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: \n"
24
  "X-Generator: Loco https://localise.biz/"
25
 
26
  #. Name of the plugin
27
+ #: main.php:62
28
  msgid "WooCommerce AJAX Products Filter"
29
  msgstr ""
30
 
31
+ #: main.php:63
32
  msgid "Product Filters"
33
  msgstr ""
34
 
35
+ #: main.php:73 main.php:1482
36
  msgid "There are no products meeting your criteria"
37
  msgstr ""
38
 
39
+ #: main.php:326
40
  msgid ""
41
  "<strong>Please update all BeRocket plugins to the most recent version. "
42
  "WooCommerce AJAX Products Filter is not working correctly with older "
43
  "versions.</strong>"
44
  msgstr ""
45
 
46
+ #: main.php:397
47
  msgid "General"
48
  msgstr ""
49
 
50
+ #: main.php:401
51
  msgid "Elements"
52
  msgstr ""
53
 
54
+ #: main.php:405
55
  msgid "Selectors"
56
  msgstr ""
57
 
58
+ #: main.php:409
59
  msgid "SEO"
60
  msgstr ""
61
 
62
+ #: main.php:413
63
  msgid "Advanced"
64
  msgstr ""
65
 
66
+ #: main.php:417
67
  msgid "Design"
68
  msgstr ""
69
 
70
+ #: main.php:421
71
  msgid "JavaScript/CSS"
72
  msgstr ""
73
 
74
+ #: main.php:426 includes/custom_post.php:645
75
  msgid "Filters"
76
  msgstr ""
77
 
78
+ #: main.php:431
79
  msgid "License"
80
  msgstr ""
81
 
82
+ #: main.php:435
83
+ msgid "Add-ons"
84
  msgstr ""
85
 
86
+ #: main.php:445
87
  msgid "\"No Products\" message"
88
  msgstr ""
89
 
90
+ #: main.php:451
91
  msgid "Products Per Page"
92
  msgstr ""
93
 
94
+ #: main.php:457
95
+ msgid "Number of Attribute Values"
96
  msgstr ""
97
 
98
+ #: main.php:461
99
  msgid ""
100
  "Attribute Values count that will be displayed. Other values will be hidden "
101
+ "and can be displayed by pressing the button. Option <strong>Hide the "
102
+ "Show/Hide value(s) button in the filters</strong> must be disabled"
103
  msgstr ""
104
 
105
+ #: main.php:464
106
+ msgid "Sorting drop-down control"
107
  msgstr ""
108
 
109
+ #: main.php:468
110
  msgid "Take control over WooCommerce's sorting selectbox?"
111
  msgstr ""
112
 
113
+ #: main.php:471
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  msgid "Jump to first page"
115
  msgstr ""
116
 
117
+ #: main.php:475
118
  msgid "Check if you want load first page after filters change"
119
  msgstr ""
120
 
121
+ #: main.php:478
122
+ msgid "Scroll to the top"
123
  msgstr ""
124
 
125
+ #: main.php:481 main.php:562
126
  msgid "Selected filters position"
127
  msgstr ""
128
 
129
+ #: main.php:486 templates/filter_post.php:632
130
  msgid "Disable"
131
  msgstr ""
132
 
133
+ #: main.php:487
134
  msgid "Mobile and Desktop"
135
  msgstr ""
136
 
137
+ #: main.php:488 includes/custom_post.php:299 includes/custom_post.php:611
138
  msgid "Mobile"
139
  msgstr ""
140
 
141
+ #: main.php:489 includes/custom_post.php:307 includes/custom_post.php:619
142
  msgid "Desktop"
143
  msgstr ""
144
 
145
+ #: main.php:498
146
  msgid "px from products top."
147
  msgstr ""
148
 
149
+ #: main.php:498
150
  msgid "Use this to fix top scroll."
151
  msgstr ""
152
 
153
+ #: main.php:503
154
+ msgid "Values count and output"
155
  msgstr ""
156
 
157
+ #: main.php:507
158
+ msgid "All non-empty values are shown and use basic counting"
159
  msgstr ""
160
 
161
+ #: main.php:508
162
+ msgid "Remove empty values based on page(category/tag/etc)"
 
 
163
  msgstr ""
164
 
165
+ #: main.php:509
166
+ msgid ""
167
+ "All non-empty values are shown and filters are considered while counting "
168
+ "attribute values"
169
  msgstr ""
170
 
171
+ #: main.php:510
172
+ msgid ""
173
+ "Remove empty values based on page(category/tag/etc). Filters are considered "
174
+ "while counting attribute values and empty values based on filters are hidden"
175
  msgstr ""
176
 
177
+ #: main.php:511
178
  msgid ""
179
+ "Filters are considered while counting attribute values. Empty values are "
180
+ "removed server side"
181
+ msgstr ""
182
+
183
+ #: main.php:513
184
+ msgid "Variable variant work slower, but remove variations that out of stock"
185
+ msgstr ""
186
+
187
+ #: main.php:518
188
+ msgid "Hide values"
189
+ msgstr ""
190
+
191
+ #: main.php:524
192
+ msgid "Hide values without products"
193
+ msgstr ""
194
+
195
+ #: main.php:530
196
+ msgid "Hide selected values"
197
+ msgstr ""
198
+
199
+ #: main.php:536
200
+ msgid "Hide blank widgets"
201
+ msgstr ""
202
+
203
+ #: main.php:541
204
+ msgid "Select2"
205
  msgstr ""
206
 
207
  #: main.php:548
208
+ msgid "Use Select2 script for dropdown menu"
209
+ msgstr ""
210
+
211
+ #: main.php:555
212
+ msgid ""
213
+ "Fixed CSS styles for Select2 (do not enable if Select2 work correct. Option "
214
+ "can break Select2 in other plugins or themes)"
215
+ msgstr ""
216
+
217
+ #: main.php:566
218
  msgid "WooCommerce Description(in header)"
219
  msgstr ""
220
 
221
+ #: main.php:567
222
  msgid "WooCommerce Before Shop Loop"
223
  msgstr ""
224
 
225
+ #: main.php:568
226
  msgid "WooCommerce After Shop Loop"
227
  msgstr ""
228
 
229
+ #: main.php:573
230
+ msgid "Display Selected Filters"
231
  msgstr ""
232
 
233
+ #: main.php:580
234
  msgid "Show selected filters above products"
235
  msgstr ""
236
 
237
+ #: main.php:587
238
  msgid ""
239
  "Hide selected filters area if nothing selected(affect only area above "
240
  "products)"
241
  msgstr ""
242
 
243
+ #: main.php:598
244
+ msgid "Products Selector"
245
  msgstr ""
246
 
247
+ #: main.php:603 main.php:648
248
  msgid ""
249
  "Selector for tag that is holding products. Don't change this if you don't "
250
  "know what it is"
251
  msgstr ""
252
 
253
+ #: main.php:606
254
+ msgid "Products Quantity Selector"
255
  msgstr ""
256
 
257
+ #: main.php:613
258
  msgid ""
259
  "Selector for tag with product result count(\"Showing 1–8 of 61 results\"). "
260
  "Don't change this if you don't know what it is"
261
  msgstr ""
262
 
263
+ #: main.php:619
264
  msgid "Enable if page doesn't have product count block"
265
  msgstr ""
266
 
267
+ #: main.php:624
268
+ msgid "Products Sorting Selector"
269
  msgstr ""
270
 
271
+ #: main.php:630
272
  msgid ""
273
  "Selector for order by form with drop down menu. Don't change this if you "
274
  "don't know what it is"
275
  msgstr ""
276
 
277
+ #: main.php:636
278
  msgid "Enable if page doesn't have order by drop down menu"
279
  msgstr ""
280
 
281
+ #: main.php:641
282
+ msgid "Products Pagination Selector"
283
  msgstr ""
284
 
285
+ #: main.php:654
286
  msgid ""
287
  "Enable if page doesn't have pagination.<strong>Page with lazy load also has "
288
  "pagination</strong>"
289
  msgstr ""
290
 
291
+ #: main.php:660
292
  msgid "Disable AJAX Pagination"
293
  msgstr ""
294
 
295
+ #: main.php:667
296
+ msgid "Refresh URL when filtering"
297
  msgstr ""
298
 
299
+ #: main.php:672
300
  msgid ""
301
  "If this option is on URL will be changed when filter is selected/changed"
302
  msgstr ""
303
 
304
+ #: main.php:675
305
  msgid "Use slug in URL"
306
  msgstr ""
307
 
308
+ #: main.php:680
309
  msgid "Use attribute slug instead ID"
310
  msgstr ""
311
 
312
+ #: main.php:683
313
+ msgid "URL decoding"
314
  msgstr ""
315
 
316
+ #: main.php:688
317
  msgid "Decode all symbols in URL to prevent errors on server side"
318
  msgstr ""
319
 
320
+ #: main.php:691
321
  msgid "SEO Meta, Title"
322
  msgstr ""
323
 
324
+ #: main.php:696
325
  msgid "Meta Description, Page title and Page Header with filters"
326
  msgstr ""
327
 
328
+ #: main.php:699
329
+ msgid "SEO Elements"
330
  msgstr ""
331
 
332
+ #: main.php:706 templates/filters_group_simple.php:2
333
+ #: templates/filter_post_simple.php:11 includes/paid.php:1617
334
+ #: includes/paid.php:1787 templates/settings/design.php:789
335
  msgid "Title"
336
  msgstr ""
337
 
338
+ #: main.php:712
339
  msgid "Header"
340
  msgstr ""
341
 
342
+ #: main.php:718 templates/filter_post.php:502
343
  msgid "Description"
344
  msgstr ""
345
 
346
+ #: main.php:723
347
+ msgid "SEO elements structure"
348
+ msgstr ""
349
+
350
+ #: main.php:728
351
  msgid "{title} with [attribute] [values] and [attribute] [values]"
352
  msgstr ""
353
 
354
+ #: main.php:729
355
  msgid "{title} [attribute]:[values];[attribute]:[values]"
356
  msgstr ""
357
 
358
+ #: main.php:730
359
  msgid ""
360
  "[attribute 1 values] {title} with [attribute] [values] and [attribute] "
361
  "[values]"
362
  msgstr ""
363
 
364
+ #: main.php:731
365
  msgid "{title} - [values] / [values]"
366
  msgstr ""
367
 
368
+ #: main.php:738
 
 
 
 
 
 
 
 
369
  msgid "\"No Products\" class"
370
  msgstr ""
371
 
372
+ #: main.php:742
373
  msgid "Add class and use it to style \"No Products\" box"
374
  msgstr ""
375
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  #: main.php:745
 
 
 
 
377
  msgid "Display products"
378
  msgstr ""
379
 
380
+ #: main.php:749
381
  msgid ""
382
  "Display always products when filters selected. Use this when you have "
383
  "categories and subcategories on shop pages, but you want to display products "
384
  "on filtering"
385
  msgstr ""
386
 
387
+ #: main.php:752
388
+ msgid "Use Tax options in price filters"
389
+ msgstr ""
390
+
391
+ #: main.php:753
392
+ msgid "Only Standard tax rates will be applied for prices"
393
  msgstr ""
394
 
395
+ #: main.php:757
396
+ msgid "Do not use (filter price as it is set in products)"
 
397
  msgstr ""
398
 
399
+ #: main.php:758
400
+ msgid "Use tax options"
401
  msgstr ""
402
 
403
  #: main.php:763
404
+ msgid "Page same as filter"
405
  msgstr ""
406
 
407
+ #: main.php:767 templates/filter_post.php:171 templates/filter_post.php:359
408
+ #: templates/filter_post.php:466 includes/paid.php:1746
409
+ #: templates/settings/design.php:57 templates/settings/design.php:165
410
+ #: templates/settings/design.php:179 templates/settings/design.php:184
411
+ #: templates/settings/design.php:421 templates/settings/design.php:435
412
+ #: templates/settings/design.php:440 templates/settings/design.php:653
413
+ #: templates/settings/design.php:658 templates/settings/design.php:666
414
+ #: templates/settings/design.php:677 templates/settings/design.php:682
415
+ #: templates/settings/design.php:722 templates/settings/design.php:727
416
+ #: templates/settings/design.php:735 templates/settings/design.php:743
417
+ #: templates/settings/design.php:748 templates/settings/design.php:756
418
+ #: templates/settings/design.php:761 templates/settings/design.php:793
419
+ #: templates/settings/design.php:807 templates/settings/design.php:812
420
+ #: templates/settings/design.php:820 templates/settings/design.php:834
421
+ #: templates/settings/design.php:839 templates/settings/design.php:847
422
+ #: templates/settings/design.php:861 templates/settings/design.php:866
423
+ #: templates/paid/filters_group.php:29
424
+ msgid "Default"
425
  msgstr ""
426
 
427
+ #: main.php:768
428
+ msgid "Remove value"
 
 
429
  msgstr ""
430
 
431
+ #: main.php:769
432
+ msgid "Leave only one value"
433
+ msgstr ""
434
+
435
+ #: main.php:772
436
  msgid ""
437
+ "On Category, Tag, Attribute page filter for it will remove value or leave "
438
+ "only one value"
439
  msgstr ""
440
 
441
+ #: main.php:776
442
+ msgid "Variable Products and Variations options"
443
  msgstr ""
444
 
445
+ #: main.php:779
446
+ msgid "Hide variations that are out of stock"
447
  msgstr ""
448
 
449
+ #: main.php:785 includes/paid.php:124 includes/paid.php:136
450
+ #: includes/paid.php:1862
451
+ msgid "Disabled"
452
  msgstr ""
453
 
454
+ #: main.php:786
455
+ msgid "Enabled"
456
  msgstr ""
457
 
458
+ #: main.php:787
459
+ msgid "Enabled only with selected \"Out of stock\" filter"
460
  msgstr ""
461
 
462
+ #: main.php:791
463
+ msgid "Hide variable products if variations with selected filters out of stock"
464
  msgstr ""
465
 
466
+ #: main.php:798
467
+ msgid ""
468
+ "Use it for attributes values to display more correct count with option "
469
+ "Reload amount of products"
470
+ msgstr ""
471
+
472
+ #: main.php:805
473
+ msgid ""
474
+ "Fix WPEngine query issue (Also can work with other hostings if they limit "
475
+ "query size)"
476
  msgstr ""
477
 
478
  #: main.php:811
479
+ msgid "Incompatibility Fixes"
480
  msgstr ""
481
 
482
  #: main.php:814
483
+ msgid "Add position relative to products"
484
  msgstr ""
485
 
486
  #: main.php:818
487
+ msgid "Fix for correct displaying loading block"
488
  msgstr ""
489
 
490
  #: main.php:821
491
+ msgid "Display styles only for pages with filters"
492
  msgstr ""
493
 
494
  #: main.php:825
495
+ msgid "On some sites it can cause some visual problem on page loads"
496
  msgstr ""
497
 
498
  #: main.php:828
499
+ msgid "Products per line"
 
 
 
 
500
  msgstr ""
501
 
502
+ #: main.php:832
503
+ msgid "Change this only if after filtering count of products per row changes."
504
  msgstr ""
505
 
506
+ #: main.php:835
507
+ msgid "Fix for sites with AJAX"
508
  msgstr ""
509
 
510
  #: main.php:839
511
+ msgid "Add JavaScript files to all pages."
512
  msgstr ""
513
 
514
+ #: main.php:842
515
+ msgid "Fix for search page"
 
 
 
516
  msgstr ""
517
 
518
  #: main.php:846
519
+ msgid "Disable redirection, when search page return only one product"
520
  msgstr ""
521
 
522
+ #: main.php:849
523
+ msgid "Use Tags as custom taxonomies"
524
  msgstr ""
525
 
526
+ #: main.php:853
527
+ msgid "Try to enable this if widget with tags didn't work."
528
  msgstr ""
529
 
530
+ #: main.php:856
531
+ msgid "GET query"
 
 
532
  msgstr ""
533
 
534
+ #: main.php:860
535
+ msgid "Use GET query instead POST for filtering"
536
+ msgstr ""
537
+
538
+ #: main.php:863
539
  msgid "Alternative Load (DEPRECATED)"
540
  msgstr ""
541
 
542
+ #: main.php:870
543
  msgid ""
544
  "Use it on your own risk. Some features do not work with alternative load "
545
  "methods. All this methods are not supported. If you have problems with any "
546
  "of them just turn this option off"
547
  msgstr ""
548
 
549
+ #: main.php:877
550
  msgid "WordPress AJAX (deprecated)"
551
  msgstr ""
552
 
553
+ #: main.php:878
554
  msgid "PHP (deprecated)"
555
  msgstr ""
556
 
557
+ #: main.php:879
558
  msgid "JavaScript (deprecated)"
559
  msgstr ""
560
 
561
+ #: main.php:882
562
  msgid "Use"
563
  msgstr ""
564
 
565
+ #: main.php:883
566
  msgid "load method"
567
  msgstr ""
568
 
569
+ #: main.php:884
570
  msgid "Some features do not work with alternative load method"
571
  msgstr ""
572
 
573
+ #: main.php:890
574
+ msgid "Tools"
575
  msgstr ""
576
 
577
+ #: main.php:893
578
+ msgid "Turn off all filters"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
579
  msgstr ""
580
 
581
+ #: main.php:897
582
+ msgid ""
583
+ "If you want to hide filters without losing current configuration just turn "
584
+ "them off"
585
  msgstr ""
586
 
587
+ #: main.php:916
588
+ msgid "Disable Font Awesome"
589
  msgstr ""
590
 
591
+ #: main.php:920
592
  msgid ""
593
+ "Don't loading css file for Font Awesome on site front end. Use it only if "
594
+ "you doesn't uses Font Awesome icons in widgets or you have Font Awesome in "
595
+ "your theme."
596
  msgstr ""
597
 
598
+ #: main.php:923
599
+ msgid "Font Awesome Version"
600
+ msgstr ""
601
+
602
+ #: main.php:927
603
+ msgid "Font Awesome 4"
604
+ msgstr ""
605
+
606
+ #: main.php:928
607
+ msgid "Font Awesome 5"
608
+ msgstr ""
609
+
610
+ #: main.php:931
611
+ msgid ""
612
+ "Version of Font Awesome that will be used on front end. Please select "
613
+ "version that you have in your theme"
614
+ msgstr ""
615
+
616
+ #: main.php:934
617
  msgid "Before Update:"
618
  msgstr ""
619
 
620
+ #: main.php:938
621
  msgid "If you want to add own actions on filter activation, eg: alert('1');"
622
  msgstr ""
623
 
624
+ #: main.php:941
625
+ msgid "During Update:"
626
  msgstr ""
627
 
628
+ #: main.php:945
629
  msgid ""
630
  "If you want to add own actions right on products update. You can manipulate "
631
  "data here, try: data.products = 'Ha!';"
632
  msgstr ""
633
 
634
+ #: main.php:948
635
  msgid "After Update:"
636
  msgstr ""
637
 
638
+ #: main.php:952
639
  msgid "If you want to add own actions after products updated, eg: alert('1');"
640
  msgstr ""
641
 
642
+ #: main.php:978 templates/filters_information.php:2
643
  msgid "SETUP WIZARD"
644
  msgstr ""
645
 
646
+ #: main.php:980
647
  msgid "RUN SETUP WIZARD"
648
  msgstr ""
649
 
650
+ #: main.php:982
651
  msgid "Run it to setup plugin options step by step"
652
  msgstr ""
653
 
654
+ #: main.php:991 main.php:1002
655
  msgid "Creating products"
656
  msgstr ""
657
 
658
+ #: main.php:992 main.php:1003
659
  msgid "Gettings selectors"
660
  msgstr ""
661
 
662
+ #: main.php:993 main.php:1004
663
  msgid "Removing products"
664
  msgstr ""
665
 
666
+ #: main.php:994
667
  msgid "Error:"
668
  msgstr ""
669
 
670
+ #: main.php:997
671
  msgid ""
672
  "IMPORTANT: It will generate some products on your site. Please disable all "
673
  "SEO plugins and plugins, that doing anything on product creating."
674
  msgstr ""
675
 
676
+ #: main.php:998
677
  msgid ""
678
  "Script was runned, but page closed until end. Please stop it to prevent any "
679
  "problems on your site"
680
  msgstr ""
681
 
682
+ #: main.php:999
683
  msgid "Auto-Selectors"
684
  msgstr ""
685
 
686
+ #: main.php:1000
687
  msgid "Stop"
688
  msgstr ""
689
 
690
+ #: main.php:1001
691
  msgid "Steps:"
692
  msgstr ""
693
 
694
+ #: main.php:1007
695
  msgid "Get selectors automatically"
696
  msgstr ""
697
 
698
+ #: main.php:1009
699
  msgid "How it work:"
700
  msgstr ""
701
 
702
+ #: main.php:1011
703
  msgid "Run Auto-selector"
704
  msgstr ""
705
 
706
+ #: main.php:1012
707
  msgid ""
708
  "Wait until end <strong style=\"color:red;\">do not close this page</strong>"
709
  msgstr ""
710
 
711
+ #: main.php:1013
712
  msgid "Save settings with new selectors"
713
  msgstr ""
714
 
715
+ #: main.php:1022 main.php:1036
716
  msgid "Purge Cache"
717
  msgstr ""
718
 
719
+ #: main.php:1038
720
  msgid "Clear attribute/custom taxonomy cache for plugin"
721
  msgstr ""
722
 
723
+ #: main.php:1056
724
  msgid "Replace old widgets"
725
  msgstr ""
726
 
727
+ #: main.php:1069
728
  msgid "Widget replaced"
729
  msgstr ""
730
 
731
+ #: main.php:1070
732
  msgid "Replacing widgets... Please wait"
733
  msgstr ""
734
 
735
+ #: main.php:1074
736
  msgid "Replace widgets"
737
  msgstr ""
738
 
739
+ #: main.php:1076
740
  msgid "No old widgets"
741
  msgstr ""
742
 
743
+ #: main.php:1079
744
  msgid "Replace deprecated widgets with new single filter widgets"
745
  msgstr ""
746
 
747
+ #: main.php:1102
748
+ msgid "Custom CSS Style:"
749
  msgstr ""
750
 
751
+ #: main.php:1266 includes/paid.php:1649 templates/settings/design.php:161
 
752
  msgid "Checkbox"
753
  msgstr ""
754
 
755
+ #: main.php:1267 includes/paid.php:1650 templates/settings/design.php:417
 
756
  msgid "Radio"
757
  msgstr ""
758
 
759
+ #: main.php:1268 includes/paid.php:1648
760
  msgid "Select"
761
  msgstr ""
762
 
763
+ #: main.php:1269 includes/paid.php:1651 templates/settings/design.php:12
764
+ #: templates/settings/design.php:27
765
  msgid "Color"
766
  msgstr ""
767
 
768
+ #: main.php:1270 includes/paid.php:1652
769
  msgid "Image"
770
  msgstr ""
771
 
772
+ #: main.php:1271 templates/settings/design.php:634
 
773
  msgid "Slider"
774
  msgstr ""
775
 
776
+ #: main.php:1272
777
  msgid "Tag cloud"
778
  msgstr ""
779
 
780
+ #: main.php:1547 templates/color.php:206 templates/checkbox.php:140
781
  #: templates/disabled/color.php:197 templates/disabled/checkbox.php:130
782
  msgid "Show value(s)"
783
  msgstr ""
784
 
785
+ #: main.php:1548
786
  msgid "Hide value(s)"
787
  msgstr ""
788
 
789
+ #: main.php:1549
790
  msgid "Unselect all"
791
  msgstr ""
792
 
793
+ #: main.php:1550
794
  msgid "Nothing is selected"
795
  msgstr ""
796
 
797
+ #: main.php:1551
798
  msgid "products"
799
  msgstr ""
800
 
801
+ #: main.php:1639
802
  msgid "Activate WooCommerce plugin before"
803
  msgstr ""
804
 
805
+ #: main.php:1645
806
  msgid "Update WooCommerce plugin"
807
  msgstr ""
808
 
821
  msgid "Filters group"
822
  msgstr ""
823
 
824
+ #: templates/filters_group_simple.php:6 templates/filters_group.php:12
825
+ msgid "Filters In Group"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
  msgstr ""
827
 
828
+ #: templates/filters_group_simple.php:16 templates/filters_group.php:22
829
+ msgid "Add filter"
830
  msgstr ""
831
 
832
+ #: templates/filters_group_simple.php:17 includes/new_widget.php:283
833
+ msgid "Create Filter"
834
  msgstr ""
835
 
836
+ #: templates/filters_group_simple.php:32 templates/filters_group_simple.php:57
837
+ #: includes/new_widget.php:127 includes/new_widget.php:281
838
+ #: includes/custom_post.php:50 includes/custom_post.php:522
839
+ msgid "Edit"
840
  msgstr ""
841
 
842
+ #: templates/filters_group_simple.php:42 templates/filter_post_simple.php:153
843
+ msgid "Need more options? Create it on "
844
  msgstr ""
845
 
846
+ #: templates/filters_group_simple.php:43 includes/new_widget.php:95
847
+ msgid "Manage groups"
848
  msgstr ""
849
 
850
+ #: templates/filters_group_simple.php:44 templates/filter_post_simple.php:155
851
+ msgid " page"
852
  msgstr ""
853
 
854
+ #: templates/filters_group.php:4 includes/new_widget.php:102
855
+ #: includes/new_widget.php:256
856
+ msgid "Custom CSS class"
857
  msgstr ""
858
 
859
+ #: templates/filters_group.php:7
860
+ msgid "use white space for multiple classes"
861
  msgstr ""
862
 
863
+ #: templates/filters_group.php:23 templates/filter_post_simple.php:154
864
+ #: includes/new_widget.php:253
865
+ msgid "Manage filters"
866
  msgstr ""
867
 
868
+ #: templates/filters_group.php:40 templates/filters_group.php:60
869
+ msgid "Width"
870
  msgstr ""
871
 
872
+ #: templates/include_exclude_list.php:3
873
+ msgid "Include / Exclude List"
874
  msgstr ""
875
 
876
+ #: templates/color_ajax.php:3
877
+ msgid "Color pick"
878
  msgstr ""
879
 
880
+ #: templates/color_ajax.php:3
881
+ msgid "Image pick"
882
  msgstr ""
883
 
884
+ #: templates/filter_post.php:12 templates/filters_information.php:7
885
+ #: templates/filters_information.php:9
886
+ msgid "Widget Type"
 
887
  msgstr ""
888
 
889
+ #: templates/filter_post.php:16 includes/new_widget.php:260
890
+ #: includes/divi-builder.php:26 includes/custom_post.php:350
891
+ #: includes/visual-composer.php:26 templates/settings/design.php:843
892
+ #: addons/deprecated_compat/widget.php:263
893
+ #: includes/filters/display_widget.php:235
894
+ msgid "Filter"
895
  msgstr ""
896
 
897
+ #: templates/filter_post.php:36 templates/filter_post_simple.php:18
898
+ #: includes/paid.php:1621
899
+ msgid "Filter By"
900
  msgstr ""
901
 
902
+ #: templates/filter_post.php:41 templates/filter_post.php:83
903
+ #: templates/filter_post_simple.php:23 templates/filter_post_simple.php:65
904
+ #: includes/custom_post.php:360 includes/custom_post.php:437
905
+ #: includes/paid.php:1614 includes/paid.php:1623 includes/paid.php:1629
906
+ #: addons/deprecated_compat/widget.php:171
907
+ #: includes/filters/display_widget.php:161
908
+ msgid "Attribute"
909
  msgstr ""
910
 
911
+ #: templates/filter_post.php:45 templates/filter_post_simple.php:27
912
+ #: includes/custom_post.php:361 includes/custom_post.php:373
913
+ #: includes/custom_post.php:392 includes/custom_post.php:441
914
+ #: includes/paid.php:1624 addons/deprecated_compat/widget.php:175
915
+ #: includes/filters/display_widget.php:165
916
+ msgid "Tag"
917
  msgstr ""
918
 
919
+ #: templates/filter_post.php:49 templates/filter_post_simple.php:31
920
+ #: includes/custom_post.php:445 includes/paid.php:435
921
+ #: addons/deprecated_compat/widget.php:179
922
+ #: includes/filters/display_widget.php:169
923
+ msgid "Product Category"
924
  msgstr ""
925
 
926
+ #: templates/filter_post.php:56 templates/filter_post_simple.php:38
927
+ #: includes/custom_post.php:403 includes/custom_post.php:452
928
+ #: addons/deprecated_compat/widget.php:186
929
+ #: includes/filters/display_widget.php:176
930
+ msgid "Rating"
931
  msgstr ""
932
 
933
+ #: templates/filter_post.php:85 templates/filter_post_simple.php:67
934
+ #: includes/custom_post.php:381
935
+ msgid "Price"
936
  msgstr ""
937
 
938
+ #: templates/filter_post.php:92 templates/filter_post_simple.php:74
939
+ #: includes/paid.php:1637
940
+ msgid "Custom Taxonomies"
941
  msgstr ""
942
 
943
+ #: templates/filter_post.php:115 templates/filter_post_simple.php:97
944
+ #: includes/paid.php:1646
945
+ msgid "Type"
946
  msgstr ""
947
 
948
+ #: templates/filter_post.php:162 templates/filter_post_simple.php:143
949
+ msgid "Operator"
950
  msgstr ""
951
 
952
+ #: templates/filter_post.php:169
953
+ msgid "Values Order"
 
954
  msgstr ""
955
 
956
+ #: templates/filter_post.php:172
957
  msgid "Alpha"
958
  msgstr ""
959
 
960
+ #: templates/filter_post.php:172
961
  msgid "Numeric"
962
  msgstr ""
963
 
964
+ #: templates/filter_post.php:178
965
  msgid "Order Type"
966
  msgstr ""
967
 
968
+ #: templates/filter_post.php:180
969
  msgid "Ascending"
970
  msgstr ""
971
 
972
+ #: templates/filter_post.php:180
973
  msgid "Descending"
974
  msgstr ""
975
 
976
+ #: templates/filter_post.php:222
977
  msgid "Ranges: 1,100,200,1000"
978
  msgstr ""
979
 
980
+ #: templates/filter_post.php:225
981
  msgid "1.00-100.00, 101.00-200.00, 201.00-1000.00"
982
  msgstr ""
983
 
984
+ #: templates/filter_post.php:226
985
  msgid "1.00-100.00, 100.00-200.00, 200.00-1000.00"
986
  msgstr ""
987
 
988
+ #: templates/filter_post.php:227
989
  msgid "1.00-99.99, 100.00-199.99, 200.00-999.99"
990
  msgstr ""
991
 
992
+ #: templates/filter_post.php:239
993
+ msgid "Hide first and last ranges without products"
994
+ msgstr ""
995
+
996
+ #: templates/filter_post.php:244
997
  msgid "Show last range to the infinity"
998
  msgstr ""
999
 
1000
+ #: templates/filter_post.php:248
1001
  msgid "Infinity text"
1002
  msgstr ""
1003
 
1004
+ #: templates/filter_post.php:263 templates/filter_post.php:429
1005
  msgid "Disable multiple selection?"
1006
  msgstr ""
1007
 
1008
+ #: templates/filter_post.php:269
1009
+ msgid "Text before price:"
1010
+ msgstr ""
1011
+
1012
+ #: templates/filter_post.php:273
1013
+ msgid "after:"
1014
+ msgstr ""
1015
+
1016
+ #: templates/filter_post.php:280
1017
+ msgid "Enable Slider Inputs"
1018
+ msgstr ""
1019
+
1020
+ #: templates/filter_post.php:284
1021
+ msgid "Use custom values(comma separated):"
1022
+ msgstr ""
1023
+
1024
+ #: templates/filter_post.php:286
1025
+ msgid "* use numeric values only, strings will not work as expected"
1026
+ msgstr ""
1027
+
1028
+ #: templates/filter_post.php:294
1029
+ msgid "Use current product category to get child"
1030
+ msgstr ""
1031
+
1032
+ #: templates/filter_post.php:299
1033
+ msgid "Deep level:"
1034
+ msgstr ""
1035
+
1036
+ #: templates/filter_post.php:305
1037
+ msgid "Product Category:"
1038
+ msgstr ""
1039
+
1040
+ #: templates/filter_post.php:313
1041
+ msgid "None"
1042
+ msgstr ""
1043
+
1044
+ #: templates/filter_post.php:338
1045
  msgid "First Element Text"
1046
  msgstr ""
1047
 
1048
+ #: templates/filter_post.php:339 addons/deprecated_compat/widget.php:819
1049
+ #: includes/filters/display_widget.php:506
1050
  msgid "Any"
1051
  msgstr ""
1052
 
1053
+ #: templates/filter_post.php:344
1054
  msgid "Multiple select"
1055
  msgstr ""
1056
 
1057
+ #: templates/filter_post.php:349 templates/filters_information.php:5
1058
  msgid "Advanced Settings"
1059
  msgstr ""
1060
 
1061
+ #: templates/filter_post.php:355
1062
+ msgid "Attribute Values count"
1063
+ msgstr ""
1064
+
1065
+ #: templates/filter_post.php:356
1066
  msgid "From settings"
1067
  msgstr ""
1068
 
1069
+ #: templates/filter_post.php:357
1070
  msgid "Show/Hide button"
1071
  msgstr ""
1072
 
1073
+ #: templates/filter_post.php:360
1074
  msgid "Always visible"
1075
  msgstr ""
1076
 
1077
+ #: templates/filter_post.php:361
1078
  msgid "Always hidden"
1079
  msgstr ""
1080
 
1081
+ #: templates/filter_post.php:369
1082
  msgid "Use specific number style"
1083
  msgstr ""
1084
 
1085
+ #: templates/filter_post.php:373
1086
  msgid "Thousand Separator"
1087
  msgstr ""
1088
 
1089
+ #: templates/filter_post.php:377 includes/paid.php:94
1090
  msgid "Decimal Separator"
1091
  msgstr ""
1092
 
1093
+ #: templates/filter_post.php:381 includes/paid.php:100
1094
  msgid "Number Of Decimal"
1095
  msgstr ""
1096
 
1097
+ #: templates/filter_post.php:396
1098
  msgid "Enable collapse option"
1099
  msgstr ""
1100
 
1101
+ #: templates/filter_post.php:402
1102
  msgid "Collapse this widget on load?"
1103
  msgstr ""
1104
 
1105
+ #: templates/filter_post.php:408 templates/filter_post.php:580
1106
  msgid "Hide collapse arrow?"
1107
  msgstr ""
1108
 
1109
+ #: templates/filter_post.php:415
1110
  msgid "Show hierarchical values as a tree with hidden child values on load?"
1111
  msgstr ""
1112
 
1113
+ #: templates/filter_post.php:425
1114
  msgid "Display value with color/image box?"
1115
  msgstr ""
1116
 
1117
+ #: templates/filter_post.php:432
1118
  msgid "Size of blocks(Height x Width)"
1119
  msgstr ""
1120
 
1121
+ #: templates/filter_post.php:436
1122
  msgid "2em x 2em"
1123
  msgstr ""
1124
 
1125
+ #: templates/filter_post.php:437
1126
  msgid "1em x 1em"
1127
  msgstr ""
1128
 
1129
+ #: templates/filter_post.php:438
1130
  msgid "1em x 2em"
1131
  msgstr ""
1132
 
1133
+ #: templates/filter_post.php:439
1134
  msgid "2em x 3em"
1135
  msgstr ""
1136
 
1137
+ #: templates/filter_post.php:440
1138
  msgid "2em x 4em"
1139
  msgstr ""
1140
 
1141
+ #: templates/filter_post.php:441
1142
  msgid "3em x 3em"
1143
  msgstr ""
1144
 
1145
+ #: templates/filter_post.php:442
1146
  msgid "3em x 4em"
1147
  msgstr ""
1148
 
1149
+ #: templates/filter_post.php:443
1150
  msgid "3em x 5em"
1151
  msgstr ""
1152
 
1153
+ #: templates/filter_post.php:444
1154
  msgid "4em x 4em"
1155
  msgstr ""
1156
 
1157
+ #: templates/filter_post.php:445
1158
  msgid "4em x 5em"
1159
  msgstr ""
1160
 
1161
+ #: templates/filter_post.php:446
1162
  msgid "5em x 5em"
1163
  msgstr ""
1164
 
1165
+ #: templates/filter_post.php:447
1166
  msgid "Custom size"
1167
  msgstr ""
1168
 
1169
+ #: templates/filter_post.php:455
1170
  msgid "Custom size(Height x Width)"
1171
  msgstr ""
1172
 
1173
+ #: templates/filter_post.php:462
1174
  msgid "Checked type"
1175
  msgstr ""
1176
 
1177
+ #: templates/filter_post.php:467
1178
  msgid "Rotate"
1179
  msgstr ""
1180
 
1181
+ #: templates/filter_post.php:468
1182
  msgid "Scale"
1183
  msgstr ""
1184
 
1185
+ #: templates/filter_post.php:469
1186
  msgid "Blue Shadow"
1187
  msgstr ""
1188
 
1189
+ #: templates/filter_post.php:470
1190
  msgid "Custom CSS"
1191
  msgstr ""
1192
 
1193
+ #: templates/filter_post.php:478
1194
  msgid "Custom CSS for Checked block"
1195
  msgstr ""
1196
 
1197
+ #: templates/filter_post.php:485
1198
  msgid "Icons"
1199
  msgstr ""
1200
 
1201
+ #: templates/filter_post.php:487
1202
  msgid "Title Icons"
1203
  msgstr ""
1204
 
1205
+ #: templates/filter_post.php:489 templates/filter_post.php:495
1206
+ #: includes/paid.php:1676 templates/paid/filters_search_box.php:43
1207
  msgid "Before"
1208
  msgstr ""
1209
 
1210
+ #: templates/filter_post.php:490 templates/filter_post.php:496
1211
+ #: includes/paid.php:1677 templates/paid/filters_search_box.php:44
1212
  msgid "After"
1213
  msgstr ""
1214
 
1215
+ #: templates/filter_post.php:493
1216
  msgid "Value Icons"
1217
  msgstr ""
1218
 
1219
+ #: templates/filter_post.php:506
1220
  msgid "CSS Class"
1221
  msgstr ""
1222
 
1223
+ #: templates/filter_post.php:508
1224
  msgid "(use white space for multiple classes)"
1225
  msgstr ""
1226
 
1227
+ #: templates/filter_post.php:513
1228
  msgid "Tags Cloud Height:"
1229
  msgstr ""
1230
 
1231
+ #: templates/filter_post.php:517
1232
  msgid "Min Font Size:"
1233
  msgstr ""
1234
 
1235
+ #: templates/filter_post.php:521
1236
  msgid "Max Font Size:"
1237
  msgstr ""
1238
 
1239
+ #: templates/filter_post.php:525
1240
  msgid "Max Tags Count:"
1241
  msgstr ""
1242
 
1243
+ #: templates/filter_post.php:533
1244
  msgid "Use min price"
1245
  msgstr ""
1246
 
1247
+ #: templates/filter_post.php:542
1248
  msgid "Use max price"
1249
  msgstr ""
1250
 
1251
+ #: templates/filter_post.php:551
1252
  msgid "Filter Box Height:"
1253
  msgstr ""
1254
 
1255
+ #: templates/filter_post.php:555
1256
  msgid "Scroll Theme:"
1257
  msgstr ""
1258
 
1259
+ #: templates/filter_post.php:574
1260
  msgid "Show if nothing is selected"
1261
  msgstr ""
1262
 
1263
+ #: templates/filter_post.php:586 templates/filters_information.php:5
1264
  msgid "Hide this widget on load?"
1265
  msgstr ""
1266
 
1267
+ #: templates/filter_post.php:625
1268
  msgid "Widget Output Limitations"
1269
  msgstr ""
1270
 
1271
+ #: templates/filter_post.php:627
1272
  msgid "Product Category Value Limitation"
1273
  msgstr ""
1274
 
1275
+ #: templates/filter_post.php:655
1276
  msgid "Hide button"
1277
  msgstr ""
1278
 
1279
+ #: templates/filter_post.php:657
1280
  msgid "Do not hide"
1281
  msgstr ""
1282
 
1283
+ #: templates/filter_post.php:658
1284
  msgid "Hide only when no filters on page"
1285
  msgstr ""
1286
 
1287
+ #: templates/filter_post.php:659
1288
  msgid "Hide when no filters on page or page not filtered"
1289
  msgstr ""
1290
 
1347
  msgid "Select <strong>%s</strong> in option <strong>%s</strong>"
1348
  msgstr ""
1349
 
1350
+ #: templates/filters_information.php:7 includes/custom_post.php:352
1351
+ #: includes/display_filter/reset_button.php:10
1352
+ msgid "Reset Products button"
1353
+ msgstr ""
1354
+
1355
  #: templates/filters_information.php:8
1356
  msgid ""
1357
  "How to add update products button? (to filter products only after click on "
1358
  "button)"
1359
  msgstr ""
1360
 
1361
+ #: templates/filters_information.php:9 includes/custom_post.php:351
1362
+ #: includes/display_filter/update_button.php:10
1363
+ msgid "Update Products button"
1364
+ msgstr ""
1365
+
1366
  #: templates/filters_information.php:17
1367
  msgid ""
1368
  "Title will be displayed as widget title.<br>You can write text, that want to "
1415
  "sidebar, that displayed on shop page</strong>"
1416
  msgstr ""
1417
 
1418
+ #: includes/functions.php:764
1419
  msgid "Widget Title"
1420
  msgstr ""
1421
 
1422
+ #: includes/functions.php:776
1423
  msgid "Label(checkbox/radio)"
1424
  msgstr ""
1425
 
1426
+ #: includes/functions.php:788
1427
+ msgid "Drop-Down"
1428
  msgstr ""
1429
 
1430
+ #: includes/functions.php:800
1431
  msgid "Slider Inputs"
1432
  msgstr ""
1433
 
1434
+ #: includes/functions.php:812
1435
  msgid "Description Block"
1436
  msgstr ""
1437
 
1438
+ #: includes/functions.php:824
1439
+ msgid "Description Block Border"
1440
  msgstr ""
1441
 
1442
+ #: includes/functions.php:836
1443
+ msgid "Description Block Title"
1444
  msgstr ""
1445
 
1446
+ #: includes/functions.php:848
1447
+ msgid "Description Block Text"
1448
  msgstr ""
1449
 
1450
+ #: includes/functions.php:860
1451
  msgid "Selected filters area text"
1452
  msgstr ""
1453
 
1454
+ #: includes/functions.php:872
1455
+ msgid "Selected filters area mouse over the text"
1456
  msgstr ""
1457
 
1458
+ #: includes/functions.php:884
1459
+ msgid "Selected filters area link background"
1460
  msgstr ""
1461
 
1462
+ #: includes/functions.php:896
1463
+ msgid "Selected filters area link border"
1464
  msgstr ""
1465
 
1466
  #: includes/new_widget.php:5
1471
  msgid "AJAX Product Filters. Group of filters"
1472
  msgstr ""
1473
 
1474
+ #: includes/new_widget.php:106 includes/divi-builder.php:79
1475
+ #: includes/paid.php:282
1476
  msgid "Group"
1477
  msgstr ""
1478
 
1479
+ #: includes/new_widget.php:112 includes/divi-builder.php:70
1480
  msgid "--Please select group--"
1481
  msgstr ""
1482
 
1483
+ #: includes/new_widget.php:129
1484
  msgid "Create Group"
1485
  msgstr ""
1486
 
1487
+ #: includes/new_widget.php:136
1488
  msgid "AAPF Filter Single"
1489
  msgstr ""
1490
 
1491
+ #: includes/new_widget.php:137
1492
  msgid "AJAX Product Filters. Single Filter"
1493
  msgstr ""
1494
 
1495
+ #: includes/new_widget.php:266 includes/divi-builder.php:17
1496
  #: includes/visual-composer.php:10 includes/visual-composer.php:36
1497
  msgid "--Please select filter--"
1498
  msgstr ""
1613
  msgid "Data"
1614
  msgstr ""
1615
 
1616
+ #: includes/custom_post.php:353 includes/display_filter/selected_area.php:14
1617
+ msgid "Selected Filters area"
1618
+ msgstr ""
1619
+
1620
+ #: includes/custom_post.php:354 includes/paid.php:1505
1621
  msgid "Search Box (DEPRECATED)"
1622
  msgstr ""
1623
 
1625
  msgid "Widget type: "
1626
  msgstr ""
1627
 
1628
+ #: includes/custom_post.php:362 includes/paid.php:1474 includes/paid.php:1625
1629
+ msgid "Custom Taxonomy"
1630
+ msgstr ""
1631
+
1632
  #: includes/custom_post.php:369 includes/custom_post.php:386
1633
  msgid "Attribute: "
1634
  msgstr ""
1637
  msgid "Custom Taxonomy: "
1638
  msgstr ""
1639
 
1640
+ #: includes/custom_post.php:388 includes/paid.php:1478
1641
+ msgid "Stock status"
1642
+ msgstr ""
1643
+
1644
+ #: includes/custom_post.php:390 includes/paid.php:1470
1645
+ msgid "Product sub-categories"
1646
+ msgstr ""
1647
+
1648
+ #: includes/custom_post.php:399 includes/paid.php:1482
1649
+ msgid "Date"
1650
+ msgstr ""
1651
+
1652
+ #: includes/custom_post.php:401 includes/paid.php:1486
1653
+ msgid "Sale"
1654
+ msgstr ""
1655
+
1656
  #: includes/custom_post.php:515 includes/custom_post.php:517
1657
  #: includes/custom_post.php:518
1658
  msgid "Product Filter Group"
1715
  msgid "Hide this group on:"
1716
  msgstr ""
1717
 
1718
+ #: includes/custom_post.php:695 includes/paid.php:590 includes/paid.php:621
1719
+ #: addons/custom_sidebar/sidebar_include.php:37
1720
+ msgid "SHOW FILTERS"
 
 
 
1721
  msgstr ""
1722
 
1723
+ #: includes/paid.php:81
1724
+ msgid "Hide the Show/Hide value(s) button in the filters"
1725
  msgstr ""
1726
 
1727
+ #: includes/paid.php:88
1728
+ msgid "Thousands Separator"
1729
  msgstr ""
1730
 
1731
+ #: includes/paid.php:112
1732
+ msgid "Use links for checkboxes and radio filter"
1733
  msgstr ""
1734
 
1735
+ #: includes/paid.php:119
1736
+ msgid "Use noindex for links"
1737
  msgstr ""
1738
 
1739
+ #: includes/paid.php:125 includes/paid.php:137
1740
  msgid "Second+ levels"
1741
  msgstr ""
1742
 
1743
+ #: includes/paid.php:126 includes/paid.php:138
1744
  msgid "All levels"
1745
  msgstr ""
1746
 
1747
+ #: includes/paid.php:131
1748
+ msgid "Use nofollow for links"
1749
  msgstr ""
1750
 
1751
+ #: includes/paid.php:149
1752
+ msgid "Nice URLs"
1753
  msgstr ""
1754
 
1755
+ #: includes/paid.php:154
1756
  msgid ""
1757
  "Works only with SEO friendly urls. WordPress permalinks must be set to Post "
1758
  "name(Custom structure: /%postname%/ )"
1759
  msgstr ""
1760
 
1761
+ #: includes/paid.php:157
1762
+ msgid "Base Canonical URL"
1763
  msgstr ""
1764
 
1765
+ #: includes/paid.php:161
1766
  msgid "Use canonical tag without filters on WooCommerce pages"
1767
  msgstr ""
1768
 
1769
+ #: includes/paid.php:165 includes/paid.php:1667
1770
  #: templates/paid/filters_search_box.php:34
1771
  msgid "Elements position"
1772
  msgstr ""
1773
 
1774
+ #: includes/paid.php:167
1775
+ msgid "Show the number of products before filtering"
1776
  msgstr ""
1777
 
1778
+ #: includes/paid.php:173
1779
  msgid "Show products count before filtering, when using update button"
1780
  msgstr ""
1781
 
1782
+ #: includes/paid.php:179
1783
  msgid "Text that means products"
1784
  msgstr ""
1785
 
1786
+ #: includes/paid.php:185
1787
  msgid "Text for show button"
1788
  msgstr ""
1789
 
1790
+ #: includes/paid.php:198
1791
+ msgid "Data cache"
1792
+ msgstr ""
1793
+
1794
+ #: includes/paid.php:202
1795
+ msgid "Turned off"
1796
+ msgstr ""
1797
+
1798
+ #: includes/paid.php:203
1799
+ msgid "WordPress Cache"
1800
+ msgstr ""
1801
+
1802
+ #: includes/paid.php:204
1803
+ msgid "Persistent Cache Plugins"
1804
+ msgstr ""
1805
+
1806
+ #: includes/paid.php:215
1807
  msgid "Display variation image"
1808
  msgstr ""
1809
 
1810
+ #: includes/paid.php:219
1811
  msgid "Display variation image instead of product's when filtering"
1812
  msgstr ""
1813
 
1814
+ #: includes/paid.php:222
1815
  msgid "Display variation price"
1816
  msgstr ""
1817
 
1818
+ #: includes/paid.php:226
1819
  msgid "Display variation price instead of product's when filtering"
1820
  msgstr ""
1821
 
1822
+ #: includes/paid.php:229
1823
+ msgid "Remember variation options"
1824
+ msgstr ""
1825
+
1826
+ #: includes/paid.php:235
1827
+ msgid "Use variation options only after search"
1828
+ msgstr ""
1829
+
1830
+ #: includes/paid.php:247
1831
  msgid "Slider has a lot of values"
1832
  msgstr ""
1833
 
1834
+ #: includes/paid.php:251
1835
  msgid ""
1836
  "Enable it if slider has more than 250 values. Hierarchical taxonomy can work "
1837
  "incorrect with sliders"
1838
  msgstr ""
1839
 
1840
+ #: includes/paid.php:261
1841
+ msgid "Elements over products"
1842
  msgstr ""
1843
 
1844
+ #: includes/paid.php:286
1845
+ msgid "Add group"
1846
  msgstr ""
1847
 
1848
+ #: includes/paid.php:386 templates/paid/filters_group.php:68
1849
+ #: addons/custom_sidebar/sidebar_include.php:56
1850
+ msgid "Collapse Button style"
1851
  msgstr ""
1852
 
1853
+ #: includes/paid.php:406
1854
+ msgid "Collapse Button Icon style"
1855
  msgstr ""
1856
 
1857
+ #: includes/paid.php:479
1858
+ msgid "Search Box"
1859
  msgstr ""
1860
 
1861
+ #: includes/paid.php:490 includes/paid.php:1496
1862
  msgid "Ranges"
1863
  msgstr ""
1864
 
1865
+ #: includes/paid.php:561
1866
+ msgid "Hide \"Show/Hide value(s)\" button"
1867
+ msgstr ""
1868
+
1869
+ #: includes/paid.php:1576
1870
  msgid "Attributes"
1871
  msgstr ""
1872
 
1873
+ #: includes/paid.php:1579 templates/paid/filters_search_box.php:9
1874
  msgid "URL to search"
1875
  msgstr ""
1876
 
1877
+ #: includes/paid.php:1581 templates/paid/filters_search_box.php:11
1878
  msgid "Shop page"
1879
  msgstr ""
1880
 
1881
+ #: includes/paid.php:1582 templates/paid/filters_search_box.php:12
1882
  msgid "Category page"
1883
  msgstr ""
1884
 
1885
+ #: includes/paid.php:1583 templates/paid/filters_search_box.php:13
1886
  msgid "URL"
1887
  msgstr ""
1888
 
1889
+ #: includes/paid.php:1587 templates/paid/filters_search_box.php:17
1890
  msgid "Category"
1891
  msgstr ""
1892
 
1893
+ #: includes/paid.php:1597 templates/paid/filters_search_box.php:27
1894
  msgid "URL for search"
1895
  msgstr ""
1896
 
1897
+ #: includes/paid.php:1601
1898
  msgid "Attributes count"
1899
  msgstr ""
1900
 
1901
+ #: includes/paid.php:1664 templates/paid/filters_search_box.php:31
1902
  msgid "Styles"
1903
  msgstr ""
1904
 
1905
+ #: includes/paid.php:1669 templates/paid/filters_search_box.php:36
1906
  msgid "Vertical"
1907
  msgstr ""
1908
 
1909
+ #: includes/paid.php:1670 templates/paid/filters_search_box.php:37
1910
  msgid "Horizontal"
1911
  msgstr ""
1912
 
1913
+ #: includes/paid.php:1674 templates/paid/filters_search_box.php:41
1914
  msgid "Search button position"
1915
  msgstr ""
1916
 
1917
+ #: includes/paid.php:1678 templates/paid/filters_search_box.php:45
1918
  msgid "Before and after"
1919
  msgstr ""
1920
 
1921
+ #: includes/paid.php:1682 templates/paid/filters_search_box.php:49
1922
  msgid "Search button text"
1923
  msgstr ""
1924
 
1925
+ #: includes/paid.php:1686 templates/settings/design.php:705
1926
  #: templates/paid/filters_search_box.php:53
1927
  msgid "Background color"
1928
  msgstr ""
1929
 
1930
+ #: includes/paid.php:1691 templates/paid/filters_search_box.php:58
1931
  msgid "Background transparency"
1932
  msgstr ""
1933
 
1934
+ #: includes/paid.php:1695 templates/paid/filters_search_box.php:62
1935
  msgid "100%"
1936
  msgstr ""
1937
 
1938
+ #: includes/paid.php:1696 templates/paid/filters_search_box.php:63
1939
  msgid "90%"
1940
  msgstr ""
1941
 
1942
+ #: includes/paid.php:1697 templates/paid/filters_search_box.php:64
1943
  msgid "80%"
1944
  msgstr ""
1945
 
1946
+ #: includes/paid.php:1698 templates/paid/filters_search_box.php:65
1947
  msgid "70%"
1948
  msgstr ""
1949
 
1950
+ #: includes/paid.php:1699 templates/paid/filters_search_box.php:66
1951
  msgid "60%"
1952
  msgstr ""
1953
 
1954
+ #: includes/paid.php:1700 templates/paid/filters_search_box.php:67
1955
  msgid "50%"
1956
  msgstr ""
1957
 
1958
+ #: includes/paid.php:1701 templates/paid/filters_search_box.php:68
1959
  msgid "40%"
1960
  msgstr ""
1961
 
1962
+ #: includes/paid.php:1702 templates/paid/filters_search_box.php:69
1963
  msgid "30%"
1964
  msgstr ""
1965
 
1966
+ #: includes/paid.php:1703 templates/paid/filters_search_box.php:70
1967
  msgid "20%"
1968
  msgstr ""
1969
 
1970
+ #: includes/paid.php:1704 templates/paid/filters_search_box.php:71
1971
  msgid "10%"
1972
  msgstr ""
1973
 
1974
+ #: includes/paid.php:1705 templates/paid/filters_search_box.php:72
1975
  msgid "0%"
1976
  msgstr ""
1977
 
1978
+ #: includes/paid.php:1716 templates/paid/filters_search_box.php:83
1979
  msgid "Button background color"
1980
  msgstr ""
1981
 
1982
+ #: includes/paid.php:1721 templates/paid/filters_search_box.php:88
1983
  msgid "Button background color on mouse over"
1984
  msgstr ""
1985
 
1986
+ #: includes/paid.php:1726 templates/paid/filters_search_box.php:93
1987
  msgid "Button text color"
1988
  msgstr ""
1989
 
1990
+ #: includes/paid.php:1731 templates/paid/filters_search_box.php:98
1991
  msgid "Button text color on mouse over"
1992
  msgstr ""
1993
 
1994
+ #: includes/paid.php:1744
1995
  msgid "Child/Parent Limitation"
1996
  msgstr ""
1997
 
1998
+ #: includes/paid.php:1747
1999
  msgid "Child Count"
2000
  msgstr ""
2001
 
2002
+ #: includes/paid.php:1748
2003
  msgid "Parent"
2004
  msgstr ""
2005
 
2006
+ #: includes/paid.php:1749 includes/paid.php:1785
2007
  msgid "Child"
2008
  msgstr ""
2009
 
2010
+ #: includes/paid.php:1753
2011
  msgid "Child depth"
2012
  msgstr ""
2013
 
2014
+ #: includes/paid.php:1756 includes/paid.php:1795
2015
  msgid "\"No values\" messages"
2016
  msgstr ""
2017
 
2018
+ #: includes/paid.php:1760 includes/paid.php:1799
2019
  msgid "\"Select previous\" messages"
2020
  msgstr ""
2021
 
2022
+ #: includes/paid.php:1764
2023
  msgid "\"No Products\" messages"
2024
  msgstr ""
2025
 
2026
+ #: includes/paid.php:1769
2027
  msgid "Child count"
2028
  msgstr ""
2029
 
2030
+ #: includes/paid.php:1791
2031
  msgid "\"No products\" messages"
2032
  msgstr ""
2033
 
2034
+ #: includes/paid.php:1812
2035
  msgid "Date Month Dropdown menu"
2036
  msgstr ""
2037
 
2038
+ #: includes/paid.php:1818
2039
  msgid "Date Year Dropdown menu"
2040
  msgstr ""
2041
 
2042
+ #: includes/paid.php:1822
2043
  msgid "Date visual style"
2044
  msgstr ""
2045
 
2046
+ #: includes/paid.php:1863
2047
  msgid "Display only"
2048
  msgstr ""
2049
 
2050
+ #: includes/paid.php:1864
2051
  msgid "Remove"
2052
  msgstr ""
2053
 
2054
+ #: includes/paid.php:1866
2055
  msgid "values selected in Include / Exclude List"
2056
  msgstr ""
2057
 
2058
+ #: includes/paid.php:1888
2059
+ msgid "Use as numeric"
 
 
 
 
 
 
 
 
 
 
 
2060
  msgstr ""
2061
 
2062
+ #: includes/paid.php:1901
2063
  msgid "Show product count per attribute value?"
2064
  msgstr ""
2065
 
2066
+ #: includes/paid.php:1912
2067
  msgid "Values per row"
2068
  msgstr ""
2069
 
2070
+ #: includes/paid.php:2049 includes/paid.php:2894
2071
+ #: includes/widget_functions.php:189 includes/widget_functions.php:462
2072
+ #: addons/deprecated_compat/widget.php:1756
2073
+ #: addons/deprecated_compat/widget.php:2029
2074
  msgid "In stock"
2075
  msgstr ""
2076
 
2077
+ #: includes/paid.php:2056 includes/paid.php:2895
2078
+ #: includes/widget_functions.php:190 includes/widget_functions.php:463
2079
+ #: addons/deprecated_compat/widget.php:1757
2080
+ #: addons/deprecated_compat/widget.php:2030
2081
  msgid "Out of stock"
2082
  msgstr ""
2083
 
2084
+ #: includes/paid.php:2076 includes/paid.php:2898
2085
  msgid "On sale"
2086
  msgstr ""
2087
 
2088
+ #: includes/paid.php:2083 includes/paid.php:2899
2089
  msgid "Not on sale"
2090
  msgstr ""
2091
 
2092
+ #: includes/paid.php:3051
2093
  msgid "Nice URLs settings"
2094
  msgstr ""
2095
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2096
  #. Author of the plugin
2097
  #: includes/visual-composer.php:21 includes/visual-composer.php:47
2098
  msgid "BeRocket"
2239
  msgstr ""
2240
 
2241
  #: templates/settings/design.php:703
2242
+ msgid "Product count description before filtering with Apply Filters button"
2243
  msgstr ""
2244
 
2245
  #: templates/settings/design.php:707
2279
  msgstr ""
2280
 
2281
  #: templates/settings/design.php:881
2282
+ msgid "Loading icon"
2283
  msgstr ""
2284
 
2285
  #: templates/settings/design.php:889
2286
+ msgid "Loading icon text"
2287
  msgstr ""
2288
 
2289
  #: templates/settings/design.php:891
2291
  msgstr ""
2292
 
2293
  #: templates/settings/design.php:894
2294
+ msgid "Below:"
2295
  msgstr ""
2296
 
2297
  #: templates/settings/design.php:897
2303
  msgstr ""
2304
 
2305
  #: templates/settings/design.php:906
2306
+ msgid "Show and hide description"
2307
  msgstr ""
2308
 
2309
  #: templates/settings/design.php:908
2310
+ msgid "Show when user:"
2311
  msgstr ""
2312
 
2313
  #: templates/settings/design.php:910
2315
  msgstr ""
2316
 
2317
  #: templates/settings/design.php:911
2318
+ msgid "Hovering over the icon"
2319
  msgstr ""
2320
 
2321
  #: templates/settings/design.php:915
2322
+ msgid "Hide when user:"
2323
  msgstr ""
2324
 
2325
  #: templates/settings/design.php:917
2327
  msgstr ""
2328
 
2329
  #: templates/settings/design.php:918
2330
+ msgid "Move cursor outside the icon"
2331
  msgstr ""
2332
 
2333
  #: templates/settings/design.php:925
2334
+ msgid "Product quantity style"
2335
  msgstr ""
2336
 
2337
  #: templates/settings/design.php:928
2367
  msgstr ""
2368
 
2369
  #: templates/settings/design.php:952
2370
+ msgid "Indent option for hierarchy in Drop-Down"
2371
  msgstr ""
2372
 
2373
  #: templates/settings/design.php:955
2420
  msgid "Display on mouse over and hide on mouse leave"
2421
  msgstr ""
2422
 
2423
+ #: templates/paid/filters_group.php:61
2424
+ msgid "Collapsed on page load"
2425
+ msgstr ""
2426
+
2427
+ #: templates/paid/filters_group.php:64
2428
+ msgid ""
2429
+ "Collapse group on page load and show icon instead. When icon is clicked "
2430
+ "filters will be shown"
2431
+ msgstr ""
2432
+
2433
  #: templates/paid/filters_search_box.php:4
2434
  msgid "Use Group as Search Box"
2435
  msgstr ""
2436
 
2437
  #: addons/filtering_conditions/filtering_conditions.php:9
2438
  #: addons/filtering_conditions/add_conditions.php:39
2439
+ msgid "Nested Filters (BETA)"
2440
+ msgstr ""
2441
+
2442
+ #: addons/filtering_conditions/filtering_conditions.php:10
2443
+ msgid ""
2444
+ "The ability to set conditions for the filters based on other filters status"
2445
  msgstr ""
2446
 
2447
  #: addons/filtering_conditions/add_conditions.php:47
2449
  "Use this to display products only after filtering by some attribute and value"
2450
  msgstr ""
2451
 
2452
+ #: addons/custom_sidebar/custom_sidebar.php:9
2453
+ msgid "Custom Sidebar"
2454
+ msgstr ""
2455
+
2456
+ #: addons/custom_sidebar/sidebar_include.php:52
2457
+ msgid "Custom Sidebar Styles"
2458
+ msgstr ""
2459
+
2460
+ #: addons/custom_sidebar/sidebar_include.php:65
2461
+ msgid "First"
2462
+ msgstr ""
2463
+
2464
+ #: addons/custom_sidebar/sidebar_include.php:66
2465
+ msgid "Second"
2466
+ msgstr ""
2467
+
2468
+ #: addons/custom_sidebar/sidebar_include.php:67
2469
+ msgid "Third"
2470
+ msgstr ""
2471
+
2472
+ #: addons/custom_sidebar/sidebar_include.php:68
2473
+ msgid "Fourth"
2474
+ msgstr ""
2475
+
2476
+ #: addons/custom_sidebar/sidebar_include.php:69
2477
+ msgid "Fifth"
2478
+ msgstr ""
2479
+
2480
+ #: addons/custom_sidebar/sidebar_include.php:70
2481
+ msgid "Sixth"
2482
+ msgstr ""
2483
+
2484
+ #: addons/custom_sidebar/sidebar_include.php:90
2485
+ msgid "BeRocket AJAX Filters"
2486
+ msgstr ""
2487
+
2488
+ #: addons/custom_sidebar/sidebar_include.php:92
2489
+ msgid "Sidebar for BeRocket AJAX Filters"
2490
+ msgstr ""
2491
+
2492
+ #: addons/custom_sidebar/sidebar_include.php:103
2493
+ msgid "Close &#10005;"
2494
+ msgstr ""
2495
+
2496
+ #: addons/divi_theme_compat/divi_theme_compat.php:21
2497
+ msgid "DIVI Theme Compatibility"
2498
+ msgstr ""
2499
+
2500
+ #: addons/divi_theme_compat/divi_theme_compat.php:23
2501
+ msgid ""
2502
+ "Replace DIVI products module with custom products module, that has "
2503
+ "additional option. Provide better compatibility with filters"
2504
+ msgstr ""
2505
+
2506
+ #: addons/deprecated_compat/deprecated_compat.php:9
2507
+ msgid "Deprecated Widget"
2508
+ msgstr ""
2509
+
2510
+ #: addons/deprecated_compat/deprecated_compat.php:11
2511
+ msgid ""
2512
+ "<span style=\"color: red;\">DO NOT USE<br>IT WILL BE REMOVED IN THE "
2513
+ "FUTURE</span><br>Uses for compatibility with old filters"
2514
+ msgstr ""
2515
+
2516
+ #: addons/deprecated_compat/widget.php:124
2517
+ #: includes/filters/display_widget.php:123
2518
+ msgid "Add Filters to Products page"
2519
+ msgstr ""
2520
+
2521
+ #: addons/deprecated_compat/widget.php:130
2522
+ #: includes/filters/display_widget.php:129
2523
+ msgid "AJAX Product Filters (Deprecated)"
2524
+ msgstr ""
2525
+
2526
+ #: addons/deprecated_compat/widget.php:550
2527
+ #: includes/filters/display_widget.php:445
2528
+ msgid "1 star"
2529
+ msgstr ""
2530
+
2531
+ #: addons/deprecated_compat/widget.php:550
2532
+ #: includes/filters/display_widget.php:445
2533
+ msgid ""
2534
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-"
2535
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2536
+ msgstr ""
2537
+
2538
+ #: addons/deprecated_compat/widget.php:553
2539
+ #: includes/filters/display_widget.php:446
2540
+ msgid "2 stars"
2541
+ msgstr ""
2542
+
2543
+ #: addons/deprecated_compat/widget.php:553
2544
+ #: includes/filters/display_widget.php:446
2545
+ msgid ""
2546
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2547
+ "star-o\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2548
+ msgstr ""
2549
+
2550
+ #: addons/deprecated_compat/widget.php:556
2551
+ #: includes/filters/display_widget.php:447
2552
+ msgid "3 stars"
2553
+ msgstr ""
2554
+
2555
+ #: addons/deprecated_compat/widget.php:556
2556
+ #: includes/filters/display_widget.php:447
2557
+ msgid ""
2558
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2559
+ "star\"></i><i class=\"fa fa-star-o\"></i><i class=\"fa fa-star-o\"></i>"
2560
+ msgstr ""
2561
+
2562
+ #: addons/deprecated_compat/widget.php:559
2563
+ #: includes/filters/display_widget.php:448
2564
+ msgid "4 stars"
2565
+ msgstr ""
2566
+
2567
+ #: addons/deprecated_compat/widget.php:559
2568
+ #: includes/filters/display_widget.php:448
2569
+ msgid ""
2570
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2571
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star-o\"></i>"
2572
+ msgstr ""
2573
+
2574
+ #: addons/deprecated_compat/widget.php:562
2575
+ #: includes/filters/display_widget.php:449
2576
+ msgid "5 stars"
2577
+ msgstr ""
2578
+
2579
+ #: addons/deprecated_compat/widget.php:562
2580
+ #: includes/filters/display_widget.php:449
2581
+ msgid ""
2582
+ "<i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-"
2583
+ "star\"></i><i class=\"fa fa-star\"></i><i class=\"fa fa-star\"></i>"
2584
+ msgstr ""
2585
+
2586
  #: addons/separate_link/separate_vars.php:27
2587
  msgid "Default operator for URLs"
2588
  msgstr ""
2596
  msgstr ""
2597
 
2598
  #: addons/separate_link/separate_vars.php:35
2599
+ msgid "Default operator will not be added to the URL"
2600
  msgstr ""
2601
 
2602
  #: addons/separate_link/separate_link.php:9
2603
+ msgid "Link like WooCommerce (BETA)"
2604
+ msgstr ""
2605
+
2606
+ #: addons/separate_link/separate_link.php:10
2607
+ msgid ""
2608
+ "Links after filtering will look like Woocommerce.<br>\n"
2609
+ " <i>Example:</i><br><span style=\"color: #aaf;\">https://example."
2610
+ "com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-"
2611
+ "product_cat=dress</span>\n"
2612
+ " <a class=\"button\" href=\"https://docs.berocket."
2613
+ "com/docs_section/link-like-woocommerce-beta\" target=\"_blank\">Read more</a>"
2614
  msgstr ""
2615
 
2616
  #: addons/additional_tables/additional_tables.php:59
main.php CHANGED
@@ -13,6 +13,7 @@ require_once dirname( __FILE__ ) . '/wizard/main.php';
13
  include_once(plugin_dir_path( __FILE__ ) . "includes/compatibility/product-table.php");
14
  $br_aapf_debugs = array();
15
  include_once(plugin_dir_path( __FILE__ ) . "libraries/link_parser.php");
 
16
  class BeRocket_AAPF extends BeRocket_Framework {
17
  public static $settings_name = 'br_filters_options';
18
  public $info, $defaults, $values, $notice_array, $conditions;
@@ -87,6 +88,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
87
  'control_sorting' => '1',
88
  'seo_friendly_urls' => '1',
89
  'seo_uri_decode' => '1',
 
90
  'slug_urls' => '',
91
  'seo_meta_title' => '',
92
  'seo_element_title' => '',
@@ -94,7 +96,6 @@ class BeRocket_AAPF extends BeRocket_Framework {
94
  'seo_element_description' => '',
95
  'seo_meta_title_visual' => 'BeRocket_AAPF_wcseo_title_visual1',
96
  'filters_turn_off' => '',
97
- 'show_all_values' => '1',
98
  'hide_value' => array(
99
  'o' => '1',
100
  'sel' => '',
@@ -106,7 +107,6 @@ class BeRocket_AAPF extends BeRocket_Framework {
106
  'first_page_jump' => '1',
107
  'scroll_shop_top' => '',
108
  'scroll_shop_top_px' => '-180',
109
- 'recount_products' => '1',
110
  'selected_area_show' => '',
111
  'selected_area_hide_empty' => '',
112
  'products_only' => '1',
@@ -197,6 +197,9 @@ class BeRocket_AAPF extends BeRocket_Framework {
197
  }
198
  parent::__construct( $this );
199
 
 
 
 
200
  if ( ! function_exists('is_network_admin') || ! is_network_admin() ) {
201
  if( $this->check_framework_version() ) {
202
  if ( $this->init_validation() ) {
@@ -237,11 +240,11 @@ class BeRocket_AAPF extends BeRocket_Framework {
237
  }
238
 
239
  if ( isset($_GET['explode']) && $_GET['explode'] == 'explode') {
240
- add_action( 'woocommerce_before_template_part', array( 'BeRocket_AAPF_Widget', 'pre_get_posts'), 999999 );
241
- add_action( 'wp_footer', array( 'BeRocket_AAPF_Widget', 'end_clean'), 999999 );
242
- add_action( 'init', array( 'BeRocket_AAPF_Widget', 'start_clean'), 1 );
243
  } else {
244
- add_action( 'woocommerce_before_template_part', array( 'BeRocket_AAPF_Widget', 'rebuild'), 999999 );
245
  }
246
  if ( ! empty($option['selected_area_show']) ) {
247
  add_action ( br_get_value_from_array($option, 'elements_position_hook', 'woocommerce_archive_description'), array($this, 'selected_area'), 1 );
@@ -249,6 +252,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
249
  if( ! empty($option['ajax_site']) ) {
250
  add_action( 'wp_enqueue_scripts', array( $this, 'include_all_scripts' ) );
251
  }
 
252
  add_filter( 'is_active_sidebar', array($this, 'is_active_sidebar'), 10, 2);
253
  if( ! empty($option['child_pre_indent']) ) {
254
  add_filter('berocket_aapf_select_term_child_prefix', array($this, 'select_term_child_prefix'));
@@ -339,6 +343,13 @@ class BeRocket_AAPF extends BeRocket_Framework {
339
  return $notices;
340
  }
341
  public function init () {
 
 
 
 
 
 
 
342
  parent::init();
343
  $option = $this->get_option();
344
  if( ! empty($option['use_tax_for_price']) ) {
@@ -348,7 +359,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
348
  wp_dequeue_style( 'font-awesome' );
349
  }
350
  global $wp_query;
351
- if ( apply_filters( 'berocket_aapf_is_filtered_page_check', ! empty($_GET['filters']), 'get_filter_args', $wp_query ) ) {
352
  if(!session_id()) {
353
  session_start();
354
  }
@@ -421,7 +432,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
421
  ),
422
  'Addons' => array(
423
  'icon' => 'plus',
424
- 'name' => __( 'Addons', "BeRocket_AJAX_domain" )
425
  ),
426
  ),
427
  array(
@@ -443,42 +454,19 @@ class BeRocket_AAPF extends BeRocket_Framework {
443
  "value" => $this->defaults["products_per_page"]
444
  ),
445
  'attribute_count' => array(
446
- "label" => __( 'Attribute Values count', "BeRocket_AJAX_domain" ),
447
  "type" => "number",
448
  "name" => "attribute_count",
449
  "value" => $this->defaults["attribute_count"],
450
- 'label_for' => '<br>' . __( 'Attribute Values count that will be displayed. Other values will be hidden and can be displayed by pressing the button. Option <strong>Hide "Show/Hide value(s)" button</strong> must be disabled', 'BeRocket_AJAX_domain' ),
451
  ),
452
  'control_sorting' => array(
453
- "label" => __( 'Sorting control', "BeRocket_AJAX_domain" ),
454
  "type" => "checkbox",
455
  "name" => "control_sorting",
456
  "value" => '1',
457
  'label_for' => __("Take control over WooCommerce's sorting selectbox?", 'BeRocket_AJAX_domain'),
458
  ),
459
- 'hide_values' => array(
460
- 'label' => __('Hide values', 'BeRocket_AJAX_domain'),
461
- 'items' => array(
462
- 'hide_value_o' => array(
463
- "type" => "checkbox",
464
- "name" => array("hide_value", 'o'),
465
- "value" => '1',
466
- 'label_for' => __("Hide values without products", 'BeRocket_AJAX_domain'),
467
- ),
468
- 'hide_value_sel' => array(
469
- "type" => "checkbox",
470
- "name" => array("hide_value", 'sel'),
471
- "value" => '1',
472
- 'label_for' => __("Hide selected values", 'BeRocket_AJAX_domain'),
473
- ),
474
- 'hide_value_empty' => array(
475
- "type" => "checkbox",
476
- "name" => array("hide_value", 'empty'),
477
- "value" => '1',
478
- 'label_for' => __("Hide empty widget", 'BeRocket_AJAX_domain'),
479
- ),
480
- ),
481
- ),
482
  'first_page_jump' => array(
483
  "label" => __( 'Jump to first page', "BeRocket_AJAX_domain" ),
484
  "type" => "checkbox",
@@ -487,7 +475,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
487
  'label_for' => __("Check if you want load first page after filters change", 'BeRocket_AJAX_domain'),
488
  ),
489
  'scroll_shop_top' => array(
490
- "label" => __( 'Scroll page to the top', "BeRocket_AJAX_domain" ),
491
  "items" => array(
492
  'scroll_shop_top' => array(
493
  "label" => __( 'Selected filters position', "BeRocket_AJAX_domain" ),
@@ -511,6 +499,43 @@ class BeRocket_AAPF extends BeRocket_Framework {
511
  )
512
  ),
513
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
514
  'select2' => array(
515
  "label" => __( 'Select2', "BeRocket_AJAX_domain" ),
516
  'items' => array(
@@ -530,14 +555,6 @@ class BeRocket_AAPF extends BeRocket_Framework {
530
  ),
531
  )
532
  ),
533
- 'recount_products' => array(
534
- "label" => __( 'Reload amount of products', "BeRocket_AJAX_domain" ),
535
- "type" => "checkbox",
536
- "name" => "recount_products",
537
- "value" => '1',
538
- "class" => "reload_amount_of_products",
539
- 'label_for' => __('Use filters on products count display', 'BeRocket_AJAX_domain') . '<p class="notice notice-error">' . __("Can slow down page load and filtering speed. Also do not use it with more then 5000 products.", 'BeRocket_AJAX_domain') . '</p>',
540
- ),
541
  ),
542
  'Elements' => array(
543
  'elements_position_hook' => array(
@@ -552,7 +569,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
552
  "value" => 'woocommerce_archive_description',
553
  ),
554
  'selected_area' => array(
555
- "label" => __( 'Show selected filters', "BeRocket_AJAX_domain" ),
556
  'items' => array(
557
  'selected_area_show' => array(
558
  "type" => "checkbox",
@@ -577,7 +594,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
577
  "value" => "",
578
  ),
579
  'products_holder_id' => array(
580
- "label" => __( 'Products selector', "BeRocket_AJAX_domain" ),
581
  "type" => "text",
582
  "name" => 'products_holder_id',
583
  "value" => $this->defaults["products_holder_id"],
@@ -585,7 +602,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
585
  'label_for' => '<br>' . __("Selector for tag that is holding products. Don't change this if you don't know what it is", 'BeRocket_AJAX_domain'),
586
  ),
587
  'result_count' => array(
588
- "label" => __( 'Product count selector', "BeRocket_AJAX_domain" ),
589
  "items" => array(
590
  "woocommerce_result_count_class" => array(
591
  "type" => "text",
@@ -603,7 +620,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
603
  ),
604
  ),
605
  'ordering' => array(
606
- "label" => __( 'Product order by selector', "BeRocket_AJAX_domain" ),
607
  "items" => array(
608
  "woocommerce_ordering_class" => array(
609
  "type" => "text",
@@ -620,7 +637,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
620
  ),
621
  ),
622
  'pagination' => array(
623
- "label" => __( 'Products pagination selector', "BeRocket_AJAX_domain" ),
624
  "items" => array(
625
  "woocommerce_pagination_class" => array(
626
  "type" => "text",
@@ -646,7 +663,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
646
  ),
647
  'SEO' => array(
648
  'seo_friendly_urls' => array(
649
- "label" => __( 'Update URL on filtering', "BeRocket_AJAX_domain" ),
650
  "type" => "checkbox",
651
  "name" => "seo_friendly_urls",
652
  "value" => '1',
@@ -662,7 +679,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
662
  'label_for' => __("Use attribute slug instead ID", 'BeRocket_AJAX_domain'),
663
  ),
664
  'seo_uri_decode' => array(
665
- "label" => __( 'URL decode', "BeRocket_AJAX_domain" ),
666
  "type" => "checkbox",
667
  "name" => "seo_uri_decode",
668
  "value" => '1',
@@ -678,7 +695,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
678
  'label_for' => __("Meta Description, Page title and Page Header with filters", 'BeRocket_AJAX_domain'),
679
  ),
680
  'seo_meta_title_elements' => array(
681
- "label" => __( 'SEO Meta, Title Elements', "BeRocket_AJAX_domain" ),
682
  "tr_class" => "berocket_seo_meta_title_elements",
683
  "items" => array(
684
  "seo_element_title" => array(
@@ -702,7 +719,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
702
  ),
703
  ),
704
  'seo_meta_title_visual' => array(
705
- "label" => __( 'Selected filters position', "BeRocket_AJAX_domain" ),
706
  "tr_class" => "berocket_seo_meta_title_elements",
707
  "name" => "seo_meta_title_visual",
708
  "type" => "selectbox",
@@ -716,13 +733,6 @@ class BeRocket_AAPF extends BeRocket_Framework {
716
  ),
717
  ),
718
  'Advanced' => array(
719
- 'pos_relative' => array(
720
- "label" => __( 'Add position relative to products holder', "BeRocket_AJAX_domain" ),
721
- "type" => "checkbox",
722
- "name" => "pos_relative",
723
- "value" => '1',
724
- 'label_for' => __('Fix for correct displaying loading block', 'BeRocket_AJAX_domain'),
725
- ),
726
  'no_products_class' => array(
727
  "label" => __( '"No Products" class', "BeRocket_AJAX_domain" ),
728
  "type" => "text",
@@ -730,20 +740,6 @@ class BeRocket_AAPF extends BeRocket_Framework {
730
  "value" => $this->defaults["no_products_class"],
731
  'label_for' => '<br>' . __('Add class and use it to style "No Products" box', 'BeRocket_AJAX_domain'),
732
  ),
733
- 'filters_turn_off' => array(
734
- "label" => __( 'Turn all filters off', "BeRocket_AJAX_domain" ),
735
- "type" => "checkbox",
736
- "name" => "filters_turn_off",
737
- "value" => '1',
738
- 'label_for' => __("If you want to hide filters without losing current configuration just turn them off", 'BeRocket_AJAX_domain'),
739
- ),
740
- 'show_all_values' => array(
741
- "label" => __( 'Show all values', "BeRocket_AJAX_domain" ),
742
- "type" => "checkbox",
743
- "name" => "show_all_values",
744
- "value" => '1',
745
- 'label_for' => __('Check if you want to show not used attribute values too', 'BeRocket_AJAX_domain'),
746
- ),
747
  'products_only' => array(
748
  "label" => __( 'Display products', "BeRocket_AJAX_domain" ),
749
  "type" => "checkbox",
@@ -751,8 +747,35 @@ class BeRocket_AAPF extends BeRocket_Framework {
751
  "value" => '1',
752
  'label_for' => __('Display always products when filters selected. Use this when you have categories and subcategories on shop pages, but you want to display products on filtering', 'BeRocket_AJAX_domain'),
753
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  'out_of_stock_variable' => array(
755
- "label" => __( 'Hide out of stock variable', "BeRocket_AJAX_domain" ),
756
  "items" => array(
757
  "out_of_stock_variable" => array(
758
  "type" => "selectbox",
@@ -782,12 +805,16 @@ class BeRocket_AAPF extends BeRocket_Framework {
782
  ),
783
  ),
784
  ),
785
- 'use_get_query' => array(
786
- "label" => __('GET query', 'BeRocket_AJAX_domain'),
 
 
 
 
787
  "type" => "checkbox",
788
- "name" => "use_get_query",
789
  "value" => '1',
790
- 'label_for' => __('Use GET query instead POST for filtering', 'BeRocket_AJAX_domain') . '<br>',
791
  ),
792
  'styles_in_footer' => array(
793
  "label" => __( 'Display styles only for pages with filters', "BeRocket_AJAX_domain" ),
@@ -797,7 +824,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
797
  'label_for' => __('On some sites it can cause some visual problem on page loads', 'BeRocket_AJAX_domain'),
798
  ),
799
  'product_per_row' => array(
800
- "label" => __( 'Product per row fix', "BeRocket_AJAX_domain" ),
801
  "type" => "number",
802
  "name" => "product_per_row",
803
  "value" => $this->defaults["product_per_row"],
@@ -811,62 +838,25 @@ class BeRocket_AAPF extends BeRocket_Framework {
811
  'label_for' => __('Add JavaScript files to all pages.', 'BeRocket_AJAX_domain'),
812
  ),
813
  'search_fix' => array(
814
- "label" => __( 'Search page fix', "BeRocket_AJAX_domain" ),
815
  "type" => "checkbox",
816
  "name" => "search_fix",
817
  "value" => '1',
818
  'label_for' => __('Disable redirection, when search page return only one product', 'BeRocket_AJAX_domain'),
819
  ),
820
  'tags_custom' => array(
821
- "label" => __( 'Use Tags like custom taxonomy', "BeRocket_AJAX_domain" ),
822
  "type" => "checkbox",
823
  "name" => "tags_custom",
824
  "value" => '1',
825
  'label_for' => __('Try to enable this if widget with tags didn\'t work.', 'BeRocket_AJAX_domain'),
826
  ),
827
- 'use_tax_for_price' => array(
828
- "label" => __( 'Use Tax options for price', "BeRocket_AJAX_domain" ),
829
- "label_for"=> __( 'Only Standard tax rates will be applied for prices', "BeRocket_AJAX_domain" ),
830
- "name" => "use_tax_for_price",
831
- "type" => "selectbox",
832
- "options" => array(
833
- array('value' => '', 'text' => __('Do not use (filter price as it is set in products)', 'BeRocket_AJAX_domain')),
834
- array('value' => 'var1', 'text' => __('Use tax options', 'BeRocket_AJAX_domain')),
835
- ),
836
- "value" => '',
837
- ),
838
- 'global_font_awesome_disable' => array(
839
- "label" => __( 'Disable Font Awesome', "BeRocket_AJAX_domain" ),
840
- "type" => "checkbox",
841
- "name" => "fontawesome_frontend_disable",
842
- "value" => '1',
843
- 'label_for' => __('Don\'t loading css file for Font Awesome on site front end. Use it only if you doesn\'t uses Font Awesome icons in widgets or you have Font Awesome in your theme.', 'BeRocket_AJAX_domain'),
844
- ),
845
- 'global_fontawesome_version' => array(
846
- "label" => __( 'Font Awesome Version', "BeRocket_AJAX_domain" ),
847
- "name" => "fontawesome_frontend_version",
848
- "type" => "selectbox",
849
- "options" => array(
850
- array('value' => '', 'text' => __('Font Awesome 4', 'BeRocket_AJAX_domain')),
851
- array('value' => 'fontawesome5', 'text' => __('Font Awesome 5', 'BeRocket_AJAX_domain')),
852
- ),
853
- "value" => '',
854
- "label_for" => __('Version of Font Awesome that will be used on front end. Please select version that you have in your theme', 'BeRocket_AJAX_domain'),
855
- ),
856
- /*'disable_font_awesome' => array(
857
- "label" => __( 'Disable loading Font Awesome on front end', "BeRocket_AJAX_domain" ),
858
  "type" => "checkbox",
859
- "name" => "disable_font_awesome",
860
  "value" => '1',
861
- 'label_for' => __('Don\'t loading css file for Font Awesome on site front end. Use this only if you doesn\'t uses Font Awesome icons in widgets or you have Font Awesome in your theme.', 'BeRocket_AJAX_domain'),
862
- ),*/
863
- 'purge_cache' => array(
864
- "section" => "purge_cache",
865
- "value" => "",
866
- ),
867
- 'replace_old_widget' => array(
868
- "section" => "replace_old_widget",
869
- "value" => "",
870
  ),
871
  'alternative_load' => array(
872
  "label" => __( 'Alternative Load (DEPRECATED)', "BeRocket_AJAX_domain" ),
@@ -894,17 +884,24 @@ class BeRocket_AAPF extends BeRocket_Framework {
894
  ),
895
  ),
896
  ),
897
- 'page_same_as_filter' => array(
898
- "label" => __( 'Page same as filter', "BeRocket_AJAX_domain" ),
899
- "name" => "page_same_as_filter",
900
- "type" => "selectbox",
901
- "options" => array(
902
- array('value' => '', 'text' => __('Default', 'BeRocket_AJAX_domain')),
903
- array('value' => 'remove', 'text' => __('Remove value', 'BeRocket_AJAX_domain')),
904
- array('value' => 'leave', 'text' => __('Leave only one value', 'BeRocket_AJAX_domain')),
905
- ),
906
- "value" => '',
907
- "label_for" => __('On Category, Tag, Attribute page filter for it will remove value or leave only one value', 'BeRocket_AJAX_domain'),
 
 
 
 
 
 
 
908
  ),
909
  ),
910
  'Design' => array(
@@ -914,6 +911,24 @@ class BeRocket_AAPF extends BeRocket_Framework {
914
  ),
915
  ),
916
  'JavaScript/CSS' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
917
  'before_update' => array(
918
  "label" => __( 'Before Update:', "BeRocket_AJAX_domain" ),
919
  "type" => "textarea",
@@ -922,7 +937,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
922
  "label_for" => __( "If you want to add own actions on filter activation, eg: alert('1');", "BeRocket_AJAX_domain" ),
923
  ),
924
  'on_update' => array(
925
- "label" => __( 'On Update:', "BeRocket_AJAX_domain" ),
926
  "type" => "textarea",
927
  "name" => array("user_func", "on_update"),
928
  "value" => $this->defaults["user_func"]["on_update"],
@@ -1083,7 +1098,7 @@ class BeRocket_AAPF extends BeRocket_Framework {
1083
  $html = '</table>
1084
  <table class="form-table">
1085
  <tr>
1086
- <th colspan="2">' . __('User custom CSS style:', 'BeRocket_AJAX_domain') . '</th>
1087
  </tr>
1088
  <tr>
1089
  <td style="width:600px;">
@@ -1163,23 +1178,23 @@ class BeRocket_AAPF extends BeRocket_Framework {
1163
  $html .= "
1164
  <script>
1165
  function out_of_stock_variable_reload_hide() {
1166
- if( jQuery('.reload_amount_of_products').prop('checked') && parseInt(jQuery('.out_of_stock_variable').val()) ) {
1167
  jQuery('.out_of_stock_variable_reload').parent().show();
1168
  } else {
1169
  jQuery('.out_of_stock_variable_reload').parent().hide();
1170
  }
1171
  }
1172
  out_of_stock_variable_reload_hide();
1173
- jQuery('.reload_amount_of_products, .out_of_stock_variable').on('change', out_of_stock_variable_reload_hide);
1174
  function out_of_stock_variable_single_hide() {
1175
- if( jQuery('.reload_amount_of_products').prop('checked') && parseInt(jQuery('.out_of_stock_variable').val()) && jQuery('.out_of_stock_variable_reload').prop('checked') ) {
1176
  jQuery('.out_of_stock_variable_single').parent().show();
1177
  } else {
1178
  jQuery('.out_of_stock_variable_single').parent().hide();
1179
  }
1180
  }
1181
  out_of_stock_variable_single_hide();
1182
- jQuery('.reload_amount_of_products, .out_of_stock_variable, .out_of_stock_variable_reload').on('change', out_of_stock_variable_single_hide);
1183
  function load_fix_ajax_request_load() {
1184
  if( jQuery('.load_fix_ajax_request_load').prop('checked') ) {
1185
  jQuery('.load_fix_use_get_query').parent().show();
@@ -1230,6 +1245,10 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1230
  $html = ob_get_clean();
1231
  return $html;
1232
  }
 
 
 
 
1233
  public function admin_init () {
1234
  parent::admin_init();
1235
  add_action('berocket_fix_WC_outofstock', array($this, 'fix_WC_outofstock'), 10, 1);
@@ -1313,8 +1332,8 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1313
  add_action('plugins_loaded', array($this, 'wp_hook'));
1314
  add_action( "wp_ajax_br_aapf_get_child", array ( $this, 'br_aapf_get_child' ) );
1315
  add_action( "wp_ajax_nopriv_br_aapf_get_child", array ( $this, 'br_aapf_get_child' ) );
1316
- add_action( "wp_ajax_aapf_color_set", array ( 'BeRocket_AAPF_Widget', 'color_listener' ) );
1317
- BeRocket_AAPF_Widget::br_widget_ajax_set();
1318
  add_action( "wp_ajax_berocket_aapf_load_simple_filter_creation", array ( $this, 'load_simple_filter_creation' ) );
1319
  add_action( "wp_ajax_berocket_aapf_save_simple_filter_creation", array ( $this, 'save_simple_filter_creation' ) );
1320
  }
@@ -1380,6 +1399,9 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1380
  wp_die();
1381
  }
1382
  public function widgets_init() {
 
 
 
1383
  register_widget("BeRocket_AAPF_widget");
1384
  register_widget("BeRocket_new_AAPF_Widget");
1385
  register_widget("BeRocket_new_AAPF_Widget_single");
@@ -1390,6 +1412,9 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1390
  }
1391
  return $filtered;
1392
  }
 
 
 
1393
  public function include_all_scripts() {
1394
  /* theme scripts */
1395
  if( defined('THE7_VERSION') && THE7_VERSION ) {
@@ -1494,7 +1519,7 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1494
  'ajax_request_load_style' => ( empty($br_options['alternative_load']) ? 'jquery' : ( empty($br_options['alternative_load_type']) ? $this->defaults['alternative_load_type'] : $br_options['alternative_load_type'] ) ),
1495
  'use_request_method' => ( ! empty($br_options['use_get_query']) && empty($br_options['alternative_load']) ? 'get' : 'post' ),
1496
  'no_products' => ("<p class='no-products woocommerce-info" . ( ! empty( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</p>"),
1497
- 'recount_products' => ( empty($br_options['recount_products']) ? '' : $br_options['recount_products'] ),
1498
  'pos_relative' => ( empty($br_options['pos_relative']) ? '' : $br_options['pos_relative'] ),
1499
  'woocommerce_removes' => json_encode( array(
1500
  'result_count' => ( empty($br_options['woocommerce_removes']['result_count']) ? '' : $br_options['woocommerce_removes']['result_count'] ),
@@ -1528,6 +1553,14 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1528
  'pagination_base' => $wp_rewrite->pagination_base,
1529
  ) )
1530
  );
 
 
 
 
 
 
 
 
1531
  }
1532
  public function add_error_log( $error_log ) {
1533
  $error_log[plugin_basename( __FILE__ )] = self::$error_log;
@@ -1894,7 +1927,7 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
1894
  }
1895
 
1896
  $old_post_terms = ( empty($_POST['terms']) ? '' : $_POST['terms'] );
1897
- $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget::woocommerce_hide_out_of_stock_items();
1898
  $meta_query = $this->remove_out_of_stock( array(), true, $woocommerce_hide_out_of_stock_items != 'yes' );
1899
 
1900
  $args = br_aapf_args_parser();
@@ -2128,11 +2161,11 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
2128
  }
2129
  $style_line .= $style['bcolor'].'!important;';
2130
  }
2131
- if ( isset($style['bwidth']) )
2132
  $style_line .= 'border-width: '.$style['bwidth'].'px!important;';
2133
- if ( isset($style['bradius']) )
2134
  $style_line .= 'border-radius: '.$style['bradius'].'px!important;';
2135
- if ( isset($style['fontsize']) )
2136
  $style_line .= 'font-size: '.$style['fontsize'].'px!important;';
2137
  if ( ! empty($style['fcolor']) ) {
2138
  $style_line .= 'color: ';
@@ -2172,199 +2205,231 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
2172
  foreach ( $replace_css as $key => $value ) {
2173
  $result_css = str_replace( $key, $value, $result_css );
2174
  }
 
2175
  $uo = br_aapf_converter_styles( (isset($options['styles']) ? $options['styles'] : array()) );
2176
- echo '<style type="text/css">' . $result_css;
2177
  if( ! empty($uo['style']['selected_area']) ) {
2178
- echo ' div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a, div.berocket_aapf_selected_area_block a{'.$uo['style']['selected_area'].'}';
 
 
 
2179
  }
2180
- echo ' div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a.br_hover *, div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a.br_hover, div.berocket_aapf_selected_area_block a.br_hover{'.(isset($uo['style']['selected_area_hover']) ? $uo['style']['selected_area_hover'] : '').'}';
2181
  if ( ! empty($options['styles_input']['checkbox']['icon']) ) {
2182
- echo 'ul.berocket_aapf_widget li > span > input[type="checkbox"] + .berocket_label_widgets:before {display:inline-block;}';
2183
- echo '.berocket_aapf_widget input[type="checkbox"] {display: none;}';
2184
- }
2185
- echo ' ul.berocket_aapf_widget li > span > input[type="checkbox"] + .berocket_label_widgets:before {';
2186
- echo $this->convert_styles_to_string($options['styles_input']['checkbox']);
2187
- echo '}';
2188
- echo ' ul.berocket_aapf_widget li > span > input[type="checkbox"]:checked + .berocket_label_widgets:before {';
2189
- if ( ! empty($options['styles_input']['checkbox']['icon']) )
2190
- echo 'content: "\\'.$options['styles_input']['checkbox']['icon'].'";';
2191
- echo '}';
 
 
2192
  if ( ! empty($options['styles_input']['radio']['icon']) ) {
2193
- echo 'ul.berocket_aapf_widget li > span > input[type="radio"] + .berocket_label_widgets:before {display:inline-block;}';
2194
- echo '.berocket_aapf_widget input[type="radio"] {display: none;}';
2195
- }
2196
- echo ' ul.berocket_aapf_widget li > span > input[type="radio"] + .berocket_label_widgets:before {';
2197
- echo $this->convert_styles_to_string($options['styles_input']['radio']);
2198
- echo '}';
2199
- echo ' ul.berocket_aapf_widget li > span > input[type="radio"]:checked + .berocket_label_widgets:before {';
2200
- if ( ! empty($options['styles_input']['radio']['icon']) )
2201
- echo 'content: "\\'.$options['styles_input']['radio']['icon'].'";';
2202
- echo '}';
2203
- echo '.berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content .ui-slider-range, .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content .ui-slider-range{';
 
2204
  if ( ! empty($options['styles_input']['slider']['line_color']) ) {
2205
- echo 'background-color: ';
 
2206
  if ( $options['styles_input']['slider']['line_color'][0] != '#' ) {
2207
- echo '#';
2208
  }
2209
- echo $options['styles_input']['slider']['line_color'].';';
 
 
 
 
 
2210
  }
2211
- echo '}';
2212
- echo '.berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content, .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content{';
2213
- if ( isset($options['styles_input']['slider']['line_height']) )
2214
- echo 'height: '.$options['styles_input']['slider']['line_height'].'px;';
2215
  if ( ! empty($options['styles_input']['slider']['line_border_color']) ) {
2216
- echo 'border-color: ';
2217
  if ( $options['styles_input']['slider']['line_border_color'][0] != '#' ) {
2218
- echo '#';
2219
  }
2220
- echo $options['styles_input']['slider']['line_border_color'].';';
2221
  }
2222
  if ( ! empty($options['styles_input']['slider']['back_line_color']) ) {
2223
- echo 'background-color: ';
2224
  if ( $options['styles_input']['slider']['back_line_color'][0] != '#' ) {
2225
- echo '#';
2226
  }
2227
- echo $options['styles_input']['slider']['back_line_color'].';';
 
 
 
 
 
 
 
 
 
 
2228
  }
2229
- if ( isset($options['styles_input']['slider']['line_border_width']) )
2230
- echo 'border-width: '.$options['styles_input']['slider']['line_border_width'].'px;';
2231
- echo '}';
2232
- echo '.berocket_aapf_widget .slide .berocket_filter_slider .ui-state-default,
2233
- .berocket_aapf_widget .slide .berocket_filter_price_slider .ui-state-default,
2234
- .berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content .ui-state-default,
2235
- .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content .ui-state-default,
2236
- .berocket_aapf_widget .slide .berocket_filter_slider .ui-widget-header .ui-state-default,
2237
- .berocket_aapf_widget .slide .berocket_filter_price_slider .ui-widget-header .ui-state-default
2238
- .berocket_aapf_widget .berocket_filter_slider.ui-widget-content .ui-slider-handle,
2239
- .berocket_aapf_widget .berocket_filter_price_slider.ui-widget-content .ui-slider-handle{';
2240
- if ( isset($options['styles_input']['slider']['button_size']) )
2241
- echo 'font-size: '.$options['styles_input']['slider']['button_size'].'px;';
2242
  if ( ! empty($options['styles_input']['slider']['button_color']) ) {
2243
- echo 'background-color: ';
2244
  if ( $options['styles_input']['slider']['button_color'][0] != '#' ) {
2245
- echo '#';
2246
  }
2247
- echo $options['styles_input']['slider']['button_color'].';';
2248
  }
2249
  if ( ! empty($options['styles_input']['slider']['button_border_color']) ) {
2250
- echo 'border-color: ';
2251
  if ( $options['styles_input']['slider']['button_border_color'][0] != '#' ) {
2252
- echo '#';
2253
  }
2254
- echo $options['styles_input']['slider']['button_border_color'].';';
 
 
 
 
 
 
2255
  }
2256
- if ( isset($options['styles_input']['slider']['button_border_width']) )
2257
- echo 'border-width: '.$options['styles_input']['slider']['button_border_width'].'px;';
2258
- if ( isset($options['styles_input']['slider']['button_border_radius']) )
2259
- echo 'border-radius: '.$options['styles_input']['slider']['button_border_radius'].'px;';
2260
- echo '}';
2261
- echo ' .berocket_aapf_selected_area_hook div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a{'.( ! empty( $uo['style']['selected_area_block'] ) ? 'background-'.$uo['style']['selected_area_block'] : '' ).( ! empty( $uo['style']['selected_area_border'] ) ? ' border-'.$uo['style']['selected_area_border'] : '' ).'}';
2262
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc {';
 
 
 
 
 
 
 
 
 
2263
  if ( ! empty($options['styles_input']['pc_ub']['back_color']) ) {
2264
- echo 'background-color: ';
2265
  if ( $options['styles_input']['pc_ub']['back_color'][0] != '#' ) {
2266
- echo '#';
2267
  }
2268
- echo $options['styles_input']['pc_ub']['back_color'].';';
2269
  }
2270
  if ( ! empty($options['styles_input']['pc_ub']['border_color']) ) {
2271
- echo 'border-color: ';
2272
  if ( $options['styles_input']['pc_ub']['border_color'][0] != '#' ) {
2273
- echo '#';
2274
  }
2275
- echo $options['styles_input']['pc_ub']['border_color'].';';
2276
  }
2277
  if ( ! empty($options['styles_input']['pc_ub']['font_color']) ) {
2278
- echo 'color: ';
2279
  if ( $options['styles_input']['pc_ub']['font_color'][0] != '#' ) {
2280
- echo '#';
2281
  }
2282
- echo $options['styles_input']['pc_ub']['font_color'].';';
 
 
 
2283
  }
2284
- if ( isset($options['styles_input']['pc_ub']['font_size']) ) {
2285
- echo 'font-size: '.$options['styles_input']['pc_ub']['font_size'].'px;';
2286
  }
2287
- echo '}';
2288
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc > span {';
2289
  if ( ! empty($options['styles_input']['pc_ub']['back_color']) ) {
2290
- echo 'background-color: ';
2291
  if ( $options['styles_input']['pc_ub']['back_color'][0] != '#' ) {
2292
- echo '#';
2293
  }
2294
- echo $options['styles_input']['pc_ub']['back_color'].';';
2295
  }
2296
  if ( ! empty($options['styles_input']['pc_ub']['border_color']) ) {
2297
- echo 'border-color: ';
2298
  if ( $options['styles_input']['pc_ub']['border_color'][0] != '#' ) {
2299
- echo '#';
2300
  }
2301
- echo $options['styles_input']['pc_ub']['border_color'].';';
2302
  }
2303
- echo '}';
2304
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_widget_update_button {';
 
 
2305
  if ( ! empty($options['styles_input']['pc_ub']['show_font_color']) ) {
2306
- echo 'color: ';
2307
  if ( $options['styles_input']['pc_ub']['show_font_color'][0] != '#' ) {
2308
- echo '#';
2309
  }
2310
- echo $options['styles_input']['pc_ub']['show_font_color'].';';
2311
  }
2312
  if ( ! empty($options['styles_input']['pc_ub']['show_font_size']) ) {
2313
- echo 'font-size: '.$options['styles_input']['pc_ub']['show_font_size'].'px;';
 
 
 
2314
  }
2315
- echo '}';
2316
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_widget_update_button:hover {';
2317
  if ( ! empty($options['styles_input']['pc_ub']['show_font_color_hover']) ) {
2318
- echo 'color: ';
 
2319
  if ( $options['styles_input']['pc_ub']['show_font_color_hover'][0] != '#' ) {
2320
- echo '#';
2321
  }
2322
- echo $options['styles_input']['pc_ub']['show_font_color_hover'].';';
 
2323
  }
2324
- echo '}';
2325
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_close_pc {';
2326
  if ( ! empty($options['styles_input']['pc_ub']['close_font_color']) ) {
2327
- echo 'color: ';
2328
  if ( $options['styles_input']['pc_ub']['close_font_color'][0] != '#' ) {
2329
- echo '#';
2330
  }
2331
- echo $options['styles_input']['pc_ub']['close_font_color'].';';
2332
  }
2333
  if ( ! empty($options['styles_input']['pc_ub']['close_size']) ) {
2334
- echo 'font-size: '.$options['styles_input']['pc_ub']['close_size'].'px;';
 
 
 
2335
  }
2336
- echo '}';
2337
- echo '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_close_pc:hover {';
2338
  if ( ! empty($options['styles_input']['pc_ub']['close_font_color_hover']) ) {
2339
- echo 'color: ';
 
2340
  if ( $options['styles_input']['pc_ub']['close_font_color_hover'][0] != '#' ) {
2341
- echo '#';
2342
- }
2343
- echo $options['styles_input']['pc_ub']['close_font_color_hover'].';';
2344
- }
2345
- echo '}';
2346
- echo 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget-title_div {';
2347
- echo $this->convert_styles_to_string($options['styles_input']['onlyTitle_title']);
2348
- echo '}';
2349
- echo 'div.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible .berocket_aapf_widget-title_div {';
2350
- echo $this->convert_styles_to_string($options['styles_input']['onlyTitle_titleopened']);
2351
- echo '}';
2352
- echo 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget {';
2353
- echo $this->convert_styles_to_string($options['styles_input']['onlyTitle_filter']);
2354
- echo '}';
 
 
 
2355
  if ( ! empty($options['styles_input']['onlyTitle_filter']['fcolor']) ) {
2356
- echo 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget * {';
2357
- echo 'color: ';
2358
  if ( $options['styles_input']['onlyTitle_filter']['fcolor'][0] != '#' ) {
2359
- echo '#';
2360
  }
2361
- echo $options['styles_input']['onlyTitle_filter']['fcolor'].';';
2362
- echo '}';
2363
- echo 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget input {';
2364
- echo 'color: black;';
2365
- echo '}';
 
 
 
2366
  }
2367
- echo '</style>';
2368
  }
2369
  public function create_metadata_table() {
2370
  $options = $this->get_option();
@@ -2408,7 +2473,6 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
2408
  }
2409
  public function wp_print_footer_scripts() {
2410
  $br_options = $this->get_option();
2411
- wp_enqueue_style( 'berocket_aapf_widget-style' );
2412
  wp_enqueue_style( 'berocket_aapf_widget-scroll-style' );
2413
  wp_enqueue_style( 'berocket_aapf_widget-themer-style' );
2414
 
@@ -2488,20 +2552,14 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
2488
  $terms = array();
2489
  foreach ( $term_id as $parent ) {
2490
  $args_terms = array(
2491
- 'orderby' => 'id',
2492
- 'order' => 'ASC',
2493
  'hide_empty' => false,
2494
- 'parent' => $parent,
2495
  );
2496
- if( $taxonomy == 'product_cat' ) {
2497
- $current_terms = BeRocket_AAPF_Widget::get_product_categories( '', $parent, array(), 0, 0, true );
2498
- } else {
2499
- $current_terms = get_terms( $taxonomy, $args_terms );
2500
  }
2501
- if( ! is_array( $current_terms ) ) {
2502
- $current_terms = array();
2503
- }
2504
- $new_terms = BeRocket_AAPF_Widget::get_attribute_values( $taxonomy, 'id', ( empty($br_options['show_all_values']) ), ! empty($br_options['recount_products']), $current_terms );
2505
  if ( is_array( $new_terms ) ) {
2506
  foreach ( $new_terms as $key => $term_val ) {
2507
  $new_terms[$key]->color = get_metadata( 'berocket_term', $term_val->term_id, 'color' );
@@ -2683,6 +2741,54 @@ jQuery(document).on('change', '.br_selected_area_show', br_selected_area_show);
2683
  }
2684
  update_option( 'br_filters_options', $options );
2685
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2686
  }
2687
  public function save_settings_callback( $settings ) {
2688
  $options = $this->get_option();
13
  include_once(plugin_dir_path( __FILE__ ) . "includes/compatibility/product-table.php");
14
  $br_aapf_debugs = array();
15
  include_once(plugin_dir_path( __FILE__ ) . "libraries/link_parser.php");
16
+ include_once(plugin_dir_path( __FILE__ ) . 'includes/filters/get_terms.php');
17
  class BeRocket_AAPF extends BeRocket_Framework {
18
  public static $settings_name = 'br_filters_options';
19
  public $info, $defaults, $values, $notice_array, $conditions;
88
  'control_sorting' => '1',
89
  'seo_friendly_urls' => '1',
90
  'seo_uri_decode' => '1',
91
+ 'recount_hide' => 'removeRecount',
92
  'slug_urls' => '',
93
  'seo_meta_title' => '',
94
  'seo_element_title' => '',
96
  'seo_element_description' => '',
97
  'seo_meta_title_visual' => 'BeRocket_AAPF_wcseo_title_visual1',
98
  'filters_turn_off' => '',
 
99
  'hide_value' => array(
100
  'o' => '1',
101
  'sel' => '',
107
  'first_page_jump' => '1',
108
  'scroll_shop_top' => '',
109
  'scroll_shop_top_px' => '-180',
 
110
  'selected_area_show' => '',
111
  'selected_area_hide_empty' => '',
112
  'products_only' => '1',
197
  }
198
  parent::__construct( $this );
199
 
200
+ if ( $this->init_validation() ) {
201
+ new BeRocket_AAPF_get_terms();
202
+ }
203
  if ( ! function_exists('is_network_admin') || ! is_network_admin() ) {
204
  if( $this->check_framework_version() ) {
205
  if ( $this->init_validation() ) {
240
  }
241
 
242
  if ( isset($_GET['explode']) && $_GET['explode'] == 'explode') {
243
+ add_action( 'woocommerce_before_template_part', array( 'BeRocket_AAPF_Widget_functions', 'pre_get_posts'), 999999 );
244
+ add_action( 'wp_footer', array( 'BeRocket_AAPF_Widget_functions', 'end_clean'), 999999 );
245
+ add_action( 'init', array( 'BeRocket_AAPF_Widget_functions', 'start_clean'), 1 );
246
  } else {
247
+ add_action( 'woocommerce_before_template_part', array( 'BeRocket_AAPF_Widget_functions', 'rebuild'), 999999 );
248
  }
249
  if ( ! empty($option['selected_area_show']) ) {
250
  add_action ( br_get_value_from_array($option, 'elements_position_hook', 'woocommerce_archive_description'), array($this, 'selected_area'), 1 );
252
  if( ! empty($option['ajax_site']) ) {
253
  add_action( 'wp_enqueue_scripts', array( $this, 'include_all_scripts' ) );
254
  }
255
+ add_action( 'wp_enqueue_scripts', array( $this, 'include_all_styles' ) );
256
  add_filter( 'is_active_sidebar', array($this, 'is_active_sidebar'), 10, 2);
257
  if( ! empty($option['child_pre_indent']) ) {
258
  add_filter('berocket_aapf_select_term_child_prefix', array($this, 'select_term_child_prefix'));
343
  return $notices;
344
  }
345
  public function init () {
346
+ /*$terms = berocket_aapf_get_terms( array(
347
+ 'taxonomy' => 'product_cat',
348
+ 'hide_empty' => false,
349
+ 'order' => 'DESC',
350
+ 'suppress_filter' => (function_exists('wpm_get_language') ? 0 : 1)
351
+ ) );
352
+ echo '<pre>', print_r($terms, true), '</pre>';die;*/
353
  parent::init();
354
  $option = $this->get_option();
355
  if( ! empty($option['use_tax_for_price']) ) {
359
  wp_dequeue_style( 'font-awesome' );
360
  }
361
  global $wp_query;
362
+ if ( ! is_admin() ) {
363
  if(!session_id()) {
364
  session_start();
365
  }
432
  ),
433
  'Addons' => array(
434
  'icon' => 'plus',
435
+ 'name' => __( 'Add-ons', "BeRocket_AJAX_domain" )
436
  ),
437
  ),
438
  array(
454
  "value" => $this->defaults["products_per_page"]
455
  ),
456
  'attribute_count' => array(
457
+ "label" => __( 'Number of Attribute Values', "BeRocket_AJAX_domain" ),
458
  "type" => "number",
459
  "name" => "attribute_count",
460
  "value" => $this->defaults["attribute_count"],
461
+ 'label_for' => '<br>' . __( 'Attribute Values count that will be displayed. Other values will be hidden and can be displayed by pressing the button. Option <strong>Hide the Show/Hide value(s) button in the filters</strong> must be disabled', 'BeRocket_AJAX_domain' ),
462
  ),
463
  'control_sorting' => array(
464
+ "label" => __( 'Sorting drop-down control', "BeRocket_AJAX_domain" ),
465
  "type" => "checkbox",
466
  "name" => "control_sorting",
467
  "value" => '1',
468
  'label_for' => __("Take control over WooCommerce's sorting selectbox?", 'BeRocket_AJAX_domain'),
469
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
470
  'first_page_jump' => array(
471
  "label" => __( 'Jump to first page', "BeRocket_AJAX_domain" ),
472
  "type" => "checkbox",
475
  'label_for' => __("Check if you want load first page after filters change", 'BeRocket_AJAX_domain'),
476
  ),
477
  'scroll_shop_top' => array(
478
+ "label" => __( 'Scroll to the top', "BeRocket_AJAX_domain" ),
479
  "items" => array(
480
  'scroll_shop_top' => array(
481
  "label" => __( 'Selected filters position', "BeRocket_AJAX_domain" ),
499
  )
500
  ),
501
  ),
502
+ 'recount_hide' => array(
503
+ "label" => __( 'Values count and output', "BeRocket_AJAX_domain" ),
504
+ "name" => "recount_hide",
505
+ "type" => "selectbox",
506
+ "options" => array(
507
+ array('value' => 'disable', 'text' => __('All non-empty values are shown and use basic counting', 'BeRocket_AJAX_domain')),
508
+ array('value' => 'removeFirst', 'text' => __('Remove empty values based on page(category/tag/etc)', 'BeRocket_AJAX_domain')),
509
+ array('value' => 'recount', 'text' => __('All non-empty values are shown and filters are considered while counting attribute values', 'BeRocket_AJAX_domain')),
510
+ array('value' => 'removeFirst_recount', 'text' => __('Remove empty values based on page(category/tag/etc). Filters are considered while counting attribute values and empty values based on filters are hidden', 'BeRocket_AJAX_domain')),
511
+ array('value' => 'removeRecount', 'text' => __('Filters are considered while counting attribute values. Empty values are removed server side', 'BeRocket_AJAX_domain')),
512
+ ),
513
+ "value" => '',
514
+ "class" => 'berocket_aapf_recount_hide'
515
+ ),
516
+ 'hide_values' => array(
517
+ 'label' => __('Hide values', 'BeRocket_AJAX_domain'),
518
+ 'items' => array(
519
+ 'hide_value_o' => array(
520
+ "type" => "checkbox",
521
+ "name" => array("hide_value", 'o'),
522
+ "value" => '1',
523
+ 'label_for' => __("Hide values without products", 'BeRocket_AJAX_domain'),
524
+ ),
525
+ 'hide_value_sel' => array(
526
+ "type" => "checkbox",
527
+ "name" => array("hide_value", 'sel'),
528
+ "value" => '1',
529
+ 'label_for' => __("Hide selected values", 'BeRocket_AJAX_domain'),
530
+ ),
531
+ 'hide_value_empty' => array(
532
+ "type" => "checkbox",
533
+ "name" => array("hide_value", 'empty'),
534
+ "value" => '1',
535
+ 'label_for' => __("Hide blank widgets", 'BeRocket_AJAX_domain'),
536
+ ),
537
+ ),
538
+ ),
539
  'select2' => array(
540
  "label" => __( 'Select2', "BeRocket_AJAX_domain" ),
541
  'items' => array(
555
  ),
556
  )
557
  ),
 
 
 
 
 
 
 
 
558
  ),
559
  'Elements' => array(
560
  'elements_position_hook' => array(
569
  "value" => 'woocommerce_archive_description',
570
  ),
571
  'selected_area' => array(
572
+ "label" => __( 'Display Selected Filters', "BeRocket_AJAX_domain" ),
573
  'items' => array(
574
  'selected_area_show' => array(
575
  "type" => "checkbox",
594
  "value" => "",
595
  ),
596
  'products_holder_id' => array(
597
+ "label" => __( 'Products Selector', "BeRocket_AJAX_domain" ),
598
  "type" => "text",
599
  "name" => 'products_holder_id',
600
  "value" => $this->defaults["products_holder_id"],
602
  'label_for' => '<br>' . __("Selector for tag that is holding products. Don't change this if you don't know what it is", 'BeRocket_AJAX_domain'),
603
  ),
604
  'result_count' => array(
605
+ "label" => __( 'Products Quantity Selector', "BeRocket_AJAX_domain" ),
606
  "items" => array(
607
  "woocommerce_result_count_class" => array(
608
  "type" => "text",
620
  ),
621
  ),
622
  'ordering' => array(
623
+ "label" => __( 'Products Sorting Selector', "BeRocket_AJAX_domain" ),
624
  "items" => array(
625
  "woocommerce_ordering_class" => array(
626
  "type" => "text",
637
  ),
638
  ),
639
  'pagination' => array(
640
+ "label" => __( 'Products Pagination Selector', "BeRocket_AJAX_domain" ),
641
  "items" => array(
642
  "woocommerce_pagination_class" => array(
643
  "type" => "text",
663
  ),
664
  'SEO' => array(
665
  'seo_friendly_urls' => array(
666
+ "label" => __( 'Refresh URL when filtering', "BeRocket_AJAX_domain" ),
667
  "type" => "checkbox",
668
  "name" => "seo_friendly_urls",
669
  "value" => '1',
679
  'label_for' => __("Use attribute slug instead ID", 'BeRocket_AJAX_domain'),
680
  ),
681
  'seo_uri_decode' => array(
682
+ "label" => __( 'URL decoding', "BeRocket_AJAX_domain" ),
683
  "type" => "checkbox",
684
  "name" => "seo_uri_decode",
685
  "value" => '1',
695
  'label_for' => __("Meta Description, Page title and Page Header with filters", 'BeRocket_AJAX_domain'),
696
  ),
697
  'seo_meta_title_elements' => array(
698
+ "label" => __( 'SEO Elements', "BeRocket_AJAX_domain" ),
699
  "tr_class" => "berocket_seo_meta_title_elements",
700
  "items" => array(
701
  "seo_element_title" => array(
719
  ),
720
  ),
721
  'seo_meta_title_visual' => array(
722
+ "label" => __( 'SEO elements structure', "BeRocket_AJAX_domain" ),
723
  "tr_class" => "berocket_seo_meta_title_elements",
724
  "name" => "seo_meta_title_visual",
725
  "type" => "selectbox",
733
  ),
734
  ),
735
  'Advanced' => array(
 
 
 
 
 
 
 
736
  'no_products_class' => array(
737
  "label" => __( '"No Products" class', "BeRocket_AJAX_domain" ),
738
  "type" => "text",
740
  "value" => $this->defaults["no_products_class"],
741
  'label_for' => '<br>' . __('Add class and use it to style "No Products" box', 'BeRocket_AJAX_domain'),
742
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743
  'products_only' => array(
744
  "label" => __( 'Display products', "BeRocket_AJAX_domain" ),
745
  "type" => "checkbox",
747
  "value" => '1',
748
  'label_for' => __('Display always products when filters selected. Use this when you have categories and subcategories on shop pages, but you want to display products on filtering', 'BeRocket_AJAX_domain'),
749
  ),
750
+ 'use_tax_for_price' => array(
751
+ "label" => __( 'Use Tax options in price filters', "BeRocket_AJAX_domain" ),
752
+ "label_for"=> __( 'Only Standard tax rates will be applied for prices', "BeRocket_AJAX_domain" ),
753
+ "name" => "use_tax_for_price",
754
+ "type" => "selectbox",
755
+ "options" => array(
756
+ array('value' => '', 'text' => __('Do not use (filter price as it is set in products)', 'BeRocket_AJAX_domain')),
757
+ array('value' => 'var1', 'text' => __('Use tax options', 'BeRocket_AJAX_domain')),
758
+ ),
759
+ "value" => '',
760
+ ),
761
+ 'page_same_as_filter' => array(
762
+ "label" => __( 'Page same as filter', "BeRocket_AJAX_domain" ),
763
+ "name" => "page_same_as_filter",
764
+ "type" => "selectbox",
765
+ "options" => array(
766
+ array('value' => '', 'text' => __('Default', 'BeRocket_AJAX_domain')),
767
+ array('value' => 'remove', 'text' => __('Remove value', 'BeRocket_AJAX_domain')),
768
+ array('value' => 'leave', 'text' => __('Leave only one value', 'BeRocket_AJAX_domain')),
769
+ ),
770
+ "value" => '',
771
+ "label_for" => __('On Category, Tag, Attribute page filter for it will remove value or leave only one value', 'BeRocket_AJAX_domain'),
772
+ ),
773
+ 'header_part_variable' => array(
774
+ 'section' => 'header_part',
775
+ "value" => __('Variable Products and Variations options', 'BeRocket_AJAX_domain'),
776
+ ),
777
  'out_of_stock_variable' => array(
778
+ "label" => __( 'Hide variations that are out of stock', "BeRocket_AJAX_domain" ),
779
  "items" => array(
780
  "out_of_stock_variable" => array(
781
  "type" => "selectbox",
805
  ),
806
  ),
807
  ),
808
+ 'header_part_fixes' => array(
809
+ 'section' => 'header_part',
810
+ "value" => __('Incompatibility Fixes', 'BeRocket_AJAX_domain'),
811
+ ),
812
+ 'pos_relative' => array(
813
+ "label" => __( 'Add position relative to products', "BeRocket_AJAX_domain" ),
814
  "type" => "checkbox",
815
+ "name" => "pos_relative",
816
  "value" => '1',
817
+ 'label_for' => __('Fix for correct displaying loading block', 'BeRocket_AJAX_domain'),
818
  ),
819
  'styles_in_footer' => array(
820
  "label" => __( 'Display styles only for pages with filters', "BeRocket_AJAX_domain" ),
824
  'label_for' => __('On some sites it can cause some visual problem on page loads', 'BeRocket_AJAX_domain'),
825
  ),
826
  'product_per_row' => array(
827
+ "label" => __( 'Products per line', "BeRocket_AJAX_domain" ),
828
  "type" => "number",
829
  "name" => "product_per_row",
830
  "value" => $this->defaults["product_per_row"],
838
  'label_for' => __('Add JavaScript files to all pages.', 'BeRocket_AJAX_domain'),
839
  ),
840
  'search_fix' => array(
841
+ "label" => __( 'Fix for search page', "BeRocket_AJAX_domain" ),
842
  "type" => "checkbox",
843
  "name" => "search_fix",
844
  "value" => '1',
845
  'label_for' => __('Disable redirection, when search page return only one product', 'BeRocket_AJAX_domain'),
846
  ),
847
  'tags_custom' => array(
848
+ "label" => __( 'Use Tags as custom taxonomies', "BeRocket_AJAX_domain" ),
849
  "type" => "checkbox",
850
  "name" => "tags_custom",
851
  "value" => '1',
852
  'label_for' => __('Try to enable this if widget with tags didn\'t work.', 'BeRocket_AJAX_domain'),
853
  ),
854
+ 'use_get_query' => array(
855
+ "label" => __('GET query', 'BeRocket_AJAX_domain'),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
856
  "type" => "checkbox",
857
+ "name" => "use_get_query",
858
  "value" => '1',
859
+ 'label_for' => __('Use GET query instead POST for filtering', 'BeRocket_AJAX_domain') . '<br>',
 
 
 
 
 
 
 
 
860
  ),
861
  'alternative_load' => array(
862
  "label" => __( 'Alternative Load (DEPRECATED)', "BeRocket_AJAX_domain" ),
884
  ),
885
  ),
886
  ),
887
+ 'header_part_tools' => array(
888
+ 'section' => 'header_part',
889
+ "value" => __('Tools', 'BeRocket_AJAX_domain'),
890
+ ),
891
+ 'filters_turn_off' => array(
892
+ "label" => __( 'Turn off all filters', "BeRocket_AJAX_domain" ),
893
+ "type" => "checkbox",
894
+ "name" => "filters_turn_off",
895
+ "value" => '1',
896
+ 'label_for' => __("If you want to hide filters without losing current configuration just turn them off", 'BeRocket_AJAX_domain'),
897
+ ),
898
+ 'purge_cache' => array(
899
+ "section" => "purge_cache",
900
+ "value" => "",
901
+ ),
902
+ 'replace_old_widget' => array(
903
+ "section" => "replace_old_widget",
904
+ "value" => "",
905
  ),
906
  ),
907
  'Design' => array(
911
  ),
912
  ),
913
  'JavaScript/CSS' => array(
914
+ 'global_font_awesome_disable' => array(
915
+ "label" => __( 'Disable Font Awesome', "BeRocket_AJAX_domain" ),
916
+ "type" => "checkbox",
917
+ "name" => "fontawesome_frontend_disable",
918
+ "value" => '1',
919
+ 'label_for' => __('Don\'t loading css file for Font Awesome on site front end. Use it only if you doesn\'t uses Font Awesome icons in widgets or you have Font Awesome in your theme.', 'BeRocket_AJAX_domain'),
920
+ ),
921
+ 'global_fontawesome_version' => array(
922
+ "label" => __( 'Font Awesome Version', "BeRocket_AJAX_domain" ),
923
+ "name" => "fontawesome_frontend_version",
924
+ "type" => "selectbox",
925
+ "options" => array(
926
+ array('value' => '', 'text' => __('Font Awesome 4', 'BeRocket_AJAX_domain')),
927
+ array('value' => 'fontawesome5', 'text' => __('Font Awesome 5', 'BeRocket_AJAX_domain')),
928
+ ),
929
+ "value" => '',
930
+ "label_for" => __('Version of Font Awesome that will be used on front end. Please select version that you have in your theme', 'BeRocket_AJAX_domain'),
931
+ ),
932
  'before_update' => array(
933
  "label" => __( 'Before Update:', "BeRocket_AJAX_domain" ),
934
  "type" => "textarea",
937
  "label_for" => __( "If you want to add own actions on filter activation, eg: alert('1');", "BeRocket_AJAX_domain" ),
938
  ),
939
  'on_update' => array(
940
+ "label" => __( 'During Update:', "BeRocket_AJAX_domain" ),
941
  "type" => "textarea",
942
  "name" => array("user_func", "on_update"),
943
  "value" => $this->defaults["user_func"]["on_update"],
1098
  $html = '</table>
1099
  <table class="form-table">
1100
  <tr>
1101
+ <th colspan="2">' . __('Custom CSS Style:', 'BeRocket_AJAX_domain') . '</th>
1102
  </tr>
1103
  <tr>
1104
  <td style="width:600px;">
1178
  $html .= "
1179
  <script>
1180
  function out_of_stock_variable_reload_hide() {
1181
+ if( (jQuery('.berocket_aapf_recount_hide').val() == 'recount' || jQuery('.berocket_aapf_recount_hide').val() == 'removeFirst_recount' || jQuery('.berocket_aapf_recount_hide').val() == 'removeRecount') && parseInt(jQuery('.out_of_stock_variable').val()) ) {
1182
  jQuery('.out_of_stock_variable_reload').parent().show();
1183
  } else {
1184
  jQuery('.out_of_stock_variable_reload').parent().hide();
1185
  }
1186
  }
1187
  out_of_stock_variable_reload_hide();
1188
+ jQuery('.berocket_aapf_recount_hide, .out_of_stock_variable').on('change', out_of_stock_variable_reload_hide);
1189
  function out_of_stock_variable_single_hide() {
1190
+ if( (jQuery('.berocket_aapf_recount_hide').val() == 'recount' || jQuery('.berocket_aapf_recount_hide').val() == 'removeFirst_recount' || jQuery('.berocket_aapf_recount_hide').val() == 'removeRecount') && parseInt(jQuery('.out_of_stock_variable').val()) && jQuery('.out_of_stock_variable_reload').prop('checked') ) {
1191
  jQuery('.out_of_stock_variable_single').parent().show();
1192
  } else {
1193
  jQuery('.out_of_stock_variable_single').parent().hide();
1194
  }
1195
  }
1196
  out_of_stock_variable_single_hide();
1197
+ jQuery('.berocket_aapf_recount_hide, .out_of_stock_variable, .out_of_stock_variable_reload').on('change', out_of_stock_variable_single_hide);
1198
  function load_fix_ajax_request_load() {
1199
  if( jQuery('.load_fix_ajax_request_load').prop('checked') ) {
1200
  jQuery('.load_fix_use_get_query').parent().show();
1245
  $html = ob_get_clean();
1246
  return $html;
1247
  }
1248
+ public function section_header_part($item, $options) {
1249
+ $html = '<td colspan="2"><p style="border-top:2px solid #999;"></p><h3>'.$item['value'].'</h3></td>';
1250
+ return $html;
1251
+ }
1252
  public function admin_init () {
1253
  parent::admin_init();
1254
  add_action('berocket_fix_WC_outofstock', array($this, 'fix_WC_outofstock'), 10, 1);
1332
  add_action('plugins_loaded', array($this, 'wp_hook'));
1333
  add_action( "wp_ajax_br_aapf_get_child", array ( $this, 'br_aapf_get_child' ) );
1334
  add_action( "wp_ajax_nopriv_br_aapf_get_child", array ( $this, 'br_aapf_get_child' ) );
1335
+ add_action( "wp_ajax_aapf_color_set", array ( 'BeRocket_AAPF_Widget_functions', 'color_listener' ) );
1336
+ BeRocket_AAPF_Widget_functions::br_widget_ajax_set();
1337
  add_action( "wp_ajax_berocket_aapf_load_simple_filter_creation", array ( $this, 'load_simple_filter_creation' ) );
1338
  add_action( "wp_ajax_berocket_aapf_save_simple_filter_creation", array ( $this, 'save_simple_filter_creation' ) );
1339
  }
1399
  wp_die();
1400
  }
1401
  public function widgets_init() {
1402
+ if( apply_filters('BeRocket_AAPF_widget_load_file', true) ) {
1403
+ require_once dirname( __FILE__ ) . '/includes/filters/display_widget.php';
1404
+ }
1405
  register_widget("BeRocket_AAPF_widget");
1406
  register_widget("BeRocket_new_AAPF_Widget");
1407
  register_widget("BeRocket_new_AAPF_Widget_single");
1412
  }
1413
  return $filtered;
1414
  }
1415
+ public function include_all_styles() {
1416
+ wp_enqueue_style( 'berocket_aapf_widget-style' );
1417
+ }
1418
  public function include_all_scripts() {
1419
  /* theme scripts */
1420
  if( defined('THE7_VERSION') && THE7_VERSION ) {
1519
  'ajax_request_load_style' => ( empty($br_options['alternative_load']) ? 'jquery' : ( empty($br_options['alternative_load_type']) ? $this->defaults['alternative_load_type'] : $br_options['alternative_load_type'] ) ),
1520
  'use_request_method' => ( ! empty($br_options['use_get_query']) && empty($br_options['alternative_load']) ? 'get' : 'post' ),
1521
  'no_products' => ("<p class='no-products woocommerce-info" . ( ! empty( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</p>"),
1522
+ 'recount_products' => braapf_filters_must_be_recounted(),
1523
  'pos_relative' => ( empty($br_options['pos_relative']) ? '' : $br_options['pos_relative'] ),
1524
  'woocommerce_removes' => json_encode( array(
1525
  'result_count' => ( empty($br_options['woocommerce_removes']['result_count']) ? '' : $br_options['woocommerce_removes']['result_count'] ),
1553
  'pagination_base' => $wp_rewrite->pagination_base,
1554
  ) )
1555
  );
1556
+ if( ! empty($br_options['use_select2']) ) {
1557
+ if( ! empty($br_options['fixed_select2']) ) {
1558
+ wp_enqueue_style( 'br_select2' );
1559
+ } else {
1560
+ wp_enqueue_style( 'select2' );
1561
+ }
1562
+ wp_enqueue_script( 'select2' );
1563
+ }
1564
  }
1565
  public function add_error_log( $error_log ) {
1566
  $error_log[plugin_basename( __FILE__ )] = self::$error_log;
1927
  }
1928
 
1929
  $old_post_terms = ( empty($_POST['terms']) ? '' : $_POST['terms'] );
1930
+ $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget_functions::woocommerce_hide_out_of_stock_items();
1931
  $meta_query = $this->remove_out_of_stock( array(), true, $woocommerce_hide_out_of_stock_items != 'yes' );
1932
 
1933
  $args = br_aapf_args_parser();
2161
  }
2162
  $style_line .= $style['bcolor'].'!important;';
2163
  }
2164
+ if ( isset($style['bwidth']) && strlen($style['bwidth']) )
2165
  $style_line .= 'border-width: '.$style['bwidth'].'px!important;';
2166
+ if ( isset($style['bradius']) && strlen($style['bradius']) )
2167
  $style_line .= 'border-radius: '.$style['bradius'].'px!important;';
2168
+ if ( isset($style['fontsize']) && strlen($style['fontsize']) )
2169
  $style_line .= 'font-size: '.$style['fontsize'].'px!important;';
2170
  if ( ! empty($style['fcolor']) ) {
2171
  $style_line .= 'color: ';
2205
  foreach ( $replace_css as $key => $value ) {
2206
  $result_css = str_replace( $key, $value, $result_css );
2207
  }
2208
+ $result_css = trim($result_css);
2209
  $uo = br_aapf_converter_styles( (isset($options['styles']) ? $options['styles'] : array()) );
 
2210
  if( ! empty($uo['style']['selected_area']) ) {
2211
+ $result_css .= 'div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a, div.berocket_aapf_selected_area_block a{'.$uo['style']['selected_area'].'}';
2212
+ }
2213
+ if( ! empty($uo['style']['selected_area_hover']) ) {
2214
+ $result_css .= 'div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a.br_hover *, div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a.br_hover, div.berocket_aapf_selected_area_block a.br_hover{'.$uo['style']['selected_area_hover'].'}';
2215
  }
 
2216
  if ( ! empty($options['styles_input']['checkbox']['icon']) ) {
2217
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="checkbox"] + .berocket_label_widgets:before {display:inline-block;}';
2218
+ $result_css .= '.berocket_aapf_widget input[type="checkbox"] {display: none;}';
2219
+ }
2220
+ $add_css = $this->convert_styles_to_string($options['styles_input']['checkbox']);
2221
+ if( ! empty($add_css) ) {
2222
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="checkbox"] + .berocket_label_widgets:before {'.$add_css.'}';
2223
+ }
2224
+ if ( ! empty($options['styles_input']['checkbox']['icon']) ) {
2225
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="checkbox"]:checked + .berocket_label_widgets:before {';
2226
+ $result_css .= 'content: "\\'.$options['styles_input']['checkbox']['icon'].'";';
2227
+ $result_css .= '}';
2228
+ }
2229
  if ( ! empty($options['styles_input']['radio']['icon']) ) {
2230
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="radio"] + .berocket_label_widgets:before {display:inline-block;}';
2231
+ $result_css .= '.berocket_aapf_widget input[type="radio"] {display: none;}';
2232
+ }
2233
+ $add_css = $this->convert_styles_to_string($options['styles_input']['radio']);
2234
+ if( ! empty($add_css) ) {
2235
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="radio"] + .berocket_label_widgets:before {' . $add_css . '}';
2236
+ }
2237
+ if ( ! empty($options['styles_input']['radio']['icon']) ) {
2238
+ $result_css .= 'ul.berocket_aapf_widget li > span > input[type="radio"]:checked + .berocket_label_widgets:before {';
2239
+ $result_css .= 'content: "\\'.$options['styles_input']['radio']['icon'].'";';
2240
+ $result_css .= '}';
2241
+ }
2242
  if ( ! empty($options['styles_input']['slider']['line_color']) ) {
2243
+ $result_css .= '.berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content .ui-slider-range, .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content .ui-slider-range{';
2244
+ $result_css .= 'background-color: ';
2245
  if ( $options['styles_input']['slider']['line_color'][0] != '#' ) {
2246
+ $result_css .= '#';
2247
  }
2248
+ $result_css .= $options['styles_input']['slider']['line_color'].';';
2249
+ $result_css .= '}';
2250
+ }
2251
+ $add_css = '';
2252
+ if ( isset($options['styles_input']['slider']['line_height']) && strlen($options['styles_input']['slider']['line_height']) ) {
2253
+ $add_css .= 'height: '.$options['styles_input']['slider']['line_height'].'px;';
2254
  }
 
 
 
 
2255
  if ( ! empty($options['styles_input']['slider']['line_border_color']) ) {
2256
+ $add_css .= 'border-color: ';
2257
  if ( $options['styles_input']['slider']['line_border_color'][0] != '#' ) {
2258
+ $add_css .= '#';
2259
  }
2260
+ $add_css .= $options['styles_input']['slider']['line_border_color'].';';
2261
  }
2262
  if ( ! empty($options['styles_input']['slider']['back_line_color']) ) {
2263
+ $add_css .= 'background-color: ';
2264
  if ( $options['styles_input']['slider']['back_line_color'][0] != '#' ) {
2265
+ $add_css .= '#';
2266
  }
2267
+ $add_css .= $options['styles_input']['slider']['back_line_color'].';';
2268
+ }
2269
+ if ( isset($options['styles_input']['slider']['line_border_width']) && strlen($options['styles_input']['slider']['line_border_width']) ) {
2270
+ $add_css .= 'border-width: '.$options['styles_input']['slider']['line_border_width'].'px;';
2271
+ }
2272
+ if( ! empty($add_css) ) {
2273
+ $result_css .= '.berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content, .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content{'.$add_css.'}';
2274
+ }
2275
+ $add_css = '';
2276
+ if ( isset($options['styles_input']['slider']['button_size']) && strlen($options['styles_input']['slider']['button_size']) ) {
2277
+ $add_css .= 'font-size: '.$options['styles_input']['slider']['button_size'].'px;';
2278
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
2279
  if ( ! empty($options['styles_input']['slider']['button_color']) ) {
2280
+ $add_css .= 'background-color: ';
2281
  if ( $options['styles_input']['slider']['button_color'][0] != '#' ) {
2282
+ $add_css .= '#';
2283
  }
2284
+ $add_css .= $options['styles_input']['slider']['button_color'].';';
2285
  }
2286
  if ( ! empty($options['styles_input']['slider']['button_border_color']) ) {
2287
+ $add_css .= 'border-color: ';
2288
  if ( $options['styles_input']['slider']['button_border_color'][0] != '#' ) {
2289
+ $add_css .= '#';
2290
  }
2291
+ $add_css .= $options['styles_input']['slider']['button_border_color'].';';
2292
+ }
2293
+ if ( isset($options['styles_input']['slider']['button_border_width']) && strlen($options['styles_input']['slider']['button_border_width']) ) {
2294
+ $add_css .= 'border-width: '.$options['styles_input']['slider']['button_border_width'].'px;';
2295
+ }
2296
+ if ( isset($options['styles_input']['slider']['button_border_radius']) && strlen($options['styles_input']['slider']['button_border_radius']) ) {
2297
+ $add_css .= 'border-radius: '.$options['styles_input']['slider']['button_border_radius'].'px;';
2298
  }
2299
+ if( ! empty($add_css) ) {
2300
+ $result_css .= '.berocket_aapf_widget .slide .berocket_filter_slider .ui-state-default,
2301
+ .berocket_aapf_widget .slide .berocket_filter_price_slider .ui-state-default,
2302
+ .berocket_aapf_widget .slide .berocket_filter_slider.ui-widget-content .ui-state-default,
2303
+ .berocket_aapf_widget .slide .berocket_filter_price_slider.ui-widget-content .ui-state-default,
2304
+ .berocket_aapf_widget .slide .berocket_filter_slider .ui-widget-header .ui-state-default,
2305
+ .berocket_aapf_widget .slide .berocket_filter_price_slider .ui-widget-header .ui-state-default
2306
+ .berocket_aapf_widget .berocket_filter_slider.ui-widget-content .ui-slider-handle,
2307
+ .berocket_aapf_widget .berocket_filter_price_slider.ui-widget-content .ui-slider-handle{'.$add_css.'}';
2308
+ }
2309
+ if( ! empty( $uo['style']['selected_area_block'] ) || ! empty( $uo['style']['selected_area_border'] ) ) {
2310
+ $result_css .= ' .berocket_aapf_selected_area_hook div.berocket_aapf_widget_selected_area .berocket_aapf_widget_selected_filter a{'
2311
+ .( ! empty( $uo['style']['selected_area_block'] ) ? 'background-'.$uo['style']['selected_area_block'] : '' )
2312
+ .( ! empty( $uo['style']['selected_area_border'] ) ? ' border-'.$uo['style']['selected_area_border'] : '' ).'}';
2313
+ }
2314
+ $add_css = '';
2315
  if ( ! empty($options['styles_input']['pc_ub']['back_color']) ) {
2316
+ $add_css .= 'background-color: ';
2317
  if ( $options['styles_input']['pc_ub']['back_color'][0] != '#' ) {
2318
+ $add_css .= '#';
2319
  }
2320
+ $add_css .= $options['styles_input']['pc_ub']['back_color'].';';
2321
  }
2322
  if ( ! empty($options['styles_input']['pc_ub']['border_color']) ) {
2323
+ $add_css .= 'border-color: ';
2324
  if ( $options['styles_input']['pc_ub']['border_color'][0] != '#' ) {
2325
+ $add_css .= '#';
2326
  }
2327
+ $add_css .= $options['styles_input']['pc_ub']['border_color'].';';
2328
  }
2329
  if ( ! empty($options['styles_input']['pc_ub']['font_color']) ) {
2330
+ $add_css .= 'color: ';
2331
  if ( $options['styles_input']['pc_ub']['font_color'][0] != '#' ) {
2332
+ $add_css .= '#';
2333
  }
2334
+ $add_css .= $options['styles_input']['pc_ub']['font_color'].';';
2335
+ }
2336
+ if ( isset($options['styles_input']['pc_ub']['font_size']) && strlen($options['styles_input']['pc_ub']['font_size']) ) {
2337
+ $add_css .= 'font-size: '.$options['styles_input']['pc_ub']['font_size'].'px;';
2338
  }
2339
+ if( ! empty($add_css) ) {
2340
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc {'.$add_css.'}';
2341
  }
2342
+ $add_css = '';
 
2343
  if ( ! empty($options['styles_input']['pc_ub']['back_color']) ) {
2344
+ $add_css .= 'background-color: ';
2345
  if ( $options['styles_input']['pc_ub']['back_color'][0] != '#' ) {
2346
+ $add_css .= '#';
2347
  }
2348
+ $add_css .= $options['styles_input']['pc_ub']['back_color'].';';
2349
  }
2350
  if ( ! empty($options['styles_input']['pc_ub']['border_color']) ) {
2351
+ $add_css .= 'border-color: ';
2352
  if ( $options['styles_input']['pc_ub']['border_color'][0] != '#' ) {
2353
+ $add_css .= '#';
2354
  }
2355
+ $add_css .= $options['styles_input']['pc_ub']['border_color'].';';
2356
  }
2357
+ if( ! empty($add_css) ) {
2358
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc > span {'.$add_css.'}';
2359
+ }
2360
+ $add_css = '';
2361
  if ( ! empty($options['styles_input']['pc_ub']['show_font_color']) ) {
2362
+ $add_css .= 'color: ';
2363
  if ( $options['styles_input']['pc_ub']['show_font_color'][0] != '#' ) {
2364
+ $add_css .= '#';
2365
  }
2366
+ $add_css .= $options['styles_input']['pc_ub']['show_font_color'].';';
2367
  }
2368
  if ( ! empty($options['styles_input']['pc_ub']['show_font_size']) ) {
2369
+ $add_css .= 'font-size: '.$options['styles_input']['pc_ub']['show_font_size'].'px;';
2370
+ }
2371
+ if( ! empty($add_css) ) {
2372
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_widget_update_button {'.$add_css.'}';
2373
  }
 
 
2374
  if ( ! empty($options['styles_input']['pc_ub']['show_font_color_hover']) ) {
2375
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_widget_update_button:hover {';
2376
+ $result_css .= 'color: ';
2377
  if ( $options['styles_input']['pc_ub']['show_font_color_hover'][0] != '#' ) {
2378
+ $result_css .= '#';
2379
  }
2380
+ $result_css .= $options['styles_input']['pc_ub']['show_font_color_hover'].';';
2381
+ $result_css .= '}';
2382
  }
2383
+ $add_css = '';
 
2384
  if ( ! empty($options['styles_input']['pc_ub']['close_font_color']) ) {
2385
+ $add_css .= 'color: ';
2386
  if ( $options['styles_input']['pc_ub']['close_font_color'][0] != '#' ) {
2387
+ $add_css .= '#';
2388
  }
2389
+ $add_css .= $options['styles_input']['pc_ub']['close_font_color'].';';
2390
  }
2391
  if ( ! empty($options['styles_input']['pc_ub']['close_size']) ) {
2392
+ $add_css .= 'font-size: '.$options['styles_input']['pc_ub']['close_size'].'px;';
2393
+ }
2394
+ if( ! empty($add_css) ) {
2395
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_close_pc {'.$add_css.'}';
2396
  }
 
 
2397
  if ( ! empty($options['styles_input']['pc_ub']['close_font_color_hover']) ) {
2398
+ $result_css .= '.berocket_aapf_widget div.berocket_aapf_product_count_desc .berocket_aapf_close_pc:hover {';
2399
+ $result_css .= 'color: ';
2400
  if ( $options['styles_input']['pc_ub']['close_font_color_hover'][0] != '#' ) {
2401
+ $result_css .= '#';
2402
+ }
2403
+ $result_css .= $options['styles_input']['pc_ub']['close_font_color_hover'].';';
2404
+ $result_css .= '}';
2405
+ }
2406
+ $add_css = $this->convert_styles_to_string($options['styles_input']['onlyTitle_title']);
2407
+ if( ! empty($add_css) ) {
2408
+ $result_css .= 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget-title_div {'.$add_css.'}';
2409
+ }
2410
+ $add_css = $this->convert_styles_to_string($options['styles_input']['onlyTitle_titleopened']);
2411
+ if( ! empty($add_css) ) {
2412
+ $result_css .= 'div.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible .berocket_aapf_widget-title_div {'.$add_css.'}';
2413
+ }
2414
+ $add_css = $this->convert_styles_to_string($options['styles_input']['onlyTitle_filter']);
2415
+ if( ! empty($add_css) ) {
2416
+ $result_css .= 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget {'.$add_css.'}';
2417
+ }
2418
  if ( ! empty($options['styles_input']['onlyTitle_filter']['fcolor']) ) {
2419
+ $result_css .= 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget * {';
2420
+ $result_css .= 'color: ';
2421
  if ( $options['styles_input']['onlyTitle_filter']['fcolor'][0] != '#' ) {
2422
+ $result_css .= '#';
2423
  }
2424
+ $result_css .= $options['styles_input']['onlyTitle_filter']['fcolor'].';';
2425
+ $result_css .= '}';
2426
+ $result_css .= 'div.berocket_single_filter_widget.berocket_hidden_clickable .berocket_aapf_widget input {';
2427
+ $result_css .= 'color: black;';
2428
+ $result_css .= '}';
2429
+ }
2430
+ if( ! empty($result_css) ) {
2431
+ echo '<style type="text/css">' . $result_css . '</style>';
2432
  }
 
2433
  }
2434
  public function create_metadata_table() {
2435
  $options = $this->get_option();
2473
  }
2474
  public function wp_print_footer_scripts() {
2475
  $br_options = $this->get_option();
 
2476
  wp_enqueue_style( 'berocket_aapf_widget-scroll-style' );
2477
  wp_enqueue_style( 'berocket_aapf_widget-themer-style' );
2478
 
2552
  $terms = array();
2553
  foreach ( $term_id as $parent ) {
2554
  $args_terms = array(
2555
+ 'taxonomy' => $taxonomy,
 
2556
  'hide_empty' => false,
2557
+ 'parent' => intval($parent),
2558
  );
2559
+ $new_terms = berocket_aapf_get_terms($args_terms);
2560
+ if( ! is_array( $new_terms ) ) {
2561
+ $new_terms = array();
 
2562
  }
 
 
 
 
2563
  if ( is_array( $new_terms ) ) {
2564
  foreach ( $new_terms as $key => $term_val ) {
2565
  $new_terms[$key]->color = get_metadata( 'berocket_term', $term_val->term_id, 'color' );
2741
  }
2742
  update_option( 'br_filters_options', $options );
2743
  }
2744
+ if( $previous !== '0' && ( version_compare($previous, '1.4.1', '<') || (version_compare($previous, '2.0', '>') && version_compare($previous, '2.4.1', '<') ) ) ) {
2745
+ $options = $this->get_option();
2746
+ if( ! empty($options['show_all_values']) && empty($options['recount_products']) ) {
2747
+ $options['recount_hide'] = 'disable';
2748
+ } elseif( empty($options['show_all_values']) && empty($options['recount_products']) ) {
2749
+ $options['recount_hide'] = 'removeFirst';
2750
+ } elseif( ! empty($options['show_all_values']) && ! empty($options['recount_products']) ) {
2751
+ $options['recount_hide'] = 'recount';
2752
+ } elseif( empty($options['show_all_values']) && ! empty($options['recount_products']) ) {
2753
+ $options['recount_hide'] = 'removeFirst_recount';
2754
+ }
2755
+ update_option( 'br_filters_options', $options );
2756
+ $BeRocket_AAPF_single_filter = BeRocket_AAPF_single_filter::getInstance();
2757
+ $filters = $BeRocket_AAPF_single_filter->get_custom_posts();
2758
+ foreach($filters as $filter) {
2759
+ $filter_option = $BeRocket_AAPF_single_filter->get_option($filter);
2760
+ if( ($filter_option['filter_type'] == 'custom_taxonomy' || ($filter_option['filter_type'] == 'attribute' && $filter_option['attribute'] != 'price')) && $filter_option['type'] == 'slider' ) {
2761
+ $filter_option['order_values_by'] = '';
2762
+ $filter_option['order_values_type'] = 'asc';
2763
+ if( empty($filter_option['slider_default']) ) {
2764
+ if( $filter_option['filter_type'] == 'custom_taxonomy' ) {
2765
+ $terms = get_terms(array('taxonomy' => $filter_option['custom_taxonomy']));
2766
+ } else {
2767
+ $terms = get_terms(array('taxonomy' => $filter_option['attribute']));
2768
+ }
2769
+ if( ! empty($terms) && ! is_wp_error($terms) && is_array($terms) ) {
2770
+ $slider_with_string = false;
2771
+ $stringed_is_numeric = true;
2772
+ foreach ( $terms as $term ) {
2773
+ if ( ! is_numeric( $term->name ) ) {
2774
+ $slider_with_string = true;
2775
+ if ( ! is_numeric( substr( $term->name, 0, 1 ) ) ) {
2776
+ $stringed_is_numeric = false;
2777
+ }
2778
+ }
2779
+ }
2780
+ if( ! $slider_with_string ) {
2781
+ $filter_option['slider_numeric'] = '1';
2782
+ } elseif($slider_with_string && $stringed_is_numeric) {
2783
+ $filter_option['slider_numeric'] = '';
2784
+ $filter_option['order_values_by'] = 'Numeric';
2785
+ }
2786
+ }
2787
+ }
2788
+ update_post_meta( $filter, $BeRocket_AAPF_single_filter->post_name, $filter_option );
2789
+ }
2790
+ }
2791
+ }
2792
  }
2793
  public function save_settings_callback( $settings ) {
2794
  $options = $this->get_option();
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://berocket.com/product/woocommerce-ajax-products-filter?utm_s
5
  Tags: filters, product filters, ajax product filters, ajax filter, ajax filter widget, color filter, size filter, product onsale filter, product preview, product category filter, product reset filter, product sort by filter, stock filter, product tag filter, price range filter, price box filter, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce products filter, woocommerce ajax product filters, widget, plugin, woocommerce item filters, filters plugin, ajax filters plugin, filter woocommerce products, filter woocommerce products plugin, wc filters, wc filters products, wc products filters, wc ajax products filters, wc product filters, wc advanced product filters, woocommerce layered nav, woocommerce layered navigation, ajax filtered nav, ajax filtered navigation, price filter, ajax price filter, woocommerce product sorting, sidebar filter, sidebar ajax filter, taxonomy filter, category filter, attribute filter, attributes filter, woocommerce product sort, ajax products filter plugin for woocommerce, rocket, berocket, berocket woocommerce ajax products filter
6
  Requires at least: 4.0
7
  Tested up to: 5.3
8
- Stable tag: 1.4.0.5
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -184,6 +184,17 @@ You can try this plugin's admin side [here](https://berocket.com/product/woocomm
184
 
185
  == Changelog ==
186
 
 
 
 
 
 
 
 
 
 
 
 
187
  = 1.4.0.5 =
188
  * Enhancement - Compatibility version: Wordpress 5.3 and WooCommerce 3.8
189
  * Fix - Additional tables: stuck and do not generate tables
5
  Tags: filters, product filters, ajax product filters, ajax filter, ajax filter widget, color filter, size filter, product onsale filter, product preview, product category filter, product reset filter, product sort by filter, stock filter, product tag filter, price range filter, price box filter, advanced product filters, woocommerce filters, woocommerce product filters, woocommerce products filter, woocommerce ajax product filters, widget, plugin, woocommerce item filters, filters plugin, ajax filters plugin, filter woocommerce products, filter woocommerce products plugin, wc filters, wc filters products, wc products filters, wc ajax products filters, wc product filters, wc advanced product filters, woocommerce layered nav, woocommerce layered navigation, ajax filtered nav, ajax filtered navigation, price filter, ajax price filter, woocommerce product sorting, sidebar filter, sidebar ajax filter, taxonomy filter, category filter, attribute filter, attributes filter, woocommerce product sort, ajax products filter plugin for woocommerce, rocket, berocket, berocket woocommerce ajax products filter
6
  Requires at least: 4.0
7
  Tested up to: 5.3
8
+ Stable tag: 1.4.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
184
 
185
  == Changelog ==
186
 
187
+ = 1.4.1 =
188
+ * Enhancement - New recount options
189
+ * Enhancement - Rename some options to be more correct
190
+ * Enhancement - Group some options in advanced settings
191
+ * Enhancement - Get attribute values with WordPress default functionality
192
+ * Enhancement - Better sorting for hierarchical taxonomy (product categories)
193
+ * Enhancement - Better sorting with slider by atribute
194
+ * Enhancement - Some options work faster
195
+ * Fix - Get correct price with recount option
196
+ * Fix - Hide some options in filter settings
197
+
198
  = 1.4.0.5 =
199
  * Enhancement - Compatibility version: Wordpress 5.3 and WooCommerce 3.8
200
  * Fix - Additional tables: stuck and do not generate tables
templates/admin.php CHANGED
@@ -3,202 +3,6 @@
3
  <div><?php echo sprintf(__('You can add filter to %s that has limitation', 'BeRocket_AJAX_domain'), '<a href="' . admin_url('edit.php?post_type=br_filters_group') . '">' . __('Filters group', 'BeRocket_AJAX_domain') . '</a>'); ?></div>
4
  <div>Or you can replace deprecated widgets with new automatically in <a href="<?php echo admin_url('admin.php?page=br-product-filters'); ?>">Plugin settings</a>->Advanced tab</div>
5
  </div>
6
- <div class="berocket_disable_deprecated">
7
- <div>
8
- <label class="br_admin_center"><?php _e('Widget Type', 'BeRocket_AJAX_domain') ?></label>
9
- <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 br_select_menu_left">
10
- <?php if ( $instance['widget_type'] == 'filter' or ! $instance['widget_type'] ) { ?>
11
- <option selected value="filter"><?php _e('Filter', 'BeRocket_AJAX_domain') ?></option>
12
- <?php } if ( $instance['widget_type'] == 'update_button' ) { ?>
13
- <option selected value="update_button"><?php _e('Update Products button', 'BeRocket_AJAX_domain') ?></option>
14
- <?php } if ( $instance['widget_type'] == 'reset_button' ) { ?>
15
- <option selected value="reset_button"><?php _e('Reset Products button', 'BeRocket_AJAX_domain') ?></option>
16
- <?php } if ( $instance['widget_type'] == 'selected_area' ) { ?>
17
- <option selected value="selected_area"><?php _e('Selected Filters area', 'BeRocket_AJAX_domain') ?></option>
18
- <?php } if ( $instance['widget_type'] == 'search_box' ) { ?>
19
- <option selected value="search_box"><?php _e('Search Box', 'BeRocket_AJAX_domain') ?></option>
20
- <?php } ?>
21
- </select>
22
- </div>
23
-
24
- <hr />
25
-
26
- <div>
27
- <label class="br_admin_center" for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title', 'BeRocket_AJAX_domain') ?> </label>
28
- <input class="br_admin_full_size" id="<?php echo $this->get_field_id( 'title' ); ?>" type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>"/>
29
- </div>
30
- <?php if( empty($instance['filter_type']) ) $instance['filter_type'] = ''; ?>
31
- <div class="berocket_aapf_admin_filter_widget_content" <?php if ( $instance['widget_type'] == 'update_button' or $instance['widget_type'] == 'reset_button' or $instance['widget_type'] == 'selected_area' or $instance['widget_type'] == 'search_box' ) echo 'style="display: none;"'; ?>>
32
- <div class="br_admin_half_size_left">
33
- <label class="br_admin_center"><?php _e('Filter By', 'BeRocket_AJAX_domain') ?></label>
34
- <select id="<?php echo $this->get_field_id( 'filter_type' ); ?>" name="<?php echo $this->get_field_name( 'filter_type' ); ?>" class="berocket_aapf_widget_admin_filter_type_select br_select_menu_left">
35
- <?php if ( $instance['filter_type'] == 'attribute' || empty($instance['filter_type']) ) { ?>
36
- <option selected value="attribute"><?php _e('Attribute', 'BeRocket_AJAX_domain') ?></option>
37
- <?php } if ( $instance['filter_type'] == '_stock_status' ) { ?>
38
- <option selected value="_stock_status"><?php _e('Stock status', 'BeRocket_AJAX_domain') ?></option>
39
- <?php } if ( $instance['filter_type'] == 'product_cat' ) { ?>
40
- <option selected value="product_cat"><?php _e('Product sub-categories', 'BeRocket_AJAX_domain') ?></option>
41
- <?php } if ( $instance['filter_type'] == 'tag' ) { ?>
42
- <option selected value="tag"><?php _e('Tag', 'BeRocket_AJAX_domain') ?></option>
43
- <?php } if ( $instance['filter_type'] == 'custom_taxonomy' ) { ?>
44
- <option selected value="custom_taxonomy"><?php _e('Custom Taxonomy', 'BeRocket_AJAX_domain') ?></option>
45
- <?php } if ( $instance['filter_type'] == 'date' ) { ?>
46
- <option selected value="date"><?php _e('Date', 'BeRocket_AJAX_domain') ?></option>
47
- <?php } if ( $instance['filter_type'] == '_sale' ) { ?>
48
- <option selected value="_sale"><?php _e('Sale', 'BeRocket_AJAX_domain') ?></option>
49
- <?php } if ( $instance['filter_type'] == '_rating' ) { ?>
50
- <option selected value="_rating"><?php _e('Rating', 'BeRocket_AJAX_domain') ?></option>
51
- <?php } ?>
52
- </select>
53
- </div>
54
- <div class="br_admin_half_size_right berocket_aapf_widget_admin_filter_type_ berocket_aapf_widget_admin_filter_type_attribute" <?php if ( $instance['filter_type'] and $instance['filter_type'] != 'attribute') echo 'style="display: none;"'; ?>>
55
- <label class="br_admin_center"><?php _e('Attribute', 'BeRocket_AJAX_domain') ?></label>
56
- <select id="<?php echo $this->get_field_id( 'attribute' ); ?>" name="<?php echo $this->get_field_name( 'attribute' ); ?>" class="berocket_aapf_widget_admin_filter_type_attribute_select br_select_menu_right">
57
- <option <?php if ( $instance['attribute'] == 'price' ) echo 'selected'; ?> value="price"><?php _e('Price', 'BeRocket_AJAX_domain') ?></option>
58
- <?php foreach ( $attributes as $k => $v ) {
59
- if ( $instance['attribute'] == $k ) {?>
60
- <option selected value="<?php echo $k ?>"><?php echo $v ?></option>
61
- <?php }
62
- } ?>
63
- </select>
64
- </div>
65
- <div class="br_admin_half_size_right berocket_aapf_widget_admin_filter_type_ berocket_aapf_widget_admin_filter_type_custom_taxonomy" <?php if ( $instance['filter_type'] != 'custom_taxonomy') echo 'style="display: none;"'; ?>>
66
- <label class="br_admin_center"><?php _e('Custom Taxonomies', 'BeRocket_AJAX_domain') ?></label>
67
- <select id="<?php echo $this->get_field_id( 'custom_taxonomy' ); ?>" name="<?php echo $this->get_field_name( 'custom_taxonomy' ); ?>" class="berocket_aapf_widget_admin_filter_type_custom_taxonomy_select br_select_menu_right">
68
- <?php foreach( $custom_taxonomies as $k => $v ){
69
- if ( $instance['custom_taxonomy'] == $k ) { ?>
70
- <option selected value="<?php echo $k ?>"><?php echo $v ?></option>
71
- <?php }
72
- } ?>
73
- </select>
74
- </div>
75
- <div class="br_clearfix"></div>
76
- <div class="br_admin_three_size_left br_type_select_block"<?php if( $instance['filter_type'] == 'date' ) echo 'style="display: none;"'; ?>>
77
- <label class="br_admin_center"><?php _e('Type', 'BeRocket_AJAX_domain') ?></label>
78
- <select id="<?php echo $this->get_field_id( 'type' ); ?>" name="<?php echo $this->get_field_name( 'type' ); ?>" class="berocket_aapf_widget_admin_type_select br_select_menu_left">
79
- <?php if ( $instance['filter_type'] and $instance['filter_type'] != 'attribute' or $instance['attribute'] != 'price' ) { ?>
80
- <option <?php if ( $instance['type'] == 'checkbox' ) echo 'selected'; ?> value="checkbox">Checkbox</option>
81
- <option <?php if ( $instance['type'] == 'radio' ) echo 'selected'; ?> value="radio">Radio</option>
82
- <option <?php if ( $instance['type'] == 'select' ) echo 'selected'; ?> value="select">Select</option>
83
- <?php if ( $instance['filter_type'] != '_stock_status' && $instance['filter_type'] != '_sale' && $instance['filter_type'] != '_rating' ) { ?>
84
- <option <?php if ( $instance['type'] == 'color' ) echo 'selected'; ?> value="color">Color</option>
85
- <option <?php if ( $instance['type'] == 'image' ) echo 'selected'; ?> value="image">Image</option>
86
- <?php } ?>
87
- <?php } ?>
88
- <?php if ( $instance['filter_type'] and $instance['filter_type'] != 'tag' and $instance['filter_type'] != '_stock_status' and $instance['filter_type'] != '_sale' and $instance['filter_type'] != '_rating' and $instance['filter_type'] != 'product_cat' and ( $instance['filter_type'] != 'custom_taxonomy' or ( $instance['custom_taxonomy'] != 'product_tag' and $instance['custom_taxonomy'] != 'product_cat' ) ) ) {?>
89
- <option <?php if ( $instance['type'] == 'slider') echo 'selected'; ?> value="slider">Slider</option>
90
- <?php }
91
- if ( $instance['filter_type'] and $instance['filter_type'] == 'attribute' and $instance['attribute'] == 'price' ) {?>
92
- <option <?php if ( $instance['type'] == 'ranges') echo 'selected'; ?> value="ranges">Ranges</option>
93
- <?php }
94
- if ( $instance['filter_type'] and $instance['filter_type'] == 'tag' ) { ?>
95
- <option <?php if ( $instance['type'] == 'tag_cloud' ) echo 'selected'; ?> value="tag_cloud">Tag cloud</option>
96
- <?php } ?>
97
- </select>
98
- </div>
99
- <div class="br_admin_three_size_left" <?php if ( ( ! $instance['filter_type'] or $instance['filter_type'] == 'attribute' ) and $instance['attribute'] == 'price' or $instance['type'] == 'slider' or $instance['filter_type'] == 'date' or $instance['filter_type'] == '_sale' or $instance['filter_type'] == '_rating' ) echo " style='display: none;'"; ?> >
100
- <label class="br_admin_center"><?php _e('Operator', 'BeRocket_AJAX_domain') ?></label>
101
- <select id="<?php echo $this->get_field_id( 'operator' ); ?>" name="<?php echo $this->get_field_name( 'operator' ); ?>" class="berocket_aapf_widget_admin_operator_select br_select_menu_left">
102
- <option <?php if ( $instance['operator'] == 'AND' ) echo 'selected'; ?> value="AND">AND</option>
103
- <option <?php if ( $instance['operator'] == 'OR' ) echo 'selected'; ?> value="OR">OR</option>
104
- </select>
105
- </div>
106
- <div class="berocket_aapf_order_values_by br_admin_three_size_left" <?php if ( ! $instance['filter_type'] or $instance['filter_type'] == 'date' or $instance['filter_type'] == '_sale' or $instance['filter_type'] == '_rating' or $instance['filter_type'] == '_stock_status' or ( $instance['filter_type'] == 'attribute' and $instance['type'] == 'slider' )) echo 'style="display: none;"'; ?>>
107
- <label class="br_admin_center"><?php _e('Values Order', 'BeRocket_AJAX_domain') ?></label>
108
- <select id="<?php echo $this->get_field_id( 'order_values_by' ); ?>" name="<?php echo $this->get_field_name( 'order_values_by' ); ?>" class="berocket_aapf_order_values_by_select br_select_menu_left">
109
- <option value=""><?php _e('Default', 'BeRocket_AJAX_domain') ?></option>
110
- <?php foreach ( array( 'Alpha', 'Numeric' ) as $v ) { ?>
111
- <option <?php if ( $instance['order_values_by'] == $v ) echo 'selected'; ?> value="<?php _e( $v, 'BeRocket_AJAX_domain' ) ?>"><?php _e( $v, 'BeRocket_AJAX_domain' ) ?></option>
112
- <?php } ?>
113
- </select>
114
- </div>
115
- <div class="br_clearfix"></div>
116
- <div class="berocket_ranges_block"<?php if ( ! $instance['filter_type'] or $instance['filter_type'] != 'attribute' or $instance['attribute'] != 'price' or $instance['type'] != 'ranges' ) echo ' style="display: none;"'; ?>>
117
- <?php
118
- if ( isset( $instance['ranges'] ) && is_array( $instance['ranges'] ) && count( $instance['ranges'] ) > 0 ) {
119
- foreach ( $instance['ranges'] as $range ) {
120
- ?><div class="berocket_ranges">
121
- <input type="number" min="1" id="<?php echo $this->get_field_id( 'ranges' ); ?>" name="<?php echo $this->get_field_name( 'ranges' ); ?>[]" value="<?php echo $range; ?>">
122
- <a href="#remove" class="berocket_remove_ranges"><i class="fa fa-times"></i></a>
123
- </div><?php
124
- }
125
- } else {
126
- ?><div class="berocket_ranges">
127
- <input type="number" min="1" id="<?php echo $this->get_field_id( 'ranges' ); ?>" name="<?php echo $this->get_field_name( 'ranges' ); ?>[]" value="1">
128
- <a href="#remove" class="berocket_remove_ranges"><i class="fa fa-times"></i></a>
129
- </div>
130
- <div class="berocket_ranges">
131
- <input type="number" min="1" id="<?php echo $this->get_field_id( 'ranges' ); ?>" name="<?php echo $this->get_field_name( 'ranges' ); ?>[]" value="50">
132
- <a href="#remove" class="berocket_remove_ranges"><i class="fa fa-times"></i></a>
133
- </div> <?php
134
- }
135
- ?><div><a href="#add" class="berocket_add_ranges" data-html='<div class="berocket_ranges"><input type="number" min="1" id="<?php echo $this->get_field_id( 'ranges' ); ?>" name="<?php echo $this->get_field_name( 'ranges' ); ?>[]" value="1"><a href="#remove" class="berocket_remove_ranges"><i class="fa fa-times"></i></a></div>'><i class="fa fa-plus"></i></a></div>
136
- <label>
137
- <input type="checkbox" name="<?php echo $this->get_field_name( 'hide_first_last_ranges' ); ?>" <?php if ( $instance['hide_first_last_ranges'] ) echo 'checked'; ?> value="1" />
138
- <?php _e('Hide first and last ranges without products', 'BeRocket_AJAX_domain') ?>
139
- </label>
140
- </div>
141
- <div <?php if ( $instance['filter_type'] != 'attribute' || $instance['attribute'] != 'price' ) echo " style='display: none;'"; ?> class="berocket_aapf_widget_admin_price_attribute" >
142
- <label class="br_admin_center" for="<?php echo $this->get_field_id( 'text_before_price' ); ?>"><?php _e('Text before price:', 'BeRocket_AJAX_domain') ?> </label>
143
- <input class="br_admin_full_size" id="<?php echo $this->get_field_id( 'text_before_price' ); ?>" type="text" name="<?php echo $this->get_field_name( 'text_before_price' ); ?>" value="<?php echo $instance['text_before_price']; ?>"/>
144
- <label class="br_admin_center" for="<?php echo $this->get_field_id( 'text_after_price' ); ?>"><?php _e('after:', 'BeRocket_AJAX_domain') ?> </label>
145
- <input class="br_admin_full_size" 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']; ?>" /><br>
146
- <span>%cur_symbol% will be replaced with currency symbol($), %cur_slug% will be replaced with currency code(USD)</span><br>
147
- <input id="<?php echo $this->get_field_id( 'enable_slider_inputs' ); ?>" type="checkbox" name="<?php echo $this->get_field_name( 'enable_slider_inputs' ); ?>" value="1"<?php if( ! empty($instance['enable_slider_inputs']) ) echo ' checked'; ?>/>
148
- <label for="<?php echo $this->get_field_id( 'enable_slider_inputs' ); ?>"><?php _e('Enable Slider Inputs', 'BeRocket_AJAX_domain') ?> </label>
149
- </div>
150
- <div <?php if ( $instance['filter_type'] != 'attribute' || $instance['attribute'] != 'price' ) echo " style='display: none;'"; ?> class="berocket_aapf_widget_admin_price_attribute" >
151
- <label for="<?php echo $this->get_field_id( 'price_values' ); ?>"><?php _e('Use custom values(comma separated):', 'BeRocket_AJAX_domain') ?> </label>
152
- <input class="br_admin_full_size" id="<?php echo $this->get_field_id( 'price_values' ); ?>" type="text" name="<?php echo $this->get_field_name( 'price_values' ); ?>" value="<?php echo br_get_value_from_array($instance, 'price_values'); ?>"/>
153
- <small><?php _e('* use numeric values only, strings will not work as expected', 'BeRocket_AJAX_domain') ?></small>
154
- </div>
155
- <div class="br_clearfix"></div>
156
- <div class="berocket_aapf_product_sub_cat_current" <?php if( $instance['filter_type'] != 'product_cat' ) echo 'style="display:none;"'; ?>>
157
- <div>
158
- <label>
159
- <input class="berocket_aapf_product_sub_cat_current_input" type="checkbox" name="<?php echo $this->get_field_name( 'parent_product_cat_current' ); ?>" <?php if ( $instance['parent_product_cat_current'] ) echo 'checked'; ?> value="1" />
160
- <?php _e('Use current product category to get child', 'BeRocket_AJAX_domain') ?>
161
- </label>
162
- </div>
163
- <div>
164
- <label for="<?php echo $this->get_field_id( 'depth_count' ); ?>"><?php _e('Deep level:', 'BeRocket_AJAX_domain') ?></label>
165
- <input id="<?php echo $this->get_field_id( 'depth_count' ); ?>" type="number" min=0 name="<?php echo $this->get_field_name( 'depth_count' ); ?>" value="<?php echo $instance['depth_count']; ?>" />
166
- </div>
167
- </div>
168
- <div class="berocket_aapf_product_sub_cat_div" <?php if( $instance['filter_type'] != 'product_cat' || $instance['parent_product_cat_current'] ) echo 'style="display:none;"'; ?>>
169
- <label><?php _e('Product Category:', 'BeRocket_AJAX_domain') ?></label>
170
- <ul class="berocket_aapf_advanced_settings_categories_list">
171
- <li>
172
- <?php
173
- echo '<input type="radio" name="' . ( $this->get_field_name( 'parent_product_cat' ) ) . '" ' .
174
- ( empty($instance['parent_product_cat']) ? 'checked' : '' ) . ' value="" ' .
175
- 'class="berocket_aapf_widget_admin_height_input" />';
176
- ?>
177
- <?php _e('None', 'BeRocket_AJAX_domain') ?>
178
- </li>
179
- <?php
180
- $selected_category = false;
181
- foreach ( $categories as $category ) {
182
- if ( (int) $instance['parent_product_cat'] == (int) $category->term_id ) {
183
- $selected_category = true;
184
- }
185
- if( $selected_category ) {
186
- echo '<li>';
187
- echo '<input type="radio" name="' . ( $this->get_field_name( 'parent_product_cat' ) ) . '" ' .
188
- 'checked value="' . ( $category->term_id ).'" ' .
189
- 'class="berocket_aapf_widget_admin_height_input" />' . ( $category->name );
190
- echo '</li>';
191
- $selected_category = false;
192
- }
193
- }
194
- ?>
195
- </ul>
196
- </div>
197
- <br />
198
- <div class="br_clearfix"></div>
199
- </div>
200
- <div class="berocket_disable_deprecated_hide"></div>
201
- </div>
202
  <script>
203
  if( typeof(br_widget_set) == 'function' )
204
  br_widget_set();
3
  <div><?php echo sprintf(__('You can add filter to %s that has limitation', 'BeRocket_AJAX_domain'), '<a href="' . admin_url('edit.php?post_type=br_filters_group') . '">' . __('Filters group', 'BeRocket_AJAX_domain') . '</a>'); ?></div>
4
  <div>Or you can replace deprecated widgets with new automatically in <a href="<?php echo admin_url('admin.php?page=br-product-filters'); ?>">Plugin settings</a>->Advanced tab</div>
5
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  <script>
7
  if( typeof(br_widget_set) == 'function' )
8
  br_widget_set();
templates/checkbox.php CHANGED
@@ -108,7 +108,7 @@ if ( ! empty($terms) ):
108
  </style>';
109
  }
110
  if ( $is_child_parent && is_array( berocket_isset( $terms ) ) && count( $terms ) == 1 ) {
111
- if ( BeRocket_AAPF_Widget::is_parent_selected( $attribute, $child_parent_depth - 1 ) ) {
112
  echo '<li>' . $child_parent_no_values . '</li>';
113
  } else {
114
  echo '<li>' . $child_parent_previous . '</li>';
@@ -137,6 +137,6 @@ if ( ! empty($terms) ):
137
  }
138
  }
139
  if( empty($hide_button_value) ) {
140
- ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button"></span></li><?php
141
  }
142
  endif;
108
  </style>';
109
  }
110
  if ( $is_child_parent && is_array( berocket_isset( $terms ) ) && count( $terms ) == 1 ) {
111
+ if ( BeRocket_AAPF_Widget_functions::is_parent_selected( $attribute, $child_parent_depth - 1 ) ) {
112
  echo '<li>' . $child_parent_no_values . '</li>';
113
  } else {
114
  echo '<li>' . $child_parent_previous . '</li>';
137
  }
138
  }
139
  if( empty($hide_button_value) ) {
140
+ ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button fa"></span></li><?php
141
  }
142
  endif;
templates/color.php CHANGED
@@ -175,7 +175,7 @@ if ( is_array(berocket_isset($terms)) ) {
175
  }
176
  }
177
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
178
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
179
  echo '<li>'.$child_parent_no_values.'</li>';
180
  } else {
181
  echo '<li>'.$child_parent_previous.'</li>';
@@ -203,6 +203,6 @@ if ( is_array(berocket_isset($terms)) ) {
203
  }
204
  }
205
  if( empty($hide_button_value) ) {
206
- ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button"></span></li>
207
  <div style="clear: both;"></div><?php
208
  } }
175
  }
176
  }
177
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
178
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
179
  echo '<li>'.$child_parent_no_values.'</li>';
180
  } else {
181
  echo '<li>'.$child_parent_previous.'</li>';
203
  }
204
  }
205
  if( empty($hide_button_value) ) {
206
+ ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button fa"></span></li>
207
  <div style="clear: both;"></div><?php
208
  } }
templates/disabled/checkbox.php CHANGED
@@ -100,7 +100,7 @@ if ( ! empty($terms) ):
100
  }
101
  endforeach;?>
102
  <?php if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
103
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
104
  echo '<li>'.$child_parent_no_values.'</li>';
105
  } else {
106
  echo '<li>'.$child_parent_previous.'</li>';
@@ -127,5 +127,5 @@ if ( ! empty($terms) ):
127
  }
128
  }
129
  if( empty($hide_button_value) ) { ?>
130
- <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button"></span></li>
131
  <?php } endif; ?>
100
  }
101
  endforeach;?>
102
  <?php if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
103
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
104
  echo '<li>'.$child_parent_no_values.'</li>';
105
  } else {
106
  echo '<li>'.$child_parent_previous.'</li>';
127
  }
128
  }
129
  if( empty($hide_button_value) ) { ?>
130
+ <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button fa"></span></li>
131
  <?php } endif; ?>
templates/disabled/color.php CHANGED
@@ -167,7 +167,7 @@ if ( is_array(berocket_isset($terms)) ) {
167
  }
168
  } ?>
169
  <?php if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
170
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
171
  echo '<li>'.$child_parent_no_values.'</li>';
172
  } else {
173
  echo '<li>'.$child_parent_previous.'</li>';
@@ -194,6 +194,6 @@ if ( is_array(berocket_isset($terms)) ) {
194
  }
195
  }
196
  if( empty($hide_button_value) ) { ?>
197
- <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button"></span></li>
198
  <div style="clear: both;"></div>
199
  <?php } }
167
  }
168
  } ?>
169
  <?php if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 1 ) {
170
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
171
  echo '<li>'.$child_parent_no_values.'</li>';
172
  } else {
173
  echo '<li>'.$child_parent_previous.'</li>';
194
  }
195
  }
196
  if( empty($hide_button_value) ) { ?>
197
+ <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', 'BeRocket_AJAX_domain') ?><span class="show_button fa"></span></li>
198
  <div style="clear: both;"></div>
199
  <?php } }
templates/disabled/radio.php CHANGED
@@ -85,7 +85,7 @@ if ( is_array(berocket_isset($terms)) ) {
85
  }
86
  } ?>
87
  <?php if( $is_child_parent && isset($terms) && is_array($terms) && count($terms) == 1 ) {
88
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
89
  echo '<li>'.$child_parent_no_values.'</li>';
90
  } else {
91
  echo '<li>'.$child_parent_previous.'</li>';
@@ -112,5 +112,5 @@ if ( is_array(berocket_isset($terms)) ) {
112
  }
113
  }
114
  if( empty($hide_button_value) ) { ?>
115
- <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', BeRocket_AJAX_domain) ?><span class="show_button"></span></li>
116
  <?php } } ?>
85
  }
86
  } ?>
87
  <?php if( $is_child_parent && isset($terms) && is_array($terms) && count($terms) == 1 ) {
88
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
89
  echo '<li>'.$child_parent_no_values.'</li>';
90
  } else {
91
  echo '<li>'.$child_parent_previous.'</li>';
112
  }
113
  }
114
  if( empty($hide_button_value) ) { ?>
115
+ <li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', BeRocket_AJAX_domain) ?><span class="show_button fa"></span></li>
116
  <?php } } ?>
templates/disabled/select.php CHANGED
@@ -45,7 +45,7 @@ unset($terms[0]);
45
  }
46
  $terms = array_values($terms);
47
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 0 ) {
48
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
49
  echo '<li>'.$child_parent_no_values.'</li>';
50
  } else {
51
  echo '<li>'.$child_parent_previous.'</li>';
45
  }
46
  $terms = array_values($terms);
47
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 0 ) {
48
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
49
  echo '<li>'.$child_parent_no_values.'</li>';
50
  } else {
51
  echo '<li>'.$child_parent_previous.'</li>';
templates/filter_post.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  $attributes = br_aapf_get_attributes();
3
- $categories = BeRocket_AAPF_Widget::get_product_categories( '' );
4
- $categories = BeRocket_AAPF_Widget::set_terms_on_same_level( $categories );
5
  $tags = get_terms( 'product_tag' );
6
  $custom_taxonomies = get_object_taxonomies( 'product' );
7
  $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
@@ -174,7 +174,7 @@ $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
174
  <?php } ?>
175
  </select>
176
  </div>
177
- <div class="berocket_aapf_order_values_type br_admin_three_size_left" <?php if ( (( $instance['filter_type'] != 'attribute' && $instance['filter_type'] != 'custom_taxonomy') || $instance['type'] == 'slider' || $instance['type'] == 'ranges') && $instance['filter_type'] != '_rating' && $instance['filter_type'] != 'tag' ) echo 'style="display: none;"'; ?>>
178
  <label class="br_admin_center"><?php _e('Order Type', 'BeRocket_AJAX_domain') ?></label>
179
  <select id="<?php echo 'order_values_type'; ?>" name="<?php echo $post_name.'[order_values_type]'; ?>" class="berocket_aapf_order_values_type_select br_select_menu_left">
180
  <?php foreach ( array( 'asc' => __( 'Ascending', 'BeRocket_AJAX_domain' ), 'desc' => __( 'Descending', 'BeRocket_AJAX_domain' ) ) as $v_i => $v ) { ?>
@@ -194,7 +194,7 @@ $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
194
  } elseif ( $instance['filter_type'] == 'custom_taxonomy' ) {
195
  $attribute_color_view = $instance['custom_taxonomy'];
196
  }
197
- BeRocket_AAPF_Widget::color_list_view( $instance['type'], $attribute_color_view, true );
198
  } ?>
199
  </div>
200
  <div class="berocket_ranges_block"<?php if ( ! $instance['filter_type'] or $instance['filter_type'] != 'attribute' or $instance['attribute'] != 'price' or $instance['type'] != 'ranges' ) echo ' style="display: none;"'; ?>>
@@ -526,7 +526,7 @@ $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
526
  <input id="<?php echo 'tag_cloud_tags_count'; ?>" type="text" name="<?php echo $post_name.'[tag_cloud_tags_count]'; ?>" value="<?php echo $instance['tag_cloud_tags_count']; ?>" class="berocket_aapf_widget_admin_height_input" />
527
  </div>
528
  </div>
529
- <div class="berocket_aapf_widget_admin_price_attribute berocket_aapf_widget_admin_ranges_hide" <?php if ( ! ( $instance['attribute'] == 'price' && $instance['type'] == 'slider' ) ) echo " style='display: none;'"; ?> >
530
  <div class="br_admin_half_size_left">
531
  <div class="berocket_aapf_checked_show_next">
532
  <input id="<?php echo 'use_min_price'; ?>" type="checkbox" name="<?php echo $post_name.'[use_min_price]'; ?>" <?php if ( $instance['use_min_price'] ) echo 'checked'; ?> value="1" class="berocket_aapf_widget_admin_input_price_is"/>
1
  <?php
2
  $attributes = br_aapf_get_attributes();
3
+ $categories = BeRocket_AAPF_Widget_functions::get_product_categories( '' );
4
+ $categories = BeRocket_AAPF_Widget_functions::set_terms_on_same_level( $categories );
5
  $tags = get_terms( 'product_tag' );
6
  $custom_taxonomies = get_object_taxonomies( 'product' );
7
  $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
174
  <?php } ?>
175
  </select>
176
  </div>
177
+ <div class="berocket_aapf_order_values_type br_admin_three_size_left" <?php if ( (( $instance['filter_type'] != 'attribute' && $instance['filter_type'] != 'custom_taxonomy') || ($instance['filter_type'] == 'attribute' && $instance['attribute'] == 'price') || $instance['type'] == 'ranges') && $instance['filter_type'] != '_rating' && $instance['filter_type'] != 'tag' ) echo 'style="display: none;"'; ?>>
178
  <label class="br_admin_center"><?php _e('Order Type', 'BeRocket_AJAX_domain') ?></label>
179
  <select id="<?php echo 'order_values_type'; ?>" name="<?php echo $post_name.'[order_values_type]'; ?>" class="berocket_aapf_order_values_type_select br_select_menu_left">
180
  <?php foreach ( array( 'asc' => __( 'Ascending', 'BeRocket_AJAX_domain' ), 'desc' => __( 'Descending', 'BeRocket_AJAX_domain' ) ) as $v_i => $v ) { ?>
194
  } elseif ( $instance['filter_type'] == 'custom_taxonomy' ) {
195
  $attribute_color_view = $instance['custom_taxonomy'];
196
  }
197
+ BeRocket_AAPF_Widget_functions::color_list_view( $instance['type'], $attribute_color_view, true );
198
  } ?>
199
  </div>
200
  <div class="berocket_ranges_block"<?php if ( ! $instance['filter_type'] or $instance['filter_type'] != 'attribute' or $instance['attribute'] != 'price' or $instance['type'] != 'ranges' ) echo ' style="display: none;"'; ?>>
526
  <input id="<?php echo 'tag_cloud_tags_count'; ?>" type="text" name="<?php echo $post_name.'[tag_cloud_tags_count]'; ?>" value="<?php echo $instance['tag_cloud_tags_count']; ?>" class="berocket_aapf_widget_admin_height_input" />
527
  </div>
528
  </div>
529
+ <div class="berocket_aapf_widget_admin_price_attribute" <?php if ( ! ( $instance['attribute'] == 'price' && $instance['type'] == 'slider' ) ) echo " style='display: none;'"; ?> >
530
  <div class="br_admin_half_size_left">
531
  <div class="berocket_aapf_checked_show_next">
532
  <input id="<?php echo 'use_min_price'; ?>" type="checkbox" name="<?php echo $post_name.'[use_min_price]'; ?>" <?php if ( $instance['use_min_price'] ) echo 'checked'; ?> value="1" class="berocket_aapf_widget_admin_input_price_is"/>
templates/filter_post_simple.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  $attributes = br_aapf_get_attributes();
3
- $categories = BeRocket_AAPF_Widget::get_product_categories( '' );
4
- $categories = BeRocket_AAPF_Widget::set_terms_on_same_level( $categories );
5
  $tags = get_terms( 'product_tag' );
6
  $custom_taxonomies = get_object_taxonomies( 'product' );
7
  $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
1
  <?php
2
  $attributes = br_aapf_get_attributes();
3
+ $categories = BeRocket_AAPF_Widget_functions::get_product_categories( '' );
4
+ $categories = BeRocket_AAPF_Widget_functions::set_terms_on_same_level( $categories );
5
  $tags = get_terms( 'product_tag' );
6
  $custom_taxonomies = get_object_taxonomies( 'product' );
7
  $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
templates/radio.php CHANGED
@@ -97,7 +97,7 @@ if ( is_array(berocket_isset($terms)) ) {
97
  }
98
  } ?>
99
  <?php if( $is_child_parent && isset($terms) && is_array($terms) && count($terms) == 1 ) {
100
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
101
  echo '<li>'.$child_parent_no_values.'</li>';
102
  } else {
103
  echo '<li>'.$child_parent_previous.'</li>';
@@ -125,5 +125,5 @@ if ( is_array(berocket_isset($terms)) ) {
125
  }
126
  }
127
  if( empty($hide_button_value) ) {
128
- ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', BeRocket_AJAX_domain) ?><span class="show_button"></span></li><?php
129
  } }
97
  }
98
  } ?>
99
  <?php if( $is_child_parent && isset($terms) && is_array($terms) && count($terms) == 1 ) {
100
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
101
  echo '<li>'.$child_parent_no_values.'</li>';
102
  } else {
103
  echo '<li>'.$child_parent_previous.'</li>';
125
  }
126
  }
127
  if( empty($hide_button_value) ) {
128
+ ?><li class="berocket_widget_show_values"<?php if( !$hiden_value ) echo 'style="display: none;"' ?>><?php _e('Show value(s)', BeRocket_AJAX_domain) ?><span class="show_button fa"></span></li><?php
129
  } }
templates/select.php CHANGED
@@ -50,7 +50,7 @@ unset($terms[0]);
50
  }
51
  $terms = array_values($terms);
52
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 0 ) {
53
- if( BeRocket_AAPF_Widget::is_parent_selected($attribute, $child_parent_depth - 1) ) {
54
  echo '<li>'.$child_parent_no_values.'</li>';
55
  } else {
56
  echo '<li>'.$child_parent_previous.'</li>';
50
  }
51
  $terms = array_values($terms);
52
  if( $is_child_parent && is_array(berocket_isset($terms)) && count($terms) == 0 ) {
53
+ if( BeRocket_AAPF_Widget_functions::is_parent_selected($attribute, $child_parent_depth - 1) ) {
54
  echo '<li>'.$child_parent_no_values.'</li>';
55
  } else {
56
  echo '<li>'.$child_parent_previous.'</li>';
templates/settings/design.php CHANGED
@@ -700,7 +700,7 @@ $fonts_list = g_fonts_list();
700
  </table>
701
  <table class="wp-list-table widefat fixed posts">
702
  <thead>
703
- <tr><th colspan="10" style="text-align: center; font-size: 2em;"><?php _e('Product count description before filtering with Update button', 'BeRocket_AJAX_domain') ?></th></tr>
704
  <tr>
705
  <th class="manage-column admin-column-color" scope="col"><?php _e('Background color', 'BeRocket_AJAX_domain') ?></th>
706
  <th class="manage-column admin-column-color" scope="col"><?php _e('Border color', 'BeRocket_AJAX_domain') ?></th>
@@ -878,7 +878,7 @@ $fonts_list = g_fonts_list();
878
  </table>
879
  <table class="form-table">
880
  <tr>
881
- <th scope="row"><?php _e('Loading products icon', 'BeRocket_AJAX_domain') ?></th>
882
  <td>
883
  <?php echo berocket_font_select_upload('', 'br_filters_options_ajax_load_icon', 'br_filters_options[ajax_load_icon]', br_get_value_from_array($options, 'ajax_load_icon'), false); ?>
884
  </td>
@@ -886,12 +886,12 @@ $fonts_list = g_fonts_list();
886
  </table>
887
  <table class="form-table">
888
  <tr>
889
- <th scope="row"><?php _e('Text at load icon', 'BeRocket_AJAX_domain') ?></th>
890
  <td>
891
  <span><?php _e('Above:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][top]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'top',)); ?>'/>
892
  </td>
893
  <td>
894
- <span><?php _e('Under:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][bottom]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'bottom')); ?>'/>
895
  </td>
896
  <td>
897
  <span><?php _e('Before:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][left]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'left')); ?>'/>
@@ -903,26 +903,26 @@ $fonts_list = g_fonts_list();
903
  </table>
904
  <table class="form-table">
905
  <tr>
906
- <th scope="row"><?php _e('Description show and hide', 'BeRocket_AJAX_domain') ?></th>
907
  <td>
908
- <span><?php _e('Show on:', 'BeRocket_AJAX_domain') ?> </span>
909
  <select name="br_filters_options[description][show]">
910
  <option <?php echo ( $options['description']['show'] == 'click' ) ? 'selected' : '' ?> value="click"><?php _e('Click', 'BeRocket_AJAX_domain') ?></option>
911
- <option <?php echo ( $options['description']['show'] == 'hover' ) ? 'selected' : '' ?> value="hover"><?php _e('Mouse over icon', 'BeRocket_AJAX_domain') ?></option>
912
  </select>
913
  </td>
914
  <td>
915
- <span><?php _e('Hide on:', 'BeRocket_AJAX_domain') ?> </span>
916
  <select name="br_filters_options[description][hide]">
917
  <option <?php echo ( $options['description']['hide'] == 'click' ) ? 'selected' : '' ?> value="click"><?php _e('Click anywhere', 'BeRocket_AJAX_domain') ?></option>
918
- <option <?php echo ( $options['description']['hide'] == 'mouseleave' ) ? 'selected' : '' ?> value="mouseleave"><?php _e('Mouse out of icon', 'BeRocket_AJAX_domain') ?></option>
919
  </select>
920
  </td>
921
  </tr>
922
  </table>
923
  <table class="form-table">
924
  <tr>
925
- <th scope="row"><?php _e('Product count style', 'BeRocket_AJAX_domain') ?></th>
926
  <td>
927
  <select name="br_filters_options[styles_input][product_count]">
928
  <option <?php echo ( $options['styles_input']['product_count'] ) ? 'selected' : '' ?> value=""><?php _e('4', 'BeRocket_AJAX_domain') ?></option>
@@ -949,7 +949,7 @@ $fonts_list = g_fonts_list();
949
  </table>
950
  <table class="form-table">
951
  <tr>
952
- <th scope="row"><?php _e('Select(dropdown) Child Tree Indent', 'BeRocket_AJAX_domain') ?></th>
953
  <td>
954
  <select name="br_filters_options[child_pre_indent]">
955
  <option <?php echo ( $options['child_pre_indent'] ) ? 'selected' : '' ?> value=""><?php _e('-', 'BeRocket_AJAX_domain') ?></option>
700
  </table>
701
  <table class="wp-list-table widefat fixed posts">
702
  <thead>
703
+ <tr><th colspan="10" style="text-align: center; font-size: 2em;"><?php _e('Product count description before filtering with Apply Filters button', 'BeRocket_AJAX_domain') ?></th></tr>
704
  <tr>
705
  <th class="manage-column admin-column-color" scope="col"><?php _e('Background color', 'BeRocket_AJAX_domain') ?></th>
706
  <th class="manage-column admin-column-color" scope="col"><?php _e('Border color', 'BeRocket_AJAX_domain') ?></th>
878
  </table>
879
  <table class="form-table">
880
  <tr>
881
+ <th scope="row"><?php _e('Loading icon', 'BeRocket_AJAX_domain') ?></th>
882
  <td>
883
  <?php echo berocket_font_select_upload('', 'br_filters_options_ajax_load_icon', 'br_filters_options[ajax_load_icon]', br_get_value_from_array($options, 'ajax_load_icon'), false); ?>
884
  </td>
886
  </table>
887
  <table class="form-table">
888
  <tr>
889
+ <th scope="row"><?php _e('Loading icon text', 'BeRocket_AJAX_domain') ?></th>
890
  <td>
891
  <span><?php _e('Above:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][top]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'top',)); ?>'/>
892
  </td>
893
  <td>
894
+ <span><?php _e('Below:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][bottom]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'bottom')); ?>'/>
895
  </td>
896
  <td>
897
  <span><?php _e('Before:', 'BeRocket_AJAX_domain') ?> </span><input name="br_filters_options[ajax_load_text][left]" type='text' value='<?php echo br_get_value_from_array($options, array('ajax_load_text', 'left')); ?>'/>
903
  </table>
904
  <table class="form-table">
905
  <tr>
906
+ <th scope="row"><?php _e('Show and hide description', 'BeRocket_AJAX_domain') ?></th>
907
  <td>
908
+ <span><?php _e('Show when user:', 'BeRocket_AJAX_domain') ?> </span>
909
  <select name="br_filters_options[description][show]">
910
  <option <?php echo ( $options['description']['show'] == 'click' ) ? 'selected' : '' ?> value="click"><?php _e('Click', 'BeRocket_AJAX_domain') ?></option>
911
+ <option <?php echo ( $options['description']['show'] == 'hover' ) ? 'selected' : '' ?> value="hover"><?php _e('Hovering over the icon', 'BeRocket_AJAX_domain') ?></option>
912
  </select>
913
  </td>
914
  <td>
915
+ <span><?php _e('Hide when user:', 'BeRocket_AJAX_domain') ?> </span>
916
  <select name="br_filters_options[description][hide]">
917
  <option <?php echo ( $options['description']['hide'] == 'click' ) ? 'selected' : '' ?> value="click"><?php _e('Click anywhere', 'BeRocket_AJAX_domain') ?></option>
918
+ <option <?php echo ( $options['description']['hide'] == 'mouseleave' ) ? 'selected' : '' ?> value="mouseleave"><?php _e('Move cursor outside the icon', 'BeRocket_AJAX_domain') ?></option>
919
  </select>
920
  </td>
921
  </tr>
922
  </table>
923
  <table class="form-table">
924
  <tr>
925
+ <th scope="row"><?php _e('Product quantity style', 'BeRocket_AJAX_domain') ?></th>
926
  <td>
927
  <select name="br_filters_options[styles_input][product_count]">
928
  <option <?php echo ( $options['styles_input']['product_count'] ) ? 'selected' : '' ?> value=""><?php _e('4', 'BeRocket_AJAX_domain') ?></option>
949
  </table>
950
  <table class="form-table">
951
  <tr>
952
+ <th scope="row"><?php _e('Indent option for hierarchy in Drop-Down', 'BeRocket_AJAX_domain') ?></th>
953
  <td>
954
  <select name="br_filters_options[child_pre_indent]">
955
  <option <?php echo ( $options['child_pre_indent'] ) ? 'selected' : '' ?> value=""><?php _e('-', 'BeRocket_AJAX_domain') ?></option>
woocommerce-filters.php CHANGED
@@ -3,14 +3,14 @@
3
  * Plugin Name: Advanced AJAX Product Filters for WooCommerce
4
  * Plugin URI: https://wordpress.org/plugins/woocommerce-ajax-filters/?utm_source=free_plugin&utm_medium=plugins&utm_campaign=ajax_filters
5
  * Description: Unlimited AJAX products filters to make your shop perfect
6
- * Version: 1.4.0.5
7
  * Author: BeRocket
8
  * Requires at least: 4.0
9
  * Author URI: https://berocket.com?utm_source=free_plugin&utm_medium=plugins&utm_campaign=ajax_filters
10
  * Text Domain: BeRocket_AJAX_domain
11
  * Domain Path: /languages/
12
- * WC tested up to: 3.8
13
  */
14
- define( "BeRocket_AJAX_filters_version", '1.4.0.5' );
15
  define( "BeRocket_AJAX_filters_file", __FILE__ );
16
  include_once('main.php');
3
  * Plugin Name: Advanced AJAX Product Filters for WooCommerce
4
  * Plugin URI: https://wordpress.org/plugins/woocommerce-ajax-filters/?utm_source=free_plugin&utm_medium=plugins&utm_campaign=ajax_filters
5
  * Description: Unlimited AJAX products filters to make your shop perfect
6
+ * Version: 1.4.1
7
  * Author: BeRocket
8
  * Requires at least: 4.0
9
  * Author URI: https://berocket.com?utm_source=free_plugin&utm_medium=plugins&utm_campaign=ajax_filters
10
  * Text Domain: BeRocket_AJAX_domain
11
  * Domain Path: /languages/
12
+ * WC tested up to: 3.8.1
13
  */
14
+ define( "BeRocket_AJAX_filters_version", '1.4.1' );
15
  define( "BeRocket_AJAX_filters_file", __FILE__ );
16
  include_once('main.php');