Advanced Woo Search - Version 1.77

Version Description

  • Fix - Order by price bug on search results page
  • Update - plugin text domain
  • Add - ru translation ( thanks to @hdelta045 )
  • Update - styles for search form
  • Update - styles for search form on mobile devices
  • Update - search results image size
  • Add - seamless integration for Astra theme
  • Update - settings page text
Download this release

Release Info

Developer Mihail Barinov
Plugin Icon 128x128 Advanced Woo Search
Version 1.77
Comparing to
See all releases

Code changes from version 1.76 to 1.77

advanced-woo-search.php CHANGED
@@ -3,10 +3,10 @@
3
  /*
4
  Plugin Name: Advanced Woo Search
5
  Description: Advance ajax WooCommerce product search.
6
- Version: 1.76
7
  Author: ILLID
8
  Author URI: https://advanced-woo-search.com/
9
- Text Domain: aws
10
  WC requires at least: 3.0.0
11
  WC tested up to: 3.6.0
12
  */
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  exit;
17
  }
18
 
19
- define( 'AWS_VERSION', '1.76' );
20
 
21
 
22
  define( 'AWS_DIR', dirname( __FILE__ ) );
@@ -81,7 +81,7 @@ final class AWS_Main {
81
 
82
  add_filter( 'plugin_action_links', array( $this, 'add_action_link' ), 10, 2 );
83
 
84
- load_plugin_textdomain( 'aws', false, dirname( plugin_basename( __FILE__ ) ). '/languages/' );
85
 
86
  $this->includes();
87
 
@@ -92,6 +92,7 @@ final class AWS_Main {
92
  if ( $this->get_settings('seamless') === 'true' ) {
93
  add_filter( 'get_search_form', array( $this, 'markup' ), 999999 );
94
  add_filter( 'get_product_search_form', array( $this, 'markup' ), 999999 );
 
95
  }
96
 
97
  }
@@ -150,10 +151,10 @@ final class AWS_Main {
150
  wp_enqueue_style( 'aws-style', AWS_URL . '/assets/css/common.css', array(), AWS_VERSION );
151
  wp_enqueue_script('aws-script', AWS_URL . '/assets/js/common.js', array('jquery'), AWS_VERSION, true);
152
  wp_localize_script('aws-script', 'aws_vars', array(
153
- 'sale' => __('Sale!', 'aws'),
154
- 'sku' => __('SKU', 'aws'),
155
- 'showmore' => $this->get_settings('show_more_text') ? AWS_Helpers::translate( 'show_more_text', stripslashes( $this->get_settings('show_more_text') ) ) : __('View all results', 'aws'),
156
- 'noresults' => $this->get_settings('not_found_text') ? AWS_Helpers::translate( 'not_found_text', stripslashes( $this->get_settings('not_found_text') ) ) : __('Nothing found', 'aws'),
157
  ));
158
  }
159
 
@@ -164,10 +165,10 @@ final class AWS_Main {
164
  $plugin_base = plugin_basename( __FILE__ );
165
 
166
  if ( $file == $plugin_base ) {
167
- $setting_link = '<a href="' . admin_url('admin.php?page=aws-options') . '">'.esc_html__( 'Settings', 'aws' ).'</a>';
168
  array_unshift( $links, $setting_link );
169
 
170
- $premium_link = '<a href="https://advanced-woo-search.com/?utm_source=plugin&utm_medium=settings-link&utm_campaign=aws-pro-plugin" target="_blank">'.esc_html__( 'Get Premium', 'aws' ).'</a>';
171
  array_unshift( $links, $premium_link );
172
  }
173
 
@@ -246,7 +247,7 @@ function aws_is_plugin_active_for_network( $plugin ) {
246
  function aws_install_woocommerce_admin_notice() {
247
  ?>
248
  <div class="error">
249
- <p><?php esc_html_e( 'Advanced Woo Search plugin is enabled but not effective. It requires WooCommerce in order to work.', 'aws' ); ?></p>
250
  </div>
251
  <?php
252
  }
3
  /*
4
  Plugin Name: Advanced Woo Search
5
  Description: Advance ajax WooCommerce product search.
6
+ Version: 1.77
7
  Author: ILLID
8
  Author URI: https://advanced-woo-search.com/
9
+ Text Domain: advanced-woo-search
10
  WC requires at least: 3.0.0
11
  WC tested up to: 3.6.0
12
  */
16
  exit;
17
  }
18
 
19
+ define( 'AWS_VERSION', '1.77' );
20
 
21
 
22
  define( 'AWS_DIR', dirname( __FILE__ ) );
81
 
82
  add_filter( 'plugin_action_links', array( $this, 'add_action_link' ), 10, 2 );
83
 
84
+ load_plugin_textdomain( 'advanced-woo-search', false, dirname( plugin_basename( __FILE__ ) ). '/languages/' );
85
 
86
  $this->includes();
87
 
92
  if ( $this->get_settings('seamless') === 'true' ) {
93
  add_filter( 'get_search_form', array( $this, 'markup' ), 999999 );
94
  add_filter( 'get_product_search_form', array( $this, 'markup' ), 999999 );
95
+ add_filter( 'astra_get_search_form', array( $this, 'markup' ), 999999 );
96
  }
97
 
98
  }
151
  wp_enqueue_style( 'aws-style', AWS_URL . '/assets/css/common.css', array(), AWS_VERSION );
152
  wp_enqueue_script('aws-script', AWS_URL . '/assets/js/common.js', array('jquery'), AWS_VERSION, true);
153
  wp_localize_script('aws-script', 'aws_vars', array(
154
+ 'sale' => __('Sale!', 'advanced-woo-search'),
155
+ 'sku' => __('SKU', 'advanced-woo-search'),
156
+ 'showmore' => $this->get_settings('show_more_text') ? AWS_Helpers::translate( 'show_more_text', stripslashes( $this->get_settings('show_more_text') ) ) : __('View all results', 'advanced-woo-search'),
157
+ 'noresults' => $this->get_settings('not_found_text') ? AWS_Helpers::translate( 'not_found_text', stripslashes( $this->get_settings('not_found_text') ) ) : __('Nothing found', 'advanced-woo-search'),
158
  ));
159
  }
160
 
165
  $plugin_base = plugin_basename( __FILE__ );
166
 
167
  if ( $file == $plugin_base ) {
168
+ $setting_link = '<a href="' . admin_url('admin.php?page=aws-options') . '">'.esc_html__( 'Settings', 'advanced-woo-search' ).'</a>';
169
  array_unshift( $links, $setting_link );
170
 
171
+ $premium_link = '<a href="https://advanced-woo-search.com/?utm_source=plugin&utm_medium=settings-link&utm_campaign=aws-pro-plugin" target="_blank">'.esc_html__( 'Get Premium', 'advanced-woo-search' ).'</a>';
172
  array_unshift( $links, $premium_link );
173
  }
174
 
247
  function aws_install_woocommerce_admin_notice() {
248
  ?>
249
  <div class="error">
250
+ <p><?php esc_html_e( 'Advanced Woo Search plugin is enabled but not effective. It requires WooCommerce in order to work.', 'advanced-woo-search' ); ?></p>
251
  </div>
252
  <?php
253
  }
assets/css/common.css CHANGED
@@ -103,7 +103,20 @@
103
  outline: 0;
104
  }
105
 
106
- .aws-container .aws-search-field::-ms-clear {
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  display: none;
108
  }
109
 
@@ -365,7 +378,7 @@
365
  }
366
  .aws-search-result .aws_result_image img {
367
  width: 50px;
368
- height: 50px;
369
  box-shadow: none;
370
  }
371
 
103
  outline: 0;
104
  }
105
 
106
+ /* Mobile zoom disable */
107
+ @media screen and (-webkit-min-device-pixel-ratio:0) and (max-device-width:1024px) {
108
+ .aws-container .aws-search-field {
109
+ font-size: 16px;
110
+ }
111
+ }
112
+
113
+ .aws-container .aws-search-field::-ms-clear { display: none; width : 0; height: 0; }
114
+ .aws-container .aws-search-field::-ms-reveal { display: none; width : 0; height: 0; }
115
+
116
+ .aws-container .aws-search-field::-webkit-search-decoration,
117
+ .aws-container .aws-search-field::-webkit-search-cancel-button,
118
+ .aws-container .aws-search-field::-webkit-search-results-button,
119
+ .aws-container .aws-search-field::-webkit-search-results-decoration {
120
  display: none;
121
  }
122
 
378
  }
379
  .aws-search-result .aws_result_image img {
380
  width: 50px;
381
+ height: auto;
382
  box-shadow: none;
383
  }
384
 
includes/class-aws-admin-fields.php CHANGED
@@ -56,7 +56,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
56
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
57
  <td>
58
  <input type="text" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo isset( $plugin_options[ $value['id'] ] ) ? esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ) : ''; ?>">
59
- <br><span class="description"><?php echo $value['desc']; ?></span>
60
  </td>
61
  </tr>
62
  <?php break;
@@ -66,7 +66,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
66
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
67
  <td>
68
  <input type="text" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ); ?>">
69
- <br><span class="description"><?php echo $value['desc']; ?></span>
70
  <img style="display: block;max-width: 100px;margin-top: 20px;" src="<?php echo esc_url( $plugin_options[ $value['id'] ] ); ?>">
71
  </td>
72
  </tr>
@@ -77,7 +77,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
77
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
78
  <td>
79
  <input type="number" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ); ?>">
80
- <br><span class="description"><?php echo $value['desc']; ?></span>
81
  </td>
82
  </tr>
83
  <?php break;
@@ -87,7 +87,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
87
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
88
  <td>
89
  <textarea id="<?php echo esc_attr( $value['id'] ); ?>" name="<?php echo esc_attr( $value['id'] ); ?>" cols="65" rows="4"><?php print stripslashes( $plugin_options[ $value['id'] ] ); ?></textarea>
90
- <br><span class="description"><?php echo $value['desc']; ?></span>
91
  </td>
92
  </tr>
93
  <?php break;
@@ -100,7 +100,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
100
  <?php foreach ( $value['choices'] as $val => $label ) { ?>
101
  <input type="checkbox" name="<?php echo esc_attr( $value['id'] . '[' . $val . ']' ); ?>" id="<?php echo esc_attr( $value['id'] . '_' . $val ); ?>" value="1" <?php checked( $checkbox_options[$val], '1' ); ?>> <label for="<?php echo esc_attr( $value['id'] . '_' . $val ); ?>"><?php echo esc_html( $label ); ?></label><br>
102
  <?php } ?>
103
- <br><span class="description"><?php echo $value['desc']; ?></span>
104
  </td>
105
  </tr>
106
  <?php break;
@@ -112,7 +112,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
112
  <?php foreach ( $value['choices'] as $val => $label ) { ?>
113
  <input class="radio" type="radio" name="<?php echo esc_attr( $value['id'] ); ?>" id="<?php echo esc_attr( $value['id'].$val ); ?>" value="<?php echo esc_attr( $val ); ?>" <?php checked( $plugin_options[ $value['id'] ], $val ); ?>> <label for="<?php echo esc_attr( $value['id'].$val ); ?>"><?php echo esc_html( $label ); ?></label><br>
114
  <?php } ?>
115
- <br><span class="description"><?php echo $value['desc']; ?></span>
116
  </td>
117
  </tr>
118
  <?php break;
@@ -126,7 +126,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
126
  <option value="<?php echo esc_attr( $val ); ?>" <?php selected( $plugin_options[ $value['id'] ], $val ); ?>><?php echo esc_html( $label ); ?></option>
127
  <?php } ?>
128
  </select>
129
- <br><span class="description"><?php echo $value['desc']; ?></span>
130
  </td>
131
  </tr>
132
  <?php break;
@@ -142,7 +142,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
142
  <option value="<?php echo esc_attr( $val ); ?>"<?php echo $selected; ?>><?php echo esc_html( $label ); ?></option>
143
  <?php } ?>
144
  </select>
145
- <br><span class="description"><?php echo $value['desc']; ?></span>
146
 
147
  <?php if ( $value['sub_option'] ): ?>
148
  <?php $sub_options = $value['sub_option']; ?>
@@ -171,7 +171,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
171
  </li>
172
  <?php } ?>
173
  </ul>
174
- <br><span class="description"><?php echo $value['desc']; ?></span>
175
  </td>
176
  </tr>
177
  <?php break;
@@ -202,7 +202,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
202
  });
203
  </script>
204
 
205
- <span class="description"><?php echo $value['desc']; ?></span><br><br>
206
 
207
  <?php
208
  $all_buttons = $value['choices'];
@@ -213,8 +213,8 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
213
  <div class="sortable-container">
214
 
215
  <div class="sortable-title">
216
- <?php esc_html_e( 'Active sources', 'aws' ) ?><br>
217
- <?php esc_html_e( 'Change order by drag&drop', 'aws' ) ?>
218
  </div>
219
 
220
  <ul id="sti-sortable2" class="sti-sortable enabled connectedSortable">
@@ -233,8 +233,8 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
233
  <div class="sortable-container">
234
 
235
  <div class="sortable-title">
236
- <?php esc_html_e( 'Deactivated sources', 'aws' ) ?><br>
237
- <?php esc_html_e( 'Excluded from search results', 'aws' ) ?>
238
  </div>
239
 
240
  <ul id="sti-sortable1" class="sti-sortable disabled connectedSortable">
@@ -268,7 +268,7 @@ if ( ! class_exists( 'AWS_Admin_Fields' ) ) :
268
  echo '</tbody>';
269
  echo '</table>';
270
 
271
- echo '<p class="submit"><input name="Submit" type="submit" class="button-primary" value="' . esc_attr__( 'Save Changes', 'aws' ) . '" /></p>';
272
 
273
  }
274
 
56
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
57
  <td>
58
  <input type="text" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo isset( $plugin_options[ $value['id'] ] ) ? esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ) : ''; ?>">
59
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
60
  </td>
61
  </tr>
62
  <?php break;
66
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
67
  <td>
68
  <input type="text" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ); ?>">
69
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
70
  <img style="display: block;max-width: 100px;margin-top: 20px;" src="<?php echo esc_url( $plugin_options[ $value['id'] ] ); ?>">
71
  </td>
72
  </tr>
77
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
78
  <td>
79
  <input type="number" name="<?php echo esc_attr( $value['id'] ); ?>" class="regular-text" value="<?php echo esc_attr( stripslashes( $plugin_options[ $value['id'] ] ) ); ?>">
80
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
81
  </td>
82
  </tr>
83
  <?php break;
87
  <th scope="row"><?php echo esc_html( $value['name'] ); ?></th>
88
  <td>
89
  <textarea id="<?php echo esc_attr( $value['id'] ); ?>" name="<?php echo esc_attr( $value['id'] ); ?>" cols="65" rows="4"><?php print stripslashes( $plugin_options[ $value['id'] ] ); ?></textarea>
90
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
91
  </td>
92
  </tr>
93
  <?php break;
100
  <?php foreach ( $value['choices'] as $val => $label ) { ?>
101
  <input type="checkbox" name="<?php echo esc_attr( $value['id'] . '[' . $val . ']' ); ?>" id="<?php echo esc_attr( $value['id'] . '_' . $val ); ?>" value="1" <?php checked( $checkbox_options[$val], '1' ); ?>> <label for="<?php echo esc_attr( $value['id'] . '_' . $val ); ?>"><?php echo esc_html( $label ); ?></label><br>
102
  <?php } ?>
103
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
104
  </td>
105
  </tr>
106
  <?php break;
112
  <?php foreach ( $value['choices'] as $val => $label ) { ?>
113
  <input class="radio" type="radio" name="<?php echo esc_attr( $value['id'] ); ?>" id="<?php echo esc_attr( $value['id'].$val ); ?>" value="<?php echo esc_attr( $val ); ?>" <?php checked( $plugin_options[ $value['id'] ], $val ); ?>> <label for="<?php echo esc_attr( $value['id'].$val ); ?>"><?php echo esc_html( $label ); ?></label><br>
114
  <?php } ?>
115
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
116
  </td>
117
  </tr>
118
  <?php break;
126
  <option value="<?php echo esc_attr( $val ); ?>" <?php selected( $plugin_options[ $value['id'] ], $val ); ?>><?php echo esc_html( $label ); ?></option>
127
  <?php } ?>
128
  </select>
129
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
130
  </td>
131
  </tr>
132
  <?php break;
142
  <option value="<?php echo esc_attr( $val ); ?>"<?php echo $selected; ?>><?php echo esc_html( $label ); ?></option>
143
  <?php } ?>
144
  </select>
145
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
146
 
147
  <?php if ( $value['sub_option'] ): ?>
148
  <?php $sub_options = $value['sub_option']; ?>
171
  </li>
172
  <?php } ?>
173
  </ul>
174
+ <br><span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span>
175
  </td>
176
  </tr>
177
  <?php break;
202
  });
203
  </script>
204
 
205
+ <span class="description"><?php echo wp_kses_post( $value['desc'] ); ?></span><br><br>
206
 
207
  <?php
208
  $all_buttons = $value['choices'];
213
  <div class="sortable-container">
214
 
215
  <div class="sortable-title">
216
+ <?php esc_html_e( 'Active sources', 'advanced-woo-search' ) ?><br>
217
+ <?php esc_html_e( 'Change order by drag&drop', 'advanced-woo-search' ) ?>
218
  </div>
219
 
220
  <ul id="sti-sortable2" class="sti-sortable enabled connectedSortable">
233
  <div class="sortable-container">
234
 
235
  <div class="sortable-title">
236
+ <?php esc_html_e( 'Deactivated sources', 'advanced-woo-search' ) ?><br>
237
+ <?php esc_html_e( 'Excluded from search results', 'advanced-woo-search' ) ?>
238
  </div>
239
 
240
  <ul id="sti-sortable1" class="sti-sortable disabled connectedSortable">
268
  echo '</tbody>';
269
  echo '</table>';
270
 
271
+ echo '<p class="submit"><input name="Submit" type="submit" class="button-primary" value="' . esc_attr__( 'Save Changes', 'advanced-woo-search' ) . '" /></p>';
272
 
273
  }
274
 
includes/class-aws-admin.php CHANGED
@@ -56,7 +56,7 @@ class AWS_Admin {
56
  * Add options page
57
  */
58
  public function add_admin_page() {
59
- add_menu_page( esc_html__( 'Adv. Woo Search', 'aws' ), esc_html__( 'Adv. Woo Search', 'aws' ), 'manage_options', 'aws-options', array( &$this, 'display_admin_page' ), 'dashicons-search' );
60
  }
61
 
62
  /**
@@ -68,9 +68,9 @@ class AWS_Admin {
68
  $nonce = wp_create_nonce( 'plugin-settings' );
69
 
70
  $tabs = array(
71
- 'general' => esc_html__( 'General', 'aws' ),
72
- 'form' => esc_html__( 'Search Form', 'aws' ),
73
- 'results' => esc_html__( 'Search Results', 'aws' )
74
  );
75
 
76
  $current_tab = empty( $_GET['tab'] ) ? 'general' : sanitize_text_field( $_GET['tab'] );
@@ -82,7 +82,7 @@ class AWS_Admin {
82
 
83
  }
84
 
85
- $tabs_html .= '<a href="https://advanced-woo-search.com/?utm_source=plugin&utm_medium=settings-tab&utm_campaign=aws-pro-plugin" class="nav-tab premium-tab" target="_blank">' . esc_html__( 'Get Premium', 'aws' ) . '</a>';
86
 
87
  $tabs_html = '<h2 class="nav-tab-wrapper woo-nav-tab-wrapper">'.$tabs_html.'</h2>';
88
 
@@ -170,15 +170,15 @@ class AWS_Admin {
170
 
171
  echo '<tr>';
172
 
173
- echo '<th>' . esc_html__( 'Activation', 'aws' ) . '</th>';
174
  echo '<td>';
175
  echo '<div class="description activation">';
176
- echo esc_html__( 'In case you need to add plugin search form on your website, you can do it in several ways:', 'aws' ) . '<br>';
177
  echo '<div class="list">';
178
- echo '1. ' . esc_html__( 'Enable a "Seamless integration" option ( may not work with some themes )', 'aws' ) . '<br>';
179
- echo '2. ' . sprintf( esc_html__( 'Add search form using shortcode %s', 'aws' ), "<code>[aws_search_form]</code>" ) . '<br>';
180
- echo '3. ' . esc_html__( 'Add search form as widget for one of your theme widget areas. Go to Appearance -> Widgets and drag&drop AWS Widget to one of your widget areas', 'aws' ) . '<br>';
181
- echo '4. ' . sprintf( esc_html__( 'Add PHP code to the necessary files of your theme: %s', 'aws' ), "<code>&lt;?php if ( function_exists( 'aws_get_search_form' ) ) { aws_get_search_form(); } ?&gt;</code>" ) . '<br>';
182
  echo '</div>';
183
  echo '</div>';
184
  echo '</td>';
@@ -187,13 +187,13 @@ class AWS_Admin {
187
 
188
  echo '<tr>';
189
 
190
- echo '<th>' . esc_html__( 'Reindex table', 'aws' ) . '</th>';
191
  echo '<td>';
192
- echo '<div id="aws-reindex"><input class="button" type="button" value="' . esc_attr__( 'Reindex table', 'aws' ) . '"><span class="loader"></span><span class="reindex-progress">0%</span></div><br><br>';
193
  echo '<span class="description">' .
194
- sprintf( esc_html__( 'This action only need for %s one time %s - after you activate this plugin. After this all products changes will be re-indexed automatically.', 'aws' ), '<strong>', '</strong>' ) . '<br>' .
195
- __( 'Update all data in plugins index table. Index table - table with products data where plugin is searching all typed terms.<br>Use this button if you think that plugin not shows last actual data in its search results.<br><strong>CAUTION:</strong> this can take large amount of time.', 'aws' ) . '<br><br>' .
196
- esc_html__( 'Products in index:', 'aws' ) . '<span id="aws-reindex-count"> <strong>' . AWS_Helpers::get_indexed_products_count() . '</strong></span>';
197
  echo '</span>';
198
  echo '</td>';
199
 
@@ -202,10 +202,10 @@ class AWS_Admin {
202
 
203
  echo '<tr>';
204
 
205
- echo '<th>' . esc_html__( 'Clear cache', 'aws' ) . '</th>';
206
  echo '<td>';
207
- echo '<div id="aws-clear-cache"><input class="button" type="button" value="' . esc_attr__( 'Clear cache', 'aws' ) . '"><span class="loader"></span></div><br>';
208
- echo '<span class="description">' . esc_html__( 'Clear cache for all search results.', 'aws' ) . '</span>';
209
  echo '</td>';
210
 
211
  echo '</tr>';
56
  * Add options page
57
  */
58
  public function add_admin_page() {
59
+ add_menu_page( esc_html__( 'Adv. Woo Search', 'advanced-woo-search' ), esc_html__( 'Adv. Woo Search', 'advanced-woo-search' ), 'manage_options', 'aws-options', array( &$this, 'display_admin_page' ), 'dashicons-search' );
60
  }
61
 
62
  /**
68
  $nonce = wp_create_nonce( 'plugin-settings' );
69
 
70
  $tabs = array(
71
+ 'general' => esc_html__( 'General', 'advanced-woo-search' ),
72
+ 'form' => esc_html__( 'Search Form', 'advanced-woo-search' ),
73
+ 'results' => esc_html__( 'Search Results', 'advanced-woo-search' )
74
  );
75
 
76
  $current_tab = empty( $_GET['tab'] ) ? 'general' : sanitize_text_field( $_GET['tab'] );
82
 
83
  }
84
 
85
+ $tabs_html .= '<a href="https://advanced-woo-search.com/?utm_source=plugin&utm_medium=settings-tab&utm_campaign=aws-pro-plugin" class="nav-tab premium-tab" target="_blank">' . esc_html__( 'Get Premium', 'advanced-woo-search' ) . '</a>';
86
 
87
  $tabs_html = '<h2 class="nav-tab-wrapper woo-nav-tab-wrapper">'.$tabs_html.'</h2>';
88
 
170
 
171
  echo '<tr>';
172
 
173
+ echo '<th>' . esc_html__( 'Activation', 'advanced-woo-search' ) . '</th>';
174
  echo '<td>';
175
  echo '<div class="description activation">';
176
+ echo esc_html__( 'In case you need to add plugin search form on your website, you can do it in several ways:', 'advanced-woo-search' ) . '<br>';
177
  echo '<div class="list">';
178
+ echo '1. ' . esc_html__( 'Enable a "Seamless integration" option ( may not work with some themes )', 'advanced-woo-search' ) . '<br>';
179
+ echo '2. ' . sprintf( esc_html__( 'Add search form using shortcode %s', 'advanced-woo-search' ), "<code>[aws_search_form]</code>" ) . '<br>';
180
+ echo '3. ' . esc_html__( 'Add search form as widget for one of your theme widget areas. Go to Appearance -> Widgets and drag&drop AWS Widget to one of your widget areas', 'advanced-woo-search' ) . '<br>';
181
+ echo '4. ' . sprintf( esc_html__( 'Add PHP code to the necessary files of your theme: %s', 'advanced-woo-search' ), "<code>&lt;?php if ( function_exists( 'aws_get_search_form' ) ) { aws_get_search_form(); } ?&gt;</code>" ) . '<br>';
182
  echo '</div>';
183
  echo '</div>';
184
  echo '</td>';
187
 
188
  echo '<tr>';
189
 
190
+ echo '<th>' . esc_html__( 'Reindex table', 'advanced-woo-search' ) . '</th>';
191
  echo '<td>';
192
+ echo '<div id="aws-reindex"><input class="button" type="button" value="' . esc_attr__( 'Reindex table', 'advanced-woo-search' ) . '"><span class="loader"></span><span class="reindex-progress">0%</span></div><br><br>';
193
  echo '<span class="description">' .
194
+ sprintf( esc_html__( 'This action only need for %s one time %s - after you activate this plugin. After this all products changes will be re-indexed automatically.', 'advanced-woo-search' ), '<strong>', '</strong>' ) . '<br>' .
195
+ __( 'Update all data in plugins index table. Index table - table with products data where plugin is searching all typed terms.<br>Use this button if you think that plugin not shows last actual data in its search results.<br><strong>CAUTION:</strong> this can take large amount of time.', 'advanced-woo-search' ) . '<br><br>' .
196
+ esc_html__( 'Products in index:', 'advanced-woo-search' ) . '<span id="aws-reindex-count"> <strong>' . AWS_Helpers::get_indexed_products_count() . '</strong></span>';
197
  echo '</span>';
198
  echo '</td>';
199
 
202
 
203
  echo '<tr>';
204
 
205
+ echo '<th>' . esc_html__( 'Clear cache', 'advanced-woo-search' ) . '</th>';
206
  echo '<td>';
207
+ echo '<div id="aws-clear-cache"><input class="button" type="button" value="' . esc_attr__( 'Clear cache', 'advanced-woo-search' ) . '"><span class="loader"></span></div><br>';
208
+ echo '<span class="description">' . esc_html__( 'Clear cache for all search results.', 'advanced-woo-search' ) . '</span>';
209
  echo '</td>';
210
 
211
  echo '</tr>';
includes/class-aws-order.php CHANGED
@@ -60,6 +60,14 @@ if ( ! class_exists( 'AWS_Order' ) ) :
60
 
61
  }
62
 
 
 
 
 
 
 
 
 
63
  if ( isset( $_GET['rating_filter'] ) && $_GET['rating_filter'] ) {
64
  $rating = explode( ',', sanitize_text_field( $_GET['rating_filter'] ) );
65
  }
@@ -318,6 +326,9 @@ if ( ! class_exists( 'AWS_Order' ) ) :
318
  * Compare price values asc
319
  */
320
  private function compare_price_asc( $a, $b ) {
 
 
 
321
  $a = intval( $a['f_price'] * 100 );
322
  $b = intval( $b['f_price'] * 100 );
323
  if ($a == $b) {
@@ -330,6 +341,9 @@ if ( ! class_exists( 'AWS_Order' ) ) :
330
  * Compare price values desc
331
  */
332
  private function compare_price_desc( $a, $b ) {
 
 
 
333
  $a = intval( $a['f_price'] * 100 );
334
  $b = intval( $b['f_price'] * 100 );
335
  if ($a == $b) {
60
 
61
  }
62
 
63
+ if ( ! $price_min && isset( $_GET['min_price'] ) && $_GET['min_price'] ) {
64
+ $price_min = sanitize_text_field( $_GET['min_price'] );
65
+ }
66
+
67
+ if ( ! $price_max && isset( $_GET['max_price'] ) && $_GET['max_price'] ) {
68
+ $price_max = sanitize_text_field( $_GET['max_price'] );
69
+ }
70
+
71
  if ( isset( $_GET['rating_filter'] ) && $_GET['rating_filter'] ) {
72
  $rating = explode( ',', sanitize_text_field( $_GET['rating_filter'] ) );
73
  }
326
  * Compare price values asc
327
  */
328
  private function compare_price_asc( $a, $b ) {
329
+ if ( ! is_numeric( $a['f_price'] ) || ! is_numeric( $b['f_price'] ) ) {
330
+ return 0;
331
+ }
332
  $a = intval( $a['f_price'] * 100 );
333
  $b = intval( $b['f_price'] * 100 );
334
  if ($a == $b) {
341
  * Compare price values desc
342
  */
343
  private function compare_price_desc( $a, $b ) {
344
+ if ( ! is_numeric( $a['f_price'] ) || ! is_numeric( $b['f_price'] ) ) {
345
+ return 0;
346
+ }
347
  $a = intval( $a['f_price'] * 100 );
348
  $b = intval( $b['f_price'] * 100 );
349
  if ($a == $b) {
includes/class-aws-search.php CHANGED
@@ -571,12 +571,12 @@ if ( ! class_exists( 'AWS_Search' ) ) :
571
  if ( $product->is_in_stock() ) {
572
  $stock_status = array(
573
  'status' => true,
574
- 'text' => esc_html__( 'In stock', 'aws' )
575
  );
576
  } else {
577
  $stock_status = array(
578
  'status' => false,
579
- 'text' => esc_html__( 'Out of stock', 'aws' )
580
  );
581
  }
582
  }
571
  if ( $product->is_in_stock() ) {
572
  $stock_status = array(
573
  'status' => true,
574
+ 'text' => esc_html__( 'In stock', 'advanced-woo-search' )
575
  );
576
  } else {
577
  $stock_status = array(
578
  'status' => false,
579
+ 'text' => esc_html__( 'Out of stock', 'advanced-woo-search' )
580
  );
581
  }
582
  }
includes/class-aws-versions.php CHANGED
@@ -195,7 +195,7 @@ if ( ! class_exists( 'AWS_Versions' ) ) :
195
 
196
  if ( $settings ) {
197
  if ( ! isset( $settings['show_more_text'] ) ) {
198
- $settings['show_more_text'] = __('View all results', 'aws');
199
  update_option( 'aws_settings', $settings );
200
  }
201
  }
@@ -281,7 +281,7 @@ if ( ! class_exists( 'AWS_Versions' ) ) :
281
  */
282
  public function admin_notice_no_index() { ?>
283
  <div class="updated notice is-dismissible">
284
- <p><?php printf( esc_html__( 'Advanced Woo Search: Please go to plugin setting page and start the indexing of your products. %s', 'aws' ), '<a class="button button-secondary" href="'.esc_url( admin_url('admin.php?page=aws-options') ).'">'.esc_html__( 'Go to Settings Page', 'aws' ).'</a>' ); ?></p>
285
  </div>
286
  <?php }
287
 
@@ -290,7 +290,7 @@ if ( ! class_exists( 'AWS_Versions' ) ) :
290
  */
291
  public function admin_notice_reindex() { ?>
292
  <div class="updated notice is-dismissible">
293
- <p><?php printf( esc_html__( 'Advanced Woo Search: Please reindex table for proper work of new plugin features. %s', 'aws' ), '<a class="button button-secondary" href="'.esc_url( admin_url('admin.php?page=aws-options') ).'">'.esc_html__( 'Go to Settings Page', 'aws' ).'</a>' ); ?></p>
294
  </div>
295
  <?php }
296
 
195
 
196
  if ( $settings ) {
197
  if ( ! isset( $settings['show_more_text'] ) ) {
198
+ $settings['show_more_text'] = __('View all results', 'advanced-woo-search');
199
  update_option( 'aws_settings', $settings );
200
  }
201
  }
281
  */
282
  public function admin_notice_no_index() { ?>
283
  <div class="updated notice is-dismissible">
284
+ <p><?php printf( esc_html__( 'Advanced Woo Search: Please go to plugin setting page and start the indexing of your products. %s', 'advanced-woo-search' ), '<a class="button button-secondary" href="'.esc_url( admin_url('admin.php?page=aws-options') ).'">'.esc_html__( 'Go to Settings Page', 'advanced-woo-search' ).'</a>' ); ?></p>
285
  </div>
286
  <?php }
287
 
290
  */
291
  public function admin_notice_reindex() { ?>
292
  <div class="updated notice is-dismissible">
293
+ <p><?php printf( esc_html__( 'Advanced Woo Search: Please reindex table for proper work of new plugin features. %s', 'advanced-woo-search' ), '<a class="button button-secondary" href="'.esc_url( admin_url('admin.php?page=aws-options') ).'">'.esc_html__( 'Go to Settings Page', 'advanced-woo-search' ).'</a>' ); ?></p>
294
  </div>
295
  <?php }
296
 
includes/options.php CHANGED
@@ -6,50 +6,50 @@
6
  $options = array();
7
 
8
  $options['general'][] = array(
9
- "name" => __( "Main Settings", "aws" ),
10
  "type" => "heading"
11
  );
12
 
13
  $options['general'][] = array(
14
- "name" => __( "Seamless integration", "aws" ),
15
- "desc" => __( "Replace all the standard search forms on your website ( may not work with some themes ).", "aws" ),
16
  "id" => "seamless",
17
  "value" => 'false',
18
  "type" => "radio",
19
  'choices' => array(
20
- 'true' => __( 'On', 'aws' ),
21
- 'false' => __( 'Off', 'aws' ),
22
  )
23
  );
24
 
25
  $options['general'][] = array(
26
- "name" => __( "Cache results", "aws" ),
27
- "desc" => __( "Turn off if you have old data in the search results after content of products was changed.<br><strong>CAUTION:</strong> can dramatically increase search speed", "aws" ),
28
  "id" => "cache",
29
  "value" => 'true',
30
  "type" => "radio",
31
  'choices' => array(
32
- 'true' => __( 'On', 'aws' ),
33
- 'false' => __( 'Off', 'aws' ),
34
  )
35
  );
36
 
37
  $options['general'][] = array(
38
- "name" => __( "Sync index table", "aws" ),
39
- "desc" => __( "Automatically update plugin index table when product content was changed. This means that in search there will be always latest product data.", "aws" ) . '<br>' .
40
- __( "Turn this off if you have any problems with performance.", "aws" ),
41
  "id" => "autoupdates",
42
  "value" => 'true',
43
  "type" => "radio",
44
  'choices' => array(
45
- 'true' => __( 'On', 'aws' ),
46
- 'false' => __( 'Off', 'aws' ),
47
  )
48
  );
49
 
50
  $options['general'][] = array(
51
- "name" => __( "Search in", "aws" ),
52
- "desc" => __( "Search source: Drag&drop sources to activate or deactivate them.", "aws" ),
53
  "id" => "search_in",
54
  "value" => "title,content,sku,excerpt",
55
  "choices" => array( "title", "content", "sku", "excerpt", "category", "tag" ),
@@ -57,122 +57,122 @@ $options['general'][] = array(
57
  );
58
 
59
  $options['general'][] = array(
60
- "name" => __( "Show out-of-stock", "aws" ),
61
- "desc" => __( "Show out-of-stock products in search", "aws" ),
62
  "id" => "outofstock",
63
  "value" => 'true',
64
  "type" => "radio",
65
  'choices' => array(
66
- 'true' => __( 'Show', 'aws' ),
67
- 'false' => __( 'Hide', 'aws' ),
68
  )
69
  );
70
 
71
  $options['general'][] = array(
72
- "name" => __( "Stop words list", "aws" ),
73
- "desc" => __( "Comma separated list of words that will be excluded from search.", "aws" ) . '<br>' . __( "Re-index required on change.", "aws" ),
74
  "id" => "stopwords",
75
  "value" => "a, also, am, an, and, are, as, at, be, but, by, call, can, co, con, de, do, due, eg, eight, etc, even, ever, every, for, from, full, go, had, has, hasnt, have, he, hence, her, here, his, how, ie, if, in, inc, into, is, it, its, ltd, me, my, no, none, nor, not, now, of, off, on, once, one, only, onto, or, our, ours, out, over, own, part, per, put, re, see, so, some, ten, than, that, the, their, there, these, they, this, three, thru, thus, to, too, top, un, up, us, very, via, was, we, well, were, what, when, where, who, why, will",
76
  "type" => "textarea"
77
  );
78
 
79
  $options['general'][] = array(
80
- "name" => __( "Use Google Analytics", "aws" ),
81
- "desc" => __( "Use google analytics to track searches. You need google analytics to be installed on your site.", "aws" ) . '<br>' . __( "Will send event with category - 'AWS search', action - 'AWS Search Term' and label of value of search term.", "aws" ),
82
  "id" => "use_analytics",
83
  "value" => 'false',
84
  "type" => "radio",
85
  'choices' => array(
86
- 'true' => __( 'On', 'aws' ),
87
- 'false' => __( 'Off', 'aws' ),
88
  )
89
  );
90
 
91
  // Search Form Settings
92
  $options['form'][] = array(
93
- "name" => __( "Text for search field", "aws" ),
94
- "desc" => __( "Text for search field placeholder.", "aws" ),
95
  "id" => "search_field_text",
96
- "value" => __( "Search", "aws" ),
97
  "type" => "text"
98
  );
99
 
100
  $options['form'][] = array(
101
- "name" => __( "Text for show more button", "aws" ),
102
- "desc" => __( "Text for link to search results page at the bottom of search results block.", "aws" ),
103
  "id" => "show_more_text",
104
- "value" => __( "View all results", "aws" ),
105
  "type" => "text"
106
  );
107
 
108
  $options['form'][] = array(
109
- "name" => __( "Nothing found field", "aws" ),
110
- "desc" => __( "Text when there is no search results.", "aws" ),
111
  "id" => "not_found_text",
112
- "value" => __( "Nothing found", "aws" ),
113
  "type" => "textarea"
114
  );
115
 
116
  $options['form'][] = array(
117
- "name" => __( "Minimum number of characters", "aws" ),
118
- "desc" => __( "Minimum number of characters required to run ajax search.", "aws" ),
119
  "id" => "min_chars",
120
  "value" => 1,
121
  "type" => "number"
122
  );
123
 
124
  $options['form'][] = array(
125
- "name" => __( "Show loader", "aws" ),
126
- "desc" => __( "Show loader animation while searching.", "aws" ),
127
  "id" => "show_loader",
128
  "value" => 'true',
129
  "type" => "radio",
130
  'choices' => array(
131
- 'true' => __( 'On', 'aws' ),
132
- 'false' => __( 'Off', 'aws' ),
133
  )
134
  );
135
 
136
  $options['form'][] = array(
137
- "name" => __( "Show clear button", "aws" ),
138
- "desc" => __( "Show 'Clear search string' button for desktop devices ( for mobile it is always visible ).", "aws" ),
139
  "id" => "show_clear",
140
  "value" => 'true',
141
  "type" => "radio",
142
  'choices' => array(
143
- 'true' => __( 'On', 'aws' ),
144
- 'false' => __( 'Off', 'aws' ),
145
  )
146
  );
147
 
148
  $options['form'][] = array(
149
- "name" => __( "Show 'View All Results'", "aws" ),
150
- "desc" => __( "Show link to search results page at the bottom of search results block.", "aws" ),
151
  "id" => "show_more",
152
  "value" => 'false',
153
  "type" => "radio",
154
  'choices' => array(
155
- 'true' => __( 'On', 'aws' ),
156
- 'false' => __( 'Off', 'aws' )
157
  )
158
  );
159
 
160
  $options['form'][] = array(
161
- "name" => __( "Search Results", "aws" ),
162
- "desc" => __( "Choose how to view search results.", "aws" ),
163
  "id" => "show_page",
164
  "value" => 'false',
165
  "type" => "radio",
166
  'choices' => array(
167
- 'true' => __( 'Both ajax search results and search results page', 'aws' ),
168
- 'false' => __( 'Only ajax search results ( no search results page )', 'aws' ),
169
- 'ajax_off' => __( 'Only search results page ( no ajax search results )', 'aws' )
170
  )
171
  );
172
 
173
  $options['form'][] = array(
174
- "name" => __( "Form Styling", "aws" ),
175
- "desc" => __( "Choose search form layout", "aws" ) . '<br>' . __( "Filter button will be visible only if you have more than one active filter for current search form instance.", "aws" ),
176
  "id" => "buttons_order",
177
  "value" => '1',
178
  "type" => "radio-image",
@@ -187,166 +187,166 @@ $options['form'][] = array(
187
  // Search Results Settings
188
 
189
  $options['results'][] = array(
190
- "name" => __( "Description source", "aws" ),
191
- "desc" => __( "From where to take product description.<br>If first source is empty data will be taken from other sources.", "aws" ),
192
  "id" => "desc_source",
193
  "value" => 'content',
194
  "type" => "radio",
195
  'choices' => array(
196
- 'content' => __( 'Content', 'aws' ),
197
- 'excerpt' => __( 'Excerpt', 'aws' ),
198
  )
199
  );
200
 
201
  $options['results'][] = array(
202
- "name" => __( "Description length", "aws" ),
203
- "desc" => __( "Maximal allowed number of words for product description.", "aws" ),
204
  "id" => "excerpt_length",
205
  "value" => 20,
206
  "type" => "number"
207
  );
208
 
209
  $options['results'][] = array(
210
- "name" => __( "Max number of results", "aws" ),
211
- "desc" => __( "Maximum number of displayed search results.", "aws" ),
212
  "id" => "results_num",
213
  "value" => 10,
214
  "type" => "number"
215
  );
216
 
217
  $options['results'][] = array(
218
- "name" => __( "View", "aws" ),
219
  "type" => "heading"
220
  );
221
 
222
  $options['results'][] = array(
223
- "name" => __( "Show image", "aws" ),
224
- "desc" => __( "Show product image for each search result.", "aws" ),
225
  "id" => "show_image",
226
  "value" => 'true',
227
  "type" => "radio",
228
  'choices' => array(
229
- 'true' => __( 'On', 'aws' ),
230
- 'false' => __( 'Off', 'aws' ),
231
  )
232
  );
233
 
234
  $options['results'][] = array(
235
- "name" => __( "Show description", "aws" ),
236
- "desc" => __( "Show product description for each search result.", "aws" ),
237
  "id" => "show_excerpt",
238
  "value" => 'true',
239
  "type" => "radio",
240
  'choices' => array(
241
- 'true' => __( 'On', 'aws' ),
242
- 'false' => __( 'Off', 'aws' ),
243
  )
244
  );
245
 
246
  $options['results'][] = array(
247
- "name" => __( "Description content", "aws" ),
248
- "desc" => __( "What to show in product description?", "aws" ),
249
  "id" => "mark_words",
250
  "value" => 'true',
251
  "type" => "radio",
252
  'choices' => array(
253
- 'true' => __( "Smart scrapping sentences with searching terms from product description.", "aws" ),
254
- 'false' => __( "First N words of product description ( number of words that you choose below. )", "aws" ),
255
  )
256
  );
257
 
258
  $options['results'][] = array(
259
- "name" => __( "Show price", "aws" ),
260
- "desc" => __( "Show product price for each search result.", "aws" ),
261
  "id" => "show_price",
262
  "value" => 'true',
263
  "type" => "radio",
264
  'choices' => array(
265
- 'true' => __( 'On', 'aws' ),
266
- 'false' => __( 'Off', 'aws' ),
267
  )
268
  );
269
 
270
  $options['results'][] = array(
271
- "name" => __( "Show price for out of stock", "aws" ),
272
- "desc" => __( "Show product price for out of stock products.", "aws" ),
273
  "id" => "show_outofstock_price",
274
  "value" => 'true',
275
  "type" => "radio",
276
  'choices' => array(
277
- 'true' => __( 'On', 'aws' ),
278
- 'false' => __( 'Off', 'aws' ),
279
  )
280
  );
281
 
282
  $options['results'][] = array(
283
- "name" => __( "Show categories archive", "aws" ),
284
- "desc" => __( "Include categories archives pages to search result.", "aws" ),
285
  "id" => "show_cats",
286
  "value" => 'false',
287
  "type" => "radio",
288
  'choices' => array(
289
- 'true' => __( 'On', 'aws' ),
290
- 'false' => __( 'Off', 'aws' ),
291
  )
292
  );
293
 
294
  $options['results'][] = array(
295
- "name" => __( "Show tags archive", "aws" ),
296
- "desc" => __( "Include tags archives pages to search results.", "aws" ),
297
  "id" => "show_tags",
298
  "value" => 'false',
299
  "type" => "radio",
300
  'choices' => array(
301
- 'true' => __( 'On', 'aws' ),
302
- 'false' => __( 'Off', 'aws' ),
303
  )
304
  );
305
 
306
  $options['results'][] = array(
307
- "name" => __( "Show sale badge", "aws" ),
308
- "desc" => __( "Show sale badge for products in search results.", "aws" ),
309
  "id" => "show_sale",
310
  "value" => 'true',
311
  "type" => "radio",
312
  'choices' => array(
313
- 'true' => __( 'On', 'aws' ),
314
- 'false' => __( 'Off', 'aws' ),
315
  )
316
  );
317
 
318
  $options['results'][] = array(
319
- "name" => __( "Show product SKU", "aws" ),
320
- "desc" => __( "Show product SKU in search results.", "aws" ),
321
  "id" => "show_sku",
322
  "value" => 'false',
323
  "type" => "radio",
324
  'choices' => array(
325
- 'true' => __( 'On', 'aws' ),
326
- 'false' => __( 'Off', 'aws' ),
327
  )
328
  );
329
 
330
  $options['results'][] = array(
331
- "name" => __( "Show stock status", "aws" ),
332
- "desc" => __( "Show stock status for every product in search results.", "aws" ),
333
  "id" => "show_stock",
334
  "value" => 'false',
335
  "type" => "radio",
336
  'choices' => array(
337
- 'true' => __( 'On', 'aws' ),
338
- 'false' => __( 'Off', 'aws' ),
339
  )
340
  );
341
 
342
  $options['results'][] = array(
343
- "name" => __( "Show featured icon", "aws" ),
344
- "desc" => __( "Show or not star icon for featured products.", "aws" ),
345
  "id" => "show_featured",
346
  "value" => 'false',
347
  "type" => "radio",
348
  'choices' => array(
349
- 'true' => __( 'On', 'aws' ),
350
- 'false' => __( 'Off', 'aws' ),
351
  )
352
  );
6
  $options = array();
7
 
8
  $options['general'][] = array(
9
+ "name" => __( "Main Settings", "advanced-woo-search" ),
10
  "type" => "heading"
11
  );
12
 
13
  $options['general'][] = array(
14
+ "name" => __( "Seamless integration", "advanced-woo-search" ),
15
+ "desc" => __( "Replace all the standard search forms on your website ( may not work with some themes ).", "advanced-woo-search" ),
16
  "id" => "seamless",
17
  "value" => 'false',
18
  "type" => "radio",
19
  'choices' => array(
20
+ 'true' => __( 'On', 'advanced-woo-search' ),
21
+ 'false' => __( 'Off', 'advanced-woo-search' ),
22
  )
23
  );
24
 
25
  $options['general'][] = array(
26
+ "name" => __( "Cache results", "advanced-woo-search" ),
27
+ "desc" => __( "Turn off if you have old data in the search results after content of products was changed.<br><strong>CAUTION:</strong> can dramatically increase search speed", "advanced-woo-search" ),
28
  "id" => "cache",
29
  "value" => 'true',
30
  "type" => "radio",
31
  'choices' => array(
32
+ 'true' => __( 'On', 'advanced-woo-search' ),
33
+ 'false' => __( 'Off', 'advanced-woo-search' ),
34
  )
35
  );
36
 
37
  $options['general'][] = array(
38
+ "name" => __( "Sync index table", "advanced-woo-search" ),
39
+ "desc" => __( "Automatically update plugin index table when product content was changed. This means that in search there will be always latest product data.", "advanced-woo-search" ) . '<br>' .
40
+ __( "Turn this off if you have any problems with performance.", "advanced-woo-search" ),
41
  "id" => "autoupdates",
42
  "value" => 'true',
43
  "type" => "radio",
44
  'choices' => array(
45
+ 'true' => __( 'On', 'advanced-woo-search' ),
46
+ 'false' => __( 'Off', 'advanced-woo-search' ),
47
  )
48
  );
49
 
50
  $options['general'][] = array(
51
+ "name" => __( "Search in", "advanced-woo-search" ),
52
+ "desc" => __( "Search source: Drag&drop sources to activate or deactivate them.", "advanced-woo-search" ),
53
  "id" => "search_in",
54
  "value" => "title,content,sku,excerpt",
55
  "choices" => array( "title", "content", "sku", "excerpt", "category", "tag" ),
57
  );
58
 
59
  $options['general'][] = array(
60
+ "name" => __( "Show out-of-stock", "advanced-woo-search" ),
61
+ "desc" => __( "Show out-of-stock products in search", "advanced-woo-search" ),
62
  "id" => "outofstock",
63
  "value" => 'true',
64
  "type" => "radio",
65
  'choices' => array(
66
+ 'true' => __( 'Show', 'advanced-woo-search' ),
67
+ 'false' => __( 'Hide', 'advanced-woo-search' ),
68
  )
69
  );
70
 
71
  $options['general'][] = array(
72
+ "name" => __( "Stop words list", "advanced-woo-search" ),
73
+ "desc" => __( "Comma separated list of words that will be excluded from search.", "advanced-woo-search" ) . '<br>' . __( "Re-index required on change.", "advanced-woo-search" ),
74
  "id" => "stopwords",
75
  "value" => "a, also, am, an, and, are, as, at, be, but, by, call, can, co, con, de, do, due, eg, eight, etc, even, ever, every, for, from, full, go, had, has, hasnt, have, he, hence, her, here, his, how, ie, if, in, inc, into, is, it, its, ltd, me, my, no, none, nor, not, now, of, off, on, once, one, only, onto, or, our, ours, out, over, own, part, per, put, re, see, so, some, ten, than, that, the, their, there, these, they, this, three, thru, thus, to, too, top, un, up, us, very, via, was, we, well, were, what, when, where, who, why, will",
76
  "type" => "textarea"
77
  );
78
 
79
  $options['general'][] = array(
80
+ "name" => __( "Use Google Analytics", "advanced-woo-search" ),
81
+ "desc" => __( "Use google analytics to track searches. You need google analytics to be installed on your site.", "advanced-woo-search" ) . '<br>' . __( "Will send event with category - 'AWS search', action - 'AWS Search Term' and label of value of search term.", "advanced-woo-search" ),
82
  "id" => "use_analytics",
83
  "value" => 'false',
84
  "type" => "radio",
85
  'choices' => array(
86
+ 'true' => __( 'On', 'advanced-woo-search' ),
87
+ 'false' => __( 'Off', 'advanced-woo-search' ),
88
  )
89
  );
90
 
91
  // Search Form Settings
92
  $options['form'][] = array(
93
+ "name" => __( "Text for search field", "advanced-woo-search" ),
94
+ "desc" => __( "Text for search field placeholder.", "advanced-woo-search" ),
95
  "id" => "search_field_text",
96
+ "value" => __( "Search", "advanced-woo-search" ),
97
  "type" => "text"
98
  );
99
 
100
  $options['form'][] = array(
101
+ "name" => __( "Text for show more button", "advanced-woo-search" ),
102
+ "desc" => __( "Text for link to search results page at the bottom of search results block.", "advanced-woo-search" ),
103
  "id" => "show_more_text",
104
+ "value" => __( "View all results", "advanced-woo-search" ),
105
  "type" => "text"
106
  );
107
 
108
  $options['form'][] = array(
109
+ "name" => __( "Nothing found field", "advanced-woo-search" ),
110
+ "desc" => __( "Text when there is no search results.", "advanced-woo-search" ),
111
  "id" => "not_found_text",
112
+ "value" => __( "Nothing found", "advanced-woo-search" ),
113
  "type" => "textarea"
114
  );
115
 
116
  $options['form'][] = array(
117
+ "name" => __( "Minimum number of characters", "advanced-woo-search" ),
118
+ "desc" => __( "Minimum number of characters required to run ajax search.", "advanced-woo-search" ),
119
  "id" => "min_chars",
120
  "value" => 1,
121
  "type" => "number"
122
  );
123
 
124
  $options['form'][] = array(
125
+ "name" => __( "Show loader", "advanced-woo-search" ),
126
+ "desc" => __( "Show loader animation while searching.", "advanced-woo-search" ),
127
  "id" => "show_loader",
128
  "value" => 'true',
129
  "type" => "radio",
130
  'choices' => array(
131
+ 'true' => __( 'On', 'advanced-woo-search' ),
132
+ 'false' => __( 'Off', 'advanced-woo-search' ),
133
  )
134
  );
135
 
136
  $options['form'][] = array(
137
+ "name" => __( "Show clear button", "advanced-woo-search" ),
138
+ "desc" => __( "Show 'Clear search string' button for desktop devices ( for mobile it is always visible ).", "advanced-woo-search" ),
139
  "id" => "show_clear",
140
  "value" => 'true',
141
  "type" => "radio",
142
  'choices' => array(
143
+ 'true' => __( 'On', 'advanced-woo-search' ),
144
+ 'false' => __( 'Off', 'advanced-woo-search' ),
145
  )
146
  );
147
 
148
  $options['form'][] = array(
149
+ "name" => __( "Show 'View All Results'", "advanced-woo-search" ),
150
+ "desc" => __( "Show link to search results page at the bottom of search results block.", "advanced-woo-search" ),
151
  "id" => "show_more",
152
  "value" => 'false',
153
  "type" => "radio",
154
  'choices' => array(
155
+ 'true' => __( 'On', 'advanced-woo-search' ),
156
+ 'false' => __( 'Off', 'advanced-woo-search' )
157
  )
158
  );
159
 
160
  $options['form'][] = array(
161
+ "name" => __( "Search Results", "advanced-woo-search" ),
162
+ "desc" => __( "Choose how to view search results.", "advanced-woo-search" ),
163
  "id" => "show_page",
164
  "value" => 'false',
165
  "type" => "radio",
166
  'choices' => array(
167
+ 'true' => __( 'Both ajax search results and search results page', 'advanced-woo-search' ),
168
+ 'false' => __( 'Only ajax search results ( no search results page )', 'advanced-woo-search' ),
169
+ 'ajax_off' => __( 'Only search results page ( no ajax search results )', 'advanced-woo-search' )
170
  )
171
  );
172
 
173
  $options['form'][] = array(
174
+ "name" => __( "Form Styling", "advanced-woo-search" ),
175
+ "desc" => __( "Choose search form layout", "advanced-woo-search" ) . '<br>' . __( "Filter button will be visible only if you have more than one active filter for current search form instance.", "advanced-woo-search" ),
176
  "id" => "buttons_order",
177
  "value" => '1',
178
  "type" => "radio-image",
187
  // Search Results Settings
188
 
189
  $options['results'][] = array(
190
+ "name" => __( "Description source", "advanced-woo-search" ),
191
+ "desc" => __( "From where to take product description.<br>If first source is empty data will be taken from other sources.", "advanced-woo-search" ),
192
  "id" => "desc_source",
193
  "value" => 'content',
194
  "type" => "radio",
195
  'choices' => array(
196
+ 'content' => __( 'Content', 'advanced-woo-search' ),
197
+ 'excerpt' => __( 'Excerpt', 'advanced-woo-search' ),
198
  )
199
  );
200
 
201
  $options['results'][] = array(
202
+ "name" => __( "Description length", "advanced-woo-search" ),
203
+ "desc" => __( "Maximal allowed number of words for product description.", "advanced-woo-search" ),
204
  "id" => "excerpt_length",
205
  "value" => 20,
206
  "type" => "number"
207
  );
208
 
209
  $options['results'][] = array(
210
+ "name" => __( "Max number of results", "advanced-woo-search" ),
211
+ "desc" => __( "Maximum number of displayed search results.", "advanced-woo-search" ),
212
  "id" => "results_num",
213
  "value" => 10,
214
  "type" => "number"
215
  );
216
 
217
  $options['results'][] = array(
218
+ "name" => __( "View", "advanced-woo-search" ),
219
  "type" => "heading"
220
  );
221
 
222
  $options['results'][] = array(
223
+ "name" => __( "Show image", "advanced-woo-search" ),
224
+ "desc" => __( "Show product image for each search result.", "advanced-woo-search" ),
225
  "id" => "show_image",
226
  "value" => 'true',
227
  "type" => "radio",
228
  'choices' => array(
229
+ 'true' => __( 'On', 'advanced-woo-search' ),
230
+ 'false' => __( 'Off', 'advanced-woo-search' ),
231
  )
232
  );
233
 
234
  $options['results'][] = array(
235
+ "name" => __( "Show description", "advanced-woo-search" ),
236
+ "desc" => __( "Show product description for each search result.", "advanced-woo-search" ),
237
  "id" => "show_excerpt",
238
  "value" => 'true',
239
  "type" => "radio",
240
  'choices' => array(
241
+ 'true' => __( 'On', 'advanced-woo-search' ),
242
+ 'false' => __( 'Off', 'advanced-woo-search' ),
243
  )
244
  );
245
 
246
  $options['results'][] = array(
247
+ "name" => __( "Description content", "advanced-woo-search" ),
248
+ "desc" => __( "What to show in product description?", "advanced-woo-search" ),
249
  "id" => "mark_words",
250
  "value" => 'true',
251
  "type" => "radio",
252
  'choices' => array(
253
+ 'true' => __( "Smart scrapping sentences with searching terms from product description.", "advanced-woo-search" ),
254
+ 'false' => __( "First N words of product description ( number of words that you choose below. )", "advanced-woo-search" ),
255
  )
256
  );
257
 
258
  $options['results'][] = array(
259
+ "name" => __( "Show price", "advanced-woo-search" ),
260
+ "desc" => __( "Show product price for each search result.", "advanced-woo-search" ),
261
  "id" => "show_price",
262
  "value" => 'true',
263
  "type" => "radio",
264
  'choices' => array(
265
+ 'true' => __( 'On', 'advanced-woo-search' ),
266
+ 'false' => __( 'Off', 'advanced-woo-search' ),
267
  )
268
  );
269
 
270
  $options['results'][] = array(
271
+ "name" => __( "Show price for out of stock", "advanced-woo-search" ),
272
+ "desc" => __( "Show product price for out of stock products.", "advanced-woo-search" ),
273
  "id" => "show_outofstock_price",
274
  "value" => 'true',
275
  "type" => "radio",
276
  'choices' => array(
277
+ 'true' => __( 'On', 'advanced-woo-search' ),
278
+ 'false' => __( 'Off', 'advanced-woo-search' ),
279
  )
280
  );
281
 
282
  $options['results'][] = array(
283
+ "name" => __( "Show categories archive", "advanced-woo-search" ),
284
+ "desc" => __( "Include categories archives pages to search result.", "advanced-woo-search" ),
285
  "id" => "show_cats",
286
  "value" => 'false',
287
  "type" => "radio",
288
  'choices' => array(
289
+ 'true' => __( 'On', 'advanced-woo-search' ),
290
+ 'false' => __( 'Off', 'advanced-woo-search' ),
291
  )
292
  );
293
 
294
  $options['results'][] = array(
295
+ "name" => __( "Show tags archive", "advanced-woo-search" ),
296
+ "desc" => __( "Include tags archives pages to search results.", "advanced-woo-search" ),
297
  "id" => "show_tags",
298
  "value" => 'false',
299
  "type" => "radio",
300
  'choices' => array(
301
+ 'true' => __( 'On', 'advanced-woo-search' ),
302
+ 'false' => __( 'Off', 'advanced-woo-search' ),
303
  )
304
  );
305
 
306
  $options['results'][] = array(
307
+ "name" => __( "Show sale badge", "advanced-woo-search" ),
308
+ "desc" => __( "Show sale badge for products in search results.", "advanced-woo-search" ),
309
  "id" => "show_sale",
310
  "value" => 'true',
311
  "type" => "radio",
312
  'choices' => array(
313
+ 'true' => __( 'On', 'advanced-woo-search' ),
314
+ 'false' => __( 'Off', 'advanced-woo-search' ),
315
  )
316
  );
317
 
318
  $options['results'][] = array(
319
+ "name" => __( "Show product SKU", "advanced-woo-search" ),
320
+ "desc" => __( "Show product SKU in search results.", "advanced-woo-search" ),
321
  "id" => "show_sku",
322
  "value" => 'false',
323
  "type" => "radio",
324
  'choices' => array(
325
+ 'true' => __( 'On', 'advanced-woo-search' ),
326
+ 'false' => __( 'Off', 'advanced-woo-search' ),
327
  )
328
  );
329
 
330
  $options['results'][] = array(
331
+ "name" => __( "Show stock status", "advanced-woo-search" ),
332
+ "desc" => __( "Show stock status for every product in search results.", "advanced-woo-search" ),
333
  "id" => "show_stock",
334
  "value" => 'false',
335
  "type" => "radio",
336
  'choices' => array(
337
+ 'true' => __( 'On', 'advanced-woo-search' ),
338
+ 'false' => __( 'Off', 'advanced-woo-search' ),
339
  )
340
  );
341
 
342
  $options['results'][] = array(
343
+ "name" => __( "Show featured icon", "advanced-woo-search" ),
344
+ "desc" => __( "Show or not star icon for featured products.", "advanced-woo-search" ),
345
  "id" => "show_featured",
346
  "value" => 'false',
347
  "type" => "radio",
348
  'choices' => array(
349
+ 'true' => __( 'On', 'advanced-woo-search' ),
350
+ 'false' => __( 'Off', 'advanced-woo-search' ),
351
  )
352
  );
includes/widget.php CHANGED
@@ -15,9 +15,9 @@ class AWS_Widget extends WP_Widget {
15
  * Constructor
16
  */
17
  function __construct() {
18
- $widget_ops = array( 'description' => __('Advanced WooCommerce search widget', 'aws' ) );
19
  $control_ops = array( 'width' => 400 );
20
- parent::__construct( false, __( '&raquo; AWS Widget', 'aws' ), $widget_ops, $control_ops );
21
  }
22
 
23
  /*
@@ -61,13 +61,13 @@ class AWS_Widget extends WP_Widget {
61
  function form( $instance ) {
62
  global $shortname;
63
  $defaults = array(
64
- 'title' => __( 'Search...', 'aws' )
65
  );
66
  $instance = wp_parse_args( (array) $instance, $defaults );
67
  ?>
68
 
69
  <p>
70
- <label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php esc_html_e( 'Title:', 'aws' ); ?></label>
71
  <input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id('title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('title') ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>">
72
  </p>
73
 
15
  * Constructor
16
  */
17
  function __construct() {
18
+ $widget_ops = array( 'description' => __('Advanced WooCommerce search widget', 'advanced-woo-search' ) );
19
  $control_ops = array( 'width' => 400 );
20
+ parent::__construct( false, __( '&raquo; AWS Widget', 'advanced-woo-search' ), $widget_ops, $control_ops );
21
  }
22
 
23
  /*
61
  function form( $instance ) {
62
  global $shortname;
63
  $defaults = array(
64
+ 'title' => __( 'Search...', 'advanced-woo-search' )
65
  );
66
  $instance = wp_parse_args( (array) $instance, $defaults );
67
  ?>
68
 
69
  <p>
70
+ <label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php esc_html_e( 'Title:', 'advanced-woo-search' ); ?></label>
71
  <input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id('title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('title') ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>">
72
  </p>
73
 
languages/{aws-hu_HU.mo → advanced-woo-search-hu_HU.mo} RENAMED
File without changes
languages/{aws-hu_HU.po → advanced-woo-search-hu_HU.po} RENAMED
File without changes
languages/advanced-woo-search-ru_RU.mo ADDED
Binary file
languages/advanced-woo-search-ru_RU.po ADDED
@@ -0,0 +1,502 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Advanced Woo Search\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "MIME-Version: 1.0\n"
6
+ "Content-Type: text/plain; charset=UTF-8\n"
7
+ "Content-Transfer-Encoding: 8bit\n"
8
+ "X-Generator: Loco https://localise.biz/\n"
9
+ "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
10
+ "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
11
+ "esc_html_x:1,2c;\n"
12
+ "Language: ru_RU\n"
13
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
14
+ "n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
15
+ "X-Poedit-Country: United States\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-Basepath: ../\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-Bookmarks: \n"
20
+ "X-Textdomain-Support: yes\n"
21
+ "POT-Creation-Date: 2019-07-18 11:26+0000\n"
22
+ "PO-Revision-Date: 2019-07-25 14:43+0000\n"
23
+ "Last-Translator: Алексей Казаков <hdelta045@yandex.ru>\n"
24
+ "Language-Team: Русский\n"
25
+ "X-Loco-Version: 2.3.0; wp-5.2.2"
26
+
27
+ #: includes/class-aws-admin.php:129
28
+ msgid "Save Changes"
29
+ msgstr "Сохранить изменения"
30
+
31
+ #: includes/class-aws-admin.php:351
32
+ msgid "Reindex table"
33
+ msgstr "Переиндексировать таблицу"
34
+
35
+ msgid ""
36
+ "This action only need for %s one time %s - after you activate this plugin. "
37
+ "After this all products changes will be re-indexed automatically."
38
+ msgstr ""
39
+ "Это действие нужно только % s один раз % s - после активации этого плагина. "
40
+ "После этого все изменения товаров будут автоматически переиндексированы."
41
+
42
+ msgid "Go to Settings Page"
43
+ msgstr "На страницу настроек"
44
+
45
+ #: includes/class-aws-admin.php:352
46
+ msgid ""
47
+ "Update all data in plugins index table. Index table - table with products "
48
+ "data where plugin is searching all typed terms.<br>Use this button if you "
49
+ "think that plugin not shows last actual data in its search results.<br>"
50
+ "<strong>CAUTION:</strong> this can take large amount of time.</span>"
51
+ msgstr ""
52
+ "Обновите все данные в таблице индексов плагинов. Индексная таблица - таблица "
53
+ "с данными о товарах, где плагин ищет все введенные термины.<br>Используйте "
54
+ "эту кнопку, если считаете, что плагин не отображает последние фактические "
55
+ "данные в результатах поиска.<br><strong> ВНИМАНИЕ: </strong> это может "
56
+ "займет много времени.</span>"
57
+
58
+ #: includes/class-aws-admin.php:362
59
+ msgid "Clear cache"
60
+ msgstr "Очистить кеш"
61
+
62
+ #: includes/class-aws-admin.php:363
63
+ msgid "Clear cache for all search results."
64
+ msgstr "Очищает кеш от всех результатов поиска"
65
+
66
+ #: includes/options.php:111
67
+ msgid ""
68
+ "Smart scrapping sentences with searching terms from product description."
69
+ msgstr "Умные списки предложений с поисковыми терминами из описания продукта."
70
+
71
+ #: includes/options.php:112
72
+ msgid ""
73
+ "First N words of product description ( number of words that you choose below."
74
+ " )"
75
+ msgstr ""
76
+ "Первые N слов описания продукта (количество слов, которые вы выбираете ниже.)"
77
+
78
+ #: advanced-woo-search.php:113
79
+ msgid "Sale!"
80
+ msgstr "Распродажа!"
81
+
82
+ msgid "SKU"
83
+ msgstr "SKU"
84
+
85
+ msgid "View all results"
86
+ msgstr "Посмотреть все результаты"
87
+
88
+ #: advanced-woo-search.php:127
89
+ msgid "Settings"
90
+ msgstr "Настройки"
91
+
92
+ #: advanced-woo-search.php:130 includes/class-aws-admin.php:63
93
+ msgid "Get Premium"
94
+ msgstr "Получить Premium-версию"
95
+
96
+ #: advanced-woo-search.php:166
97
+ msgid ""
98
+ "Advanced Woo Search plugin is enabled but not effective. It requires "
99
+ "WooCommerce in order to work."
100
+ msgstr ""
101
+ "Плагин Advanced Woo Search включен, но не эффективен. Для работы требуется "
102
+ "WooCommerce."
103
+
104
+ #: includes/widget.php:15
105
+ msgid "Advanced WooCommerce search widget"
106
+ msgstr "Advanced WooCommerce search widget"
107
+
108
+ #: includes/widget.php:17
109
+ msgid "&raquo; AWS Widget"
110
+ msgstr "&raquo; AWS Widget"
111
+
112
+ #: includes/widget.php:56
113
+ msgid "Search..."
114
+ msgstr "Ищу..."
115
+
116
+ #: includes/widget.php:62
117
+ msgid "Title:"
118
+ msgstr "Заголовок:"
119
+
120
+ #: includes/class-aws-admin.php:38 includes/class-aws-admin.php:38
121
+ msgid "Adv. Woo Search"
122
+ msgstr "Adv. Woo Search"
123
+
124
+ #: includes/class-aws-admin.php:49
125
+ msgid "General"
126
+ msgstr "Основные"
127
+
128
+ #: includes/class-aws-admin.php:296
129
+ msgid "Active sources"
130
+ msgstr "Активированные источник "
131
+
132
+ #: includes/class-aws-admin.php:297
133
+ msgid "Change order by drag&drop"
134
+ msgstr "Измените порядок путем перетаскивания"
135
+
136
+ #: includes/class-aws-admin.php:316
137
+ msgid "Deactivated sources"
138
+ msgstr "Деактивированные источники"
139
+
140
+ #: includes/class-aws-admin.php:317
141
+ msgid "Excluded from search results"
142
+ msgstr "Исключено из поисковых результатов"
143
+
144
+ #: includes/options.php:9
145
+ msgid "Cache results"
146
+ msgstr "Результаты кеширования"
147
+
148
+ msgid "Sync index table"
149
+ msgstr "Синхронизировать индексную таблицу"
150
+
151
+ msgid ""
152
+ "Automatically update plugin index table when product content was changed. "
153
+ "This means that in search there will be always latest product data."
154
+ msgstr ""
155
+ "Автоматически обновлять индексную таблицу плагинов при изменении содержимого "
156
+ "продукта. Это означает, что в поиске всегда будут последние данные о товаре."
157
+
158
+ msgid "Turn this off if you have any problems with performance."
159
+ msgstr ""
160
+ "Выключите это, если у вас есть какие-либо проблемы с производительностью."
161
+
162
+ msgid "Main Settings"
163
+ msgstr "Основные настройки"
164
+
165
+ msgid "Seamless integration"
166
+ msgstr "Бесшовная интеграция"
167
+
168
+ msgid ""
169
+ "Replace all the standard search forms on your website ( may not work with "
170
+ "some themes )."
171
+ msgstr ""
172
+ "Заменяет все стандартные формы поиска на вашем сайте (может не работать с "
173
+ "некоторыми темами)."
174
+
175
+ msgid "Activation"
176
+ msgstr "Активация"
177
+
178
+ msgid ""
179
+ "In case you need to add plugin search form on your website, you can do it in "
180
+ "several ways:"
181
+ msgstr ""
182
+ "Если вам нужно добавить форму поиска плагинов на ваш сайт, вы можете сделать "
183
+ "это несколькими способами:"
184
+
185
+ msgid ""
186
+ "Enable a \"Seamless integration\" option ( may not work with some themes )"
187
+ msgstr ""
188
+ "Включите опцию «Бесшовная интеграция» (может не работать с некоторыми темами)"
189
+
190
+ msgid "Add search form using shortcode %s"
191
+ msgstr "Добавить форму поиска, используя шорткод %s"
192
+
193
+ msgid ""
194
+ "Add search form as widget for one of your theme widget areas. Go to "
195
+ "Appearance -> Widgets and drag&drop AWS Widget to one of your widget areas"
196
+ msgstr ""
197
+ "Добавить форму поиска в качестве виджета в одной из областей виджетов вашей "
198
+ "темы. Перейдите в Внешний вид -> Виджеты и перетащите AWS Widget в одну из "
199
+ "областей виджетов"
200
+
201
+ msgid "Add PHP code to the necessary files of your theme: %s"
202
+ msgstr "Добавьте PHP-код в нужные файлы вашей темы: %s"
203
+
204
+ #: includes/options.php:10
205
+ msgid ""
206
+ "Turn off if you have old data in the search results after content of "
207
+ "products was changed.<br><strong>CAUTION:</strong> can dramatically increase "
208
+ "search speed"
209
+ msgstr ""
210
+ "Установите off, если у вас остались старые данные в результатах поиска после "
211
+ "изменения содержания товаров.<br><strong>ВНИМАНИЕ:</strong> может "
212
+ "значительно увеличить скорость поиска"
213
+
214
+ #: includes/options.php:15 includes/options.php:43 includes/options.php:55
215
+ #: includes/options.php:67 includes/options.php:99 includes/options.php:123
216
+ #: includes/options.php:135 includes/options.php:147 includes/options.php:159
217
+ msgid "On"
218
+ msgstr "On"
219
+
220
+ #: includes/options.php:16 includes/options.php:44 includes/options.php:56
221
+ #: includes/options.php:68 includes/options.php:100 includes/options.php:124
222
+ #: includes/options.php:136 includes/options.php:148 includes/options.php:160
223
+ msgid "Off"
224
+ msgstr "Off"
225
+
226
+ #: includes/options.php:21
227
+ msgid "Text for search field"
228
+ msgstr "Текст в поле поиска"
229
+
230
+ #: includes/options.php:22
231
+ msgid "Text for search field placeholder."
232
+ msgstr " Текст, который будет указан в поле поиска"
233
+
234
+ #: includes/options.php:35
235
+ msgid "Search"
236
+ msgstr "Искать"
237
+
238
+ msgid "Text for show more button"
239
+ msgstr "Текст для кнопки Показать больше"
240
+
241
+ msgid ""
242
+ "Text for link to search results page at the bottom of search results block."
243
+ msgstr ""
244
+ "Текст ссылки на страницу результатов поиска в нижней части блока результатов "
245
+ "поиска."
246
+
247
+ #: includes/options.php:40
248
+ msgid "Nothing found field"
249
+ msgstr "Поле Ничего не найдено"
250
+
251
+ #: includes/options.php:41
252
+ msgid "Text when there is no search results."
253
+ msgstr "Текст, который сообщает, что ничего не нашлось"
254
+
255
+ #: includes/options.php:43
256
+ msgid "Nothing found"
257
+ msgstr "Нет результатов"
258
+
259
+ #: includes/options.php:29
260
+ msgid "Minimum number of characters"
261
+ msgstr "Минимальное количество символов"
262
+
263
+ #: includes/options.php:30
264
+ msgid "Minimum number of characters required to run ajax search."
265
+ msgstr ""
266
+ "Минимальное количество символов, которое требуется для запуска ajax поиска."
267
+
268
+ #: includes/options.php:37
269
+ msgid "Show loader"
270
+ msgstr "Показать загрузчик"
271
+
272
+ #: includes/options.php:38
273
+ msgid "Show loader animation while searching."
274
+ msgstr "Показывать процесс загрузки пока идет поиск"
275
+
276
+ msgid "Show clear button"
277
+ msgstr "Показать кнопку очистки"
278
+
279
+ msgid ""
280
+ "Show 'Clear search string' button for desktop devices ( for mobile it is "
281
+ "always visible )."
282
+ msgstr ""
283
+ "Показать кнопку «Очистить строку поиска» для настольных устройств (для "
284
+ "мобильных устройств она всегда видна)."
285
+
286
+ msgid "Show 'View All Results'"
287
+ msgstr "Показать \"Посмотреть все результаты\""
288
+
289
+ msgid "Show link to search results page at the bottom of search results block."
290
+ msgstr ""
291
+ "Показать ссылку на страницу результатов поиска внизу блока результатов "
292
+ "поиска."
293
+
294
+ msgid "Search Results"
295
+ msgstr "Результаты поиска"
296
+
297
+ msgid "Choose how to view search results."
298
+ msgstr "Выберите, в каком виде выводить результаты поиска"
299
+
300
+ msgid "Both ajax search results and search results page"
301
+ msgstr "Оба варианта: Результаты поиска ajax и страница результатов поиска "
302
+
303
+ msgid "Only ajax search results ( no search results page )"
304
+ msgstr "Только результаты поиска ajax ( нет страница результатов поиска )"
305
+
306
+ msgid "Only search results page ( no ajax search results )"
307
+ msgstr "Только страница результатов поиска ( нет результатов поиска ajax )"
308
+
309
+ msgid "Form Styling"
310
+ msgstr "Вид поисковой формы "
311
+
312
+ msgid "Choose search form layout"
313
+ msgstr "Выберите форму поиска"
314
+
315
+ msgid ""
316
+ "Filter button will be visible only if you have more than one active filter "
317
+ "for current search form instance."
318
+ msgstr ""
319
+ "Кнопка фильтра будет видна, только если у вас есть более одного активного "
320
+ "фильтра для текущего экземпляра формы поиска."
321
+
322
+ #: includes/options.php:49
323
+ msgid "Show image"
324
+ msgstr "Показывать изображения"
325
+
326
+ #: includes/options.php:50
327
+ msgid "Show product image for each search result."
328
+ msgstr "Показать изображения товара для каждого результата поиска"
329
+
330
+ #: includes/options.php:61
331
+ msgid "Show description"
332
+ msgstr "Показывать описание"
333
+
334
+ #: includes/options.php:62
335
+ msgid "Show product description for each search result."
336
+ msgstr "Показывать описание товара для каждого результата поиска"
337
+
338
+ #: includes/options.php:73
339
+ msgid "Description source"
340
+ msgstr "Источник Описание"
341
+
342
+ #: includes/options.php:74
343
+ msgid ""
344
+ "From where to take product description.<br>If first source is empty data "
345
+ "will be taken from other sources."
346
+ msgstr ""
347
+ "Откуда взять описание товара.<br>Если первый источник пуст, данные будут "
348
+ "взяты из других источников."
349
+
350
+ #: includes/options.php:79
351
+ msgid "Content"
352
+ msgstr "Содержание"
353
+
354
+ #: includes/options.php:80
355
+ msgid "Excerpt"
356
+ msgstr "Отрывок"
357
+
358
+ #: includes/options.php:85
359
+ msgid "Description length"
360
+ msgstr "Длина Описания"
361
+
362
+ #: includes/options.php:86
363
+ msgid "Maximal allowed number of words for product description."
364
+ msgstr "Максимально допустимое количество слов для описания продукта."
365
+
366
+ #: includes/options.php:93
367
+ msgid "Show price"
368
+ msgstr "Показывать стоимость"
369
+
370
+ #: includes/options.php:94
371
+ msgid "Show product price for each search result."
372
+ msgstr "Показывать стоимость товара для каждого результата поиска"
373
+
374
+ msgid "Show price for out of stock"
375
+ msgstr "Показывать стоимость товаров, которых нет в наличии"
376
+
377
+ msgid "Show product price for out of stock products."
378
+ msgstr "Показывать стоимость товаров, которых нет в наличии"
379
+
380
+ #: includes/options.php:105
381
+ msgid "Description content"
382
+ msgstr "Содержимое Описания"
383
+
384
+ #: includes/options.php:106
385
+ msgid "What to show in product description?"
386
+ msgstr "Что показывать в описании товара?"
387
+
388
+ #: includes/options.php:117
389
+ msgid "Show categories archive"
390
+ msgstr "Показывать категории архивов"
391
+
392
+ #: includes/options.php:118
393
+ msgid "Include categories archives pages to search result."
394
+ msgstr "Включить категории архивных страниц в результаты поиска."
395
+
396
+ #: includes/options.php:129
397
+ msgid "Show tags archive"
398
+ msgstr "Показывать метки архивов"
399
+
400
+ #: includes/options.php:130
401
+ msgid "Include tags archives pages to search results."
402
+ msgstr "Включить метки архивных страниц в результаты поиска"
403
+
404
+ #: includes/options.php:141
405
+ msgid "Show sale badge"
406
+ msgstr "Показывать знак распродажи"
407
+
408
+ #: includes/options.php:142
409
+ msgid "Show sale badge for products in search results."
410
+ msgstr "Показывать значок распродажи в результатах поиска"
411
+
412
+ #: includes/options.php:153
413
+ msgid "Show product SKU"
414
+ msgstr "Показывать SKU товара"
415
+
416
+ #: includes/options.php:154
417
+ msgid "Show product SKU in search results."
418
+ msgstr "Показывать SKU товара в результатах поиска"
419
+
420
+ msgid "Show stock status"
421
+ msgstr "Показывать статус в наличии"
422
+
423
+ msgid "Show stock status for every product in search results."
424
+ msgstr "Показывать статус наличия для каждого товара из поиска"
425
+
426
+ msgid "Show featured icon"
427
+ msgstr "Показывать значок рекомендации"
428
+
429
+ msgid "Show or not star icon for featured products."
430
+ msgstr "Показать или нет значок звезды для рекомендуемых продуктов."
431
+
432
+ #: includes/options.php:167
433
+ msgid "Max number of results"
434
+ msgstr "Максимальное число найденных результатов"
435
+
436
+ #: includes/options.php:168
437
+ msgid "Maximum number of displayed search results."
438
+ msgstr "Максимальное число найденных результатов, которые будут показаны"
439
+
440
+ #: includes/options.php:175
441
+ msgid "Search in"
442
+ msgstr "Искать в"
443
+
444
+ #: includes/options.php:176
445
+ msgid "Search source: Drag&drop sources to activate or deactivate them."
446
+ msgstr ""
447
+ "Где искать: перетащите источники, чтобы активировать или деактивировать их."
448
+
449
+ #: includes/options.php:30
450
+ msgid "Show out-of-stock"
451
+ msgstr "Показать товары, которых нет в наличии"
452
+
453
+ #: includes/options.php:31
454
+ msgid "Show out-of-stock products in search"
455
+ msgstr "Показать в результатах поиска те товары, которых нет в наличии"
456
+
457
+ msgid "Stop words list"
458
+ msgstr "Список стоп-слов"
459
+
460
+ msgid "Comma separated list of words that will be excluded from search."
461
+ msgstr "Разделенный запятыми список слов, которые будут исключены из поиска."
462
+
463
+ msgid "Re-index required on change."
464
+ msgstr "При изменении требуется переиндексация."
465
+
466
+ #: includes/options.php:42
467
+ msgid "Use Google Analytics"
468
+ msgstr "Использовать Google Analytics"
469
+
470
+ #: includes/options.php:42
471
+ msgid ""
472
+ "Use google analytics to track searches. You need google analytics to be "
473
+ "installed on your site."
474
+ msgstr ""
475
+ "Используйте Google Analytics для отслеживания поисковых запросов. Вам нужно "
476
+ "установить Google Analytics на вашем сайте."
477
+
478
+ #: includes/options.php:42
479
+ msgid ""
480
+ "Will send event with category - 'AWS search', action - 'AWS Search Term' and "
481
+ "label of value of search term."
482
+ msgstr ""
483
+ "Отправит событие с категорией - 'AWS search', действие - 'AWS Search Term' и "
484
+ "меткой значения поискового термина."
485
+
486
+ msgid "In stock"
487
+ msgstr "В наличии"
488
+
489
+ msgid "Out of stock"
490
+ msgstr "Нет в наличии"
491
+
492
+ #. Name of the plugin
493
+ msgid "Advanced Woo Search"
494
+ msgstr "Advanced Woo Search"
495
+
496
+ #. Description of the plugin
497
+ msgid "Advance ajax WooCommerce product search."
498
+ msgstr "Расширенный ajax-поиск товаров в Woocommerce"
499
+
500
+ #. Author of the plugin
501
+ msgid "ILLID"
502
+ msgstr "ILLID"
languages/{aws.pot → advanced-woo-search.pot} RENAMED
File without changes
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: widget, plugin, woocommerce, search, product search, woocommerce search, ajax search, live search, custom search, ajax, shortcode, better search, relevance search, relevant search, search by sku, search plugin, shop, store, wordpress search, wp ajax search, wp search, wp search plugin, sidebar, ecommerce, merketing, products, category search, instant-search, search highlight, woocommerce advanced search, woocommerce live search, WooCommerce Plugin, woocommerce product search
5
  Requires at least: 4.0
6
  Tested up to: 5.2
7
- Stable tag: 1.76
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -103,6 +103,16 @@ Yep. This plugin is always compatible with the latest version of Woocommerce?
103
 
104
  == Changelog ==
105
 
 
 
 
 
 
 
 
 
 
 
106
  = 1.76 =
107
  * Update - Markup of search form
108
  * Dev - Add new parameters for ajax call
4
  Tags: widget, plugin, woocommerce, search, product search, woocommerce search, ajax search, live search, custom search, ajax, shortcode, better search, relevance search, relevant search, search by sku, search plugin, shop, store, wordpress search, wp ajax search, wp search, wp search plugin, sidebar, ecommerce, merketing, products, category search, instant-search, search highlight, woocommerce advanced search, woocommerce live search, WooCommerce Plugin, woocommerce product search
5
  Requires at least: 4.0
6
  Tested up to: 5.2
7
+ Stable tag: 1.77
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
103
 
104
  == Changelog ==
105
 
106
+ = 1.77 =
107
+ * Fix - Order by price bug on search results page
108
+ * Update - plugin text domain
109
+ * Add - ru translation ( thanks to @hdelta045 )
110
+ * Update - styles for search form
111
+ * Update - styles for search form on mobile devices
112
+ * Update - search results image size
113
+ * Add - seamless integration for Astra theme
114
+ * Update - settings page text
115
+
116
  = 1.76 =
117
  * Update - Markup of search form
118
  * Dev - Add new parameters for ajax call