Ivory Search – WordPress Search Plugin - Version 4.1.4

Version Description

  • Searches in WooCommerce products variation.
  • Fixed - Firefox browser dropdown select issue
  • Optimized plugin admin options.
Download this release

Release Info

Developer vinod dalvi
Plugin Icon 128x128 Ivory Search – WordPress Search Plugin
Version 4.1.4
Comparing to
See all releases

Code changes from version 4.1.3 to 4.1.4

add-search-to-menu.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Ivory Search
4
  * Plugin URI: https://ivorysearch.com
5
  * Description: The WordPress Search plugin to power your WordPress site custom search. Helping you build a better search. Includes WooCommerce Search support!
6
- * Version: 4.1.3
7
  * Author: Ivory Search
8
  * Author URI: https://ivorysearch.com/
9
  * License: GPL2+
@@ -13,7 +13,7 @@
13
  *
14
  * @fs_premium_only /includes/class-is-stemmer.php
15
  *
16
- * WC tested up to: 3.4
17
  *
18
  * Ivory Search is free software: you can redistribute it and/or modify
19
  * it under the terms of the GNU General Public License as published by
@@ -62,9 +62,8 @@ final class Ivory_Search {
62
  * Ivory Search Constructor.
63
  */
64
  public function __construct() {
65
- $old_opt = (array)get_option( 'add_search_to_menu' );
66
- $new_opt = (array)get_option( 'ivory_search' );
67
- $this->opt = array_merge( $old_opt, $new_opt );
68
  $this->define_constants();
69
  $this->includes();
70
  $this->init_hooks();
@@ -84,11 +83,26 @@ final class Ivory_Search {
84
  return self::$_instance;
85
  }
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  /**
88
  * Defines Ivory Search Constants.
89
  */
90
  private function define_constants() {
91
- define( 'IS_VERSION', '4.0' );
92
  define( 'IS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
93
  define( 'IS_PLUGIN_FILE', __FILE__ );
94
 
3
  * Plugin Name: Ivory Search
4
  * Plugin URI: https://ivorysearch.com
5
  * Description: The WordPress Search plugin to power your WordPress site custom search. Helping you build a better search. Includes WooCommerce Search support!
6
+ * Version: 4.1.4
7
  * Author: Ivory Search
8
  * Author URI: https://ivorysearch.com/
9
  * License: GPL2+
13
  *
14
  * @fs_premium_only /includes/class-is-stemmer.php
15
  *
16
+ * WC tested up to: 3.5
17
  *
18
  * Ivory Search is free software: you can redistribute it and/or modify
19
  * it under the terms of the GNU General Public License as published by
62
  * Ivory Search Constructor.
63
  */
64
  public function __construct() {
65
+ $this->opt = self::load_options();
66
+
 
67
  $this->define_constants();
68
  $this->includes();
69
  $this->init_hooks();
83
  return self::$_instance;
84
  }
85
 
86
+ /**
87
+ * Loads plugin options.
88
+ *
89
+ */
90
+ public static function load_options() {
91
+ $old_opt = get_option( 'add_search_to_menu', array() );
92
+ $new_opt = (array)get_option( 'ivory_search', array() );
93
+ $temp = array_merge( $old_opt, $new_opt );
94
+ $is_menu_search = get_option( 'is_menu_search', array() );
95
+ $temp2 = array_merge( $temp, (array)$is_menu_search );
96
+ $is_settings = get_option( 'is_settings', array() );
97
+
98
+ return array_merge( $temp2, (array)$is_settings );
99
+ }
100
+
101
  /**
102
  * Defines Ivory Search Constants.
103
  */
104
  private function define_constants() {
105
+ define( 'IS_VERSION', '4.1.4' );
106
  define( 'IS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
107
  define( 'IS_PLUGIN_FILE', __FILE__ );
108
 
admin/class-is-admin.php CHANGED
@@ -32,9 +32,7 @@ class IS_Admin
32
  if ( null !== $is ) {
33
  $this->opt = $is->opt;
34
  } else {
35
- $old_opt = (array) get_option( 'add_search_to_menu' );
36
- $new_opt = (array) get_option( 'ivory_search' );
37
- $this->opt = array_merge( $old_opt, $new_opt );
38
  }
39
 
40
  $this->networkactive = is_multisite() && array_key_exists( plugin_basename( IS_PLUGIN_FILE ), (array) get_site_option( 'active_sitewide_plugins' ) );
@@ -76,7 +74,7 @@ class IS_Admin
76
  );
77
  $args = array(
78
  'saveAlert' => __( "The changes you made will be lost if you navigate away from this page.", 'ivory-search' ),
79
- 'activeTab' => ( isset( $_GET['active-tab'] ) ? (int) $_GET['active-tab'] : 0 ),
80
  );
81
  wp_localize_script( 'is-admin-scripts', 'ivory_search', $args );
82
  wp_enqueue_script( 'is-admin-scripts' );
@@ -132,7 +130,53 @@ class IS_Admin
132
 
133
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
134
  $this->opt['dismiss_admin_notices'] = 1;
135
- update_option( 'ivory_search', $this->opt );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  }
137
 
138
  die;
@@ -174,8 +218,12 @@ class IS_Admin
174
  */
175
  function admin_init()
176
  {
177
- $settings_fields = new IS_Settings_Fields( $this->opt );
178
- $settings_fields->register_settings_fields();
 
 
 
 
179
  /* Creates default search form */
180
  $search_form = get_page_by_title( 'Default Search Form', OBJECT, IS_Search_Form::post_type );
181
 
@@ -327,7 +375,7 @@ class IS_Admin
327
 
328
  if ( $post = IS_Search_Form::get_current() ) {
329
  $post_id = ( $post->initial() ? -1 : $post->id() );
330
- include_once 'partials/new-search-form.php';
331
  return;
332
  }
333
 
@@ -383,7 +431,7 @@ class IS_Admin
383
  $post = IS_Search_Form::get_template();
384
  }
385
  $post_id = -1;
386
- include_once 'partials/new-search-form.php';
387
  }
388
 
389
  /**
@@ -415,6 +463,7 @@ class IS_Admin
415
  $args['_is_includes'] = ( isset( $_POST['_is_includes'] ) ? $_POST['_is_includes'] : '' );
416
  $args['_is_excludes'] = ( isset( $_POST['_is_excludes'] ) ? $_POST['_is_excludes'] : '' );
417
  $args['_is_settings'] = ( isset( $_POST['_is_settings'] ) ? $_POST['_is_settings'] : '' );
 
418
  $invalid = false;
419
  if ( !empty($args['_is_includes']) && !empty($args['_is_excludes']) ) {
420
  foreach ( $args['_is_includes'] as $key => $value ) {
@@ -451,16 +500,16 @@ class IS_Admin
451
 
452
  if ( $invalid ) {
453
  $query = array(
454
- 'post' => $id,
455
- 'active-tab' => ( isset( $_POST['active-tab'] ) ? (int) $_POST['active-tab'] : 0 ),
456
  );
457
  $query['message'] = 'invalid';
458
  $query['data'] = $invalid;
459
  } else {
460
  $search_form = $this->save_form( $args );
461
  $query = array(
462
- 'post' => ( $search_form ? $search_form->id() : 0 ),
463
- 'active-tab' => ( isset( $_POST['active-tab'] ) ? (int) $_POST['active-tab'] : 0 ),
464
  );
465
 
466
  if ( !$search_form ) {
@@ -496,7 +545,7 @@ class IS_Admin
496
  $args['_is_settings'] = '';
497
  $search_form = $this->save_form( $args );
498
  $query['post'] = $id;
499
- $query['active-tab'] = ( isset( $_POST['active-tab'] ) ? (int) $_POST['active-tab'] : 0 );
500
  $query['message'] = 'reset';
501
  }
502
 
@@ -604,6 +653,7 @@ class IS_Admin
604
  '_is_includes' => null,
605
  '_is_excludes' => null,
606
  '_is_settings' => null,
 
607
  ) );
608
  $args['id'] = (int) $args['id'];
609
  $search_form = '';
@@ -624,9 +674,15 @@ class IS_Admin
624
  $search_form->set_locale( $args['_is_locale'] );
625
  }
626
  $properties = $search_form->get_properties();
627
- $properties['_is_includes'] = $this->sanitize_includes( $args['_is_includes'] );
628
- $properties['_is_excludes'] = $this->sanitize_excludes( $args['_is_excludes'] );
629
- $properties['_is_settings'] = $this->sanitize_settings( $args['_is_settings'] );
 
 
 
 
 
 
630
  $search_form->set_properties( $properties );
631
  do_action(
632
  'is_before_save_form',
32
  if ( null !== $is ) {
33
  $this->opt = $is->opt;
34
  } else {
35
+ $this->opt = Ivory_Search::load_options();
 
 
36
  }
37
 
38
  $this->networkactive = is_multisite() && array_key_exists( plugin_basename( IS_PLUGIN_FILE ), (array) get_site_option( 'active_sitewide_plugins' ) );
74
  );
75
  $args = array(
76
  'saveAlert' => __( "The changes you made will be lost if you navigate away from this page.", 'ivory-search' ),
77
+ 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
78
  );
79
  wp_localize_script( 'is-admin-scripts', 'ivory_search', $args );
80
  wp_enqueue_script( 'is-admin-scripts' );
130
 
131
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
132
  $this->opt['dismiss_admin_notices'] = 1;
133
+ update_option( 'is_settings', $this->opt );
134
+ }
135
+
136
+ die;
137
+ }
138
+
139
+ /**
140
+ * Displays posts in the list using AJAX.
141
+ */
142
+ function display_posts()
143
+ {
144
+ $posts = get_posts( array(
145
+ 'post_type' => $_REQUEST['post_type'],
146
+ 'posts_per_page' => -1,
147
+ 'orderby' => 'title',
148
+ 'order' => 'ASC',
149
+ ) );
150
+
151
+ if ( !empty($posts) ) {
152
+ $temp = '';
153
+ $meta = get_post_meta( $_REQUEST['post_id'] );
154
+
155
+ if ( 'includes' === $_REQUEST['inc_exc'] && isset( $meta['_is_includes'] ) ) {
156
+ $meta = maybe_unserialize( $meta['_is_includes'][0] );
157
+ } else {
158
+ if ( 'excludes' === $_REQUEST['inc_exc'] && isset( $meta['_is_excludes'] ) ) {
159
+ $meta = maybe_unserialize( $meta['_is_excludes'][0] );
160
+ }
161
+ }
162
+
163
+ foreach ( $posts as $post2 ) {
164
+ $checked = '';
165
+
166
+ if ( 'includes' === $_REQUEST['inc_exc'] ) {
167
+ $checked = ( isset( $meta['post__in'] ) && in_array( $post2->ID, $meta['post__in'] ) ? $post2->ID : 0 );
168
+ } else {
169
+ if ( 'excludes' === $_REQUEST['inc_exc'] ) {
170
+ $checked = ( isset( $meta['post__not_in'] ) && in_array( $post2->ID, $meta['post__not_in'] ) ? $post2->ID : 0 );
171
+ }
172
+ }
173
+
174
+ $post_title = ( isset( $post2->post_title ) && '' !== $post2->post_title ? esc_html( $post2->post_title ) : $post2->post_name );
175
+ $temp .= '<option value="' . esc_attr( $post2->ID ) . '" ' . selected( $post2->ID, $checked, false ) . '>' . $post_title . '</option>';
176
+ }
177
+ echo $temp ;
178
+ } else {
179
+ _e( 'No posts found', 'ivory-search' );
180
  }
181
 
182
  die;
218
  */
219
  function admin_init()
220
  {
221
+
222
+ if ( !empty($GLOBALS['pagenow']) && ('admin.php' === $GLOBALS['pagenow'] || 'options.php' === $GLOBALS['pagenow']) ) {
223
+ $settings_fields = new IS_Settings_Fields( $this->opt );
224
+ $settings_fields->register_settings_fields();
225
+ }
226
+
227
  /* Creates default search form */
228
  $search_form = get_page_by_title( 'Default Search Form', OBJECT, IS_Search_Form::post_type );
229
 
375
 
376
  if ( $post = IS_Search_Form::get_current() ) {
377
  $post_id = ( $post->initial() ? -1 : $post->id() );
378
+ include_once 'partials/search-form.php';
379
  return;
380
  }
381
 
431
  $post = IS_Search_Form::get_template();
432
  }
433
  $post_id = -1;
434
+ include_once 'partials/search-form.php';
435
  }
436
 
437
  /**
463
  $args['_is_includes'] = ( isset( $_POST['_is_includes'] ) ? $_POST['_is_includes'] : '' );
464
  $args['_is_excludes'] = ( isset( $_POST['_is_excludes'] ) ? $_POST['_is_excludes'] : '' );
465
  $args['_is_settings'] = ( isset( $_POST['_is_settings'] ) ? $_POST['_is_settings'] : '' );
466
+ $args['tab'] = ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' );
467
  $invalid = false;
468
  if ( !empty($args['_is_includes']) && !empty($args['_is_excludes']) ) {
469
  foreach ( $args['_is_includes'] as $key => $value ) {
500
 
501
  if ( $invalid ) {
502
  $query = array(
503
+ 'post' => $id,
504
+ 'tab' => ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' ),
505
  );
506
  $query['message'] = 'invalid';
507
  $query['data'] = $invalid;
508
  } else {
509
  $search_form = $this->save_form( $args );
510
  $query = array(
511
+ 'post' => ( $search_form ? $search_form->id() : 0 ),
512
+ 'tab' => ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' ),
513
  );
514
 
515
  if ( !$search_form ) {
545
  $args['_is_settings'] = '';
546
  $search_form = $this->save_form( $args );
547
  $query['post'] = $id;
548
+ $query['tab'] = ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' );
549
  $query['message'] = 'reset';
550
  }
551
 
653
  '_is_includes' => null,
654
  '_is_excludes' => null,
655
  '_is_settings' => null,
656
+ 'tab' => null,
657
  ) );
658
  $args['id'] = (int) $args['id'];
659
  $search_form = '';
674
  $search_form->set_locale( $args['_is_locale'] );
675
  }
676
  $properties = $search_form->get_properties();
677
+ if ( null === $args['tab'] || 'includes' === $args['tab'] ) {
678
+ $properties['_is_includes'] = $this->sanitize_includes( $args['_is_includes'] );
679
+ }
680
+ if ( null === $args['tab'] || 'excludes' === $args['tab'] ) {
681
+ $properties['_is_excludes'] = $this->sanitize_excludes( $args['_is_excludes'] );
682
+ }
683
+ if ( null === $args['tab'] || 'options' === $args['tab'] ) {
684
+ $properties['_is_settings'] = $this->sanitize_settings( $args['_is_settings'] );
685
+ }
686
  $search_form->set_properties( $properties );
687
  do_action(
688
  'is_before_save_form',
admin/class-is-editor.php CHANGED
@@ -31,17 +31,27 @@ class IS_Search_Editor
31
  return;
32
  }
33
  echo '<ul id="search-form-editor-tabs">' ;
34
- foreach ( $this->panels as $id => $panel ) {
35
- echo sprintf( '<li id="%1$s-tab"><a href="#%1$s">%2$s</a></li>', esc_attr( $id ), esc_html( $panel['title'] ) ) ;
 
36
  }
37
- echo '</ul>' ;
38
  foreach ( $this->panels as $id => $panel ) {
39
- echo sprintf( '<div class="search-form-editor-panel" id="%1$s">', esc_attr( $id ) ) ;
40
- $this->notice( $id, $panel );
41
- $callback = $panel['callback'];
42
- $this->{$callback}( $this->search_form );
43
- echo '</div>' ;
 
 
 
44
  }
 
 
 
 
 
 
45
  }
46
 
47
  public function notice( $id, $panel )
@@ -78,8 +88,8 @@ class IS_Search_Editor
78
  {
79
  $id = '_is_includes';
80
  $includes = $post->prop( $id );
81
- $settings = $post->prop( '_is_settings' );
82
  $excludes = $post->prop( '_is_excludes' );
 
83
  ?>
84
  <h4 class="panel-desc">
85
  <?php
@@ -200,14 +210,14 @@ class IS_Search_Editor
200
  foreach ( $post_types as $post_type ) {
201
  $posts = get_posts( array(
202
  'post_type' => $post_type,
203
- 'posts_per_page' => -1,
204
  'orderby' => 'title',
205
  'order' => 'ASC',
206
  ) );
207
 
208
  if ( !empty($posts) ) {
209
  $html = '<div class="col-wrapper"><div class="col-title">';
210
- $col_title = ucwords( $post_type );
211
  $temp = '';
212
  $selected_pt = array();
213
  foreach ( $posts as $post2 ) {
@@ -223,7 +233,11 @@ class IS_Search_Editor
223
  }
224
  $html .= $col_title . '<input class="list-search" placeholder="' . __( "Search..", 'ivory-search' ) . '" type="text"></div>';
225
  $html .= '<select class="_is_includes-post__in" name="' . $id . '[post__in][]" multiple size="8" >';
226
- $html .= $temp . '</select></div>';
 
 
 
 
227
  echo $html ;
228
  if ( !empty($selected_pt) ) {
229
  echo '<span class="ind-status ' . $id . '-post__in"></span>' ;
@@ -231,7 +245,7 @@ class IS_Search_Editor
231
  }
232
 
233
  }
234
- echo '<br /><label for="' . $id . '-post__in" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
235
  ?>
236
  </div></div>
237
 
@@ -284,7 +298,7 @@ class IS_Search_Editor
284
  }
285
 
286
  }
287
- echo '<br /><label for="' . $id . '-tax_query" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
288
  $ind_status = false;
289
  if ( isset( $includes['tax_query'] ) && !empty($includes['tax_query']) ) {
290
  $ind_status = true;
@@ -352,7 +366,7 @@ class IS_Search_Editor
352
  echo '<option value="' . esc_attr( $meta_key ) . '" ' . selected( $meta_key, $checked, false ) . '>' . esc_html( $meta_key ) . '</option>' ;
353
  }
354
  echo '</select>' ;
355
- echo '<br /><label for="' . $id . '-custom_field" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
356
  }
357
 
358
 
@@ -394,12 +408,22 @@ class IS_Search_Editor
394
  }
395
 
396
  if ( in_array( 'product', $args ) ) {
 
397
  $woo_sku_disable = ( is_fs()->is_plan_or_trial( 'pro_plus' ) && $this->is_premium_plugin ? '' : ' disabled ' );
398
  $checked = ( isset( $includes['woo']['sku'] ) && $includes['woo']['sku'] ? 1 : 0 );
 
 
 
399
  echo '<p class="check-radio"><label for="' . $id . '-sku" ><input class="_is_includes-woocommerce" type="checkbox" ' . $woo_sku_disable . ' id="' . $id . '-sku" name="' . $id . '[woo][sku]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
400
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in WooCommerce products SKU.", 'ivory-search' ) . '</label>' ;
 
 
 
 
 
 
401
  echo IS_Admin::pro_link( 'pro_plus' ) . '</p>' ;
402
- if ( $checked ) {
403
  echo '<span class="ind-status ' . $id . '-woocommerce"></span>' ;
404
  }
405
  } else {
@@ -723,7 +747,7 @@ class IS_Search_Editor
723
  }
724
  echo '</select>' ;
725
  echo IS_Admin::pro_link( 'pro_plus' ) ;
726
- echo '<br /><br /><label for="' . $id . '-post_file_type" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
727
  }
728
 
729
  } else {
@@ -802,14 +826,14 @@ class IS_Search_Editor
802
  foreach ( $post_types as $post_type ) {
803
  $posts = get_posts( array(
804
  'post_type' => $post_type,
805
- 'posts_per_page' => -1,
806
  'orderby' => 'title',
807
  'order' => 'ASC',
808
  ) );
809
 
810
  if ( !empty($posts) ) {
811
  $html = '<div class="col-wrapper"><div class="col-title">';
812
- $col_title = ucwords( $post_type );
813
  $temp = '';
814
  $selected_pt = array();
815
  foreach ( $posts as $post2 ) {
@@ -825,7 +849,11 @@ class IS_Search_Editor
825
  }
826
  $html .= $col_title . '<input class="list-search" placeholder="' . __( "Search..", 'ivory-search' ) . '" type="text"></div>';
827
  $html .= '<select class="_is_excludes-post__not_in" name="' . $id . '[post__not_in][]" multiple size="8" >';
828
- $html .= $temp . '</select></div>';
 
 
 
 
829
  echo $html ;
830
  if ( !empty($selected_pt) ) {
831
  echo '<span class="ind-status ' . $id . '-post__not_in"></span>' ;
@@ -833,7 +861,7 @@ class IS_Search_Editor
833
  }
834
 
835
  }
836
- echo '<br /><label for="' . $id . '-post__not_in" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
837
  } else {
838
  _e( 'Search is already limited to specific posts selected in Includes section.', 'ivory-search' );
839
  }
@@ -885,7 +913,7 @@ class IS_Search_Editor
885
  }
886
 
887
  }
888
- echo '<br /><label for="' . $id . '-tax_query" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
889
  if ( isset( $excludes['tax_query'] ) && !empty($excludes['tax_query']) ) {
890
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
891
  }
@@ -931,7 +959,7 @@ class IS_Search_Editor
931
  }
932
  echo '</select>' ;
933
  echo IS_Admin::pro_link() ;
934
- echo '<br /><br /><label for="' . $id . '-custom_field" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
935
  }
936
 
937
 
@@ -1139,7 +1167,7 @@ class IS_Search_Editor
1139
  }
1140
  echo '</select>' ;
1141
  echo IS_Admin::pro_link( 'pro_plus' ) ;
1142
- echo '<br /><br /><label for="' . $id . '-post_file_type" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
1143
  }
1144
 
1145
  } else {
@@ -1171,7 +1199,7 @@ class IS_Search_Editor
1171
  <?php
1172
  }
1173
 
1174
- public function settings_panel( $post )
1175
  {
1176
  $id = '_is_settings';
1177
  $settings = $post->prop( $id );
31
  return;
32
  }
33
  echo '<ul id="search-form-editor-tabs">' ;
34
+ $url = esc_url( menu_page_url( 'ivory-search-new', false ) );
35
+ if ( isset( $_GET['post'] ) ) {
36
+ $url = esc_url( menu_page_url( 'ivory-search', false ) ) . '&post=' . $_GET['post'] . '&action=edit';
37
  }
38
+ $tab = ( isset( $_GET['tab'] ) ? $_GET['tab'] : 'includes' );
39
  foreach ( $this->panels as $id => $panel ) {
40
+ $class = ( $tab == $id ? 'active' : '' );
41
+ echo sprintf(
42
+ '<li id="%1$s-tab" class="%2$s"><a href="%3$s">%4$s</a></li>',
43
+ esc_attr( $id ),
44
+ esc_attr( $class ),
45
+ $url . '&tab=' . $id,
46
+ esc_html( $panel['title'] )
47
+ ) ;
48
  }
49
+ echo '</ul>' ;
50
+ echo sprintf( '<div class="search-form-editor-panel" id="%1$s">', esc_attr( $tab ) ) ;
51
+ $this->notice( $tab, $tab . '_panel' );
52
+ $callback = $tab . '_panel';
53
+ $this->{$callback}( $this->search_form );
54
+ echo '</div>' ;
55
  }
56
 
57
  public function notice( $id, $panel )
88
  {
89
  $id = '_is_includes';
90
  $includes = $post->prop( $id );
 
91
  $excludes = $post->prop( '_is_excludes' );
92
+ $settings = $post->prop( '_is_settings' );
93
  ?>
94
  <h4 class="panel-desc">
95
  <?php
210
  foreach ( $post_types as $post_type ) {
211
  $posts = get_posts( array(
212
  'post_type' => $post_type,
213
+ 'posts_per_page' => 100,
214
  'orderby' => 'title',
215
  'order' => 'ASC',
216
  ) );
217
 
218
  if ( !empty($posts) ) {
219
  $html = '<div class="col-wrapper"><div class="col-title">';
220
+ $col_title = '<span>' . ucwords( $post_type ) . '</span>';
221
  $temp = '';
222
  $selected_pt = array();
223
  foreach ( $posts as $post2 ) {
233
  }
234
  $html .= $col_title . '<input class="list-search" placeholder="' . __( "Search..", 'ivory-search' ) . '" type="text"></div>';
235
  $html .= '<select class="_is_includes-post__in" name="' . $id . '[post__in][]" multiple size="8" >';
236
+ $html .= $temp . '</select>';
237
+ if ( count( $posts ) >= 100 ) {
238
+ $html .= '<div id="' . $post_type . '" class="load-all">' . __( 'Load All', 'ivory-search' ) . '</div>';
239
+ }
240
+ $html .= '</div>';
241
  echo $html ;
242
  if ( !empty($selected_pt) ) {
243
  echo '<span class="ind-status ' . $id . '-post__in"></span>' ;
245
  }
246
 
247
  }
248
+ echo '<br /><label for="' . $id . '-post__in" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
249
  ?>
250
  </div></div>
251
 
298
  }
299
 
300
  }
301
+ echo '<br /><label for="' . $id . '-tax_query" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
302
  $ind_status = false;
303
  if ( isset( $includes['tax_query'] ) && !empty($includes['tax_query']) ) {
304
  $ind_status = true;
366
  echo '<option value="' . esc_attr( $meta_key ) . '" ' . selected( $meta_key, $checked, false ) . '>' . esc_html( $meta_key ) . '</option>' ;
367
  }
368
  echo '</select>' ;
369
+ echo '<br /><label for="' . $id . '-custom_field" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
370
  }
371
 
372
 
408
  }
409
 
410
  if ( in_array( 'product', $args ) ) {
411
+ $ind_status = false;
412
  $woo_sku_disable = ( is_fs()->is_plan_or_trial( 'pro_plus' ) && $this->is_premium_plugin ? '' : ' disabled ' );
413
  $checked = ( isset( $includes['woo']['sku'] ) && $includes['woo']['sku'] ? 1 : 0 );
414
+ if ( $checked ) {
415
+ $ind_status = true;
416
+ }
417
  echo '<p class="check-radio"><label for="' . $id . '-sku" ><input class="_is_includes-woocommerce" type="checkbox" ' . $woo_sku_disable . ' id="' . $id . '-sku" name="' . $id . '[woo][sku]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
418
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in WooCommerce products SKU.", 'ivory-search' ) . '</label></p>' ;
419
+ $checked = ( isset( $includes['woo']['variation'] ) && $includes['woo']['variation'] ? 1 : 0 );
420
+ if ( !$ind_status && $checked ) {
421
+ $ind_status = true;
422
+ }
423
+ echo '<p class="check-radio"><label for="' . $id . '-variation" ><input class="_is_includes-woocommerce" type="checkbox" ' . $woo_sku_disable . ' id="' . $id . '-variation" name="' . $id . '[woo][variation]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
424
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in WooCommerce products variation.", 'ivory-search' ) . '</label>' ;
425
  echo IS_Admin::pro_link( 'pro_plus' ) . '</p>' ;
426
+ if ( $ind_status ) {
427
  echo '<span class="ind-status ' . $id . '-woocommerce"></span>' ;
428
  }
429
  } else {
747
  }
748
  echo '</select>' ;
749
  echo IS_Admin::pro_link( 'pro_plus' ) ;
750
+ echo '<br /><br /><label for="' . $id . '-post_file_type" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
751
  }
752
 
753
  } else {
826
  foreach ( $post_types as $post_type ) {
827
  $posts = get_posts( array(
828
  'post_type' => $post_type,
829
+ 'posts_per_page' => 3,
830
  'orderby' => 'title',
831
  'order' => 'ASC',
832
  ) );
833
 
834
  if ( !empty($posts) ) {
835
  $html = '<div class="col-wrapper"><div class="col-title">';
836
+ $col_title = '<span>' . ucwords( $post_type ) . '</span>';
837
  $temp = '';
838
  $selected_pt = array();
839
  foreach ( $posts as $post2 ) {
849
  }
850
  $html .= $col_title . '<input class="list-search" placeholder="' . __( "Search..", 'ivory-search' ) . '" type="text"></div>';
851
  $html .= '<select class="_is_excludes-post__not_in" name="' . $id . '[post__not_in][]" multiple size="8" >';
852
+ $html .= $temp . '</select>';
853
+ if ( count( $posts ) >= 3 ) {
854
+ $html .= '<div id="' . $post_type . '" class="load-all">' . __( 'Load All', 'ivory-search' ) . '</div>';
855
+ }
856
+ $html .= '</div>';
857
  echo $html ;
858
  if ( !empty($selected_pt) ) {
859
  echo '<span class="ind-status ' . $id . '-post__not_in"></span>' ;
861
  }
862
 
863
  }
864
+ echo '<br /><label for="' . $id . '-post__not_in" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
865
  } else {
866
  _e( 'Search is already limited to specific posts selected in Includes section.', 'ivory-search' );
867
  }
913
  }
914
 
915
  }
916
+ echo '<br /><label for="' . $id . '-tax_query" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
917
  if ( isset( $excludes['tax_query'] ) && !empty($excludes['tax_query']) ) {
918
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
919
  }
959
  }
960
  echo '</select>' ;
961
  echo IS_Admin::pro_link() ;
962
+ echo '<br /><br /><label for="' . $id . '-custom_field" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
963
  }
964
 
965
 
1167
  }
1168
  echo '</select>' ;
1169
  echo IS_Admin::pro_link( 'pro_plus' ) ;
1170
+ echo '<br /><br /><label for="' . $id . '-post_file_type" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Press CTRL key & Left Mouse button to select multiple terms or deselect them.", 'ivory-search' ) . '</label>' ;
1171
  }
1172
 
1173
  } else {
1199
  <?php
1200
  }
1201
 
1202
+ public function options_panel( $post )
1203
  {
1204
  $id = '_is_settings';
1205
  $settings = $post->prop( $id );
admin/class-is-settings-fields.php CHANGED
@@ -41,8 +41,7 @@ class IS_Settings_Fields
41
  if ( null !== $is ) {
42
  $this->opt = $is;
43
  } else {
44
- $old_opt = (array) get_option( 'add_search_to_menu' );
45
- $this->opt = array_merge( $old_opt, (array) $new_opt );
46
  }
47
 
48
  }
@@ -63,26 +62,25 @@ class IS_Settings_Fields
63
  /**
64
  * Displays settings sections having custom markup.
65
  */
66
- public function is_do_settings_sections( $page )
67
  {
68
  global $wp_settings_sections, $wp_settings_fields ;
69
  if ( !isset( $wp_settings_sections[$page] ) ) {
70
  return;
71
  }
72
- foreach ( (array) $wp_settings_sections[$page] as $section ) {
73
- if ( $section['title'] ) {
74
- echo "<h2>{$section['title']}</h2>\n" ;
75
- }
76
- if ( $section['callback'] ) {
77
- call_user_func( $section['callback'], $section );
78
- }
79
- if ( !isset( $wp_settings_fields ) || !isset( $wp_settings_fields[$page] ) || !isset( $wp_settings_fields[$page][$section['id']] ) ) {
80
- continue;
81
- }
82
- echo '<div class="form-table">' ;
83
- $this->is_do_settings_fields( $page, $section['id'] );
84
- echo '</div>' ;
85
  }
 
 
 
 
 
 
86
  }
87
 
88
  /**
@@ -117,137 +115,155 @@ class IS_Settings_Fields
117
  */
118
  function register_settings_fields()
119
  {
120
- add_settings_section(
121
- 'ivory_search_section',
122
- '',
123
- array( $this, 'search_to_menu_section_desc' ),
124
- 'ivory_search'
125
- );
126
- add_settings_field(
127
- 'ivory_search_locations',
128
- __( 'Select Menu', 'ivory-search' ),
129
- array( $this, 'menu_locations' ),
130
- 'ivory_search',
131
- 'ivory_search_section'
132
- );
133
- add_settings_field(
134
- 'ivory_search_form',
135
- __( 'Search Form', 'ivory-search' ),
136
- array( $this, 'menu_search_form' ),
137
- 'ivory_search',
138
- 'ivory_search_section'
139
- );
140
- add_settings_field(
141
- 'ivory_search_style',
142
- __( 'Form Style', 'ivory-search' ),
143
- array( $this, 'menu_form_style' ),
144
- 'ivory_search',
145
- 'ivory_search_section'
146
- );
147
- add_settings_field(
148
- 'ivory_search_title',
149
- __( 'Menu Title', 'ivory-search' ),
150
- array( $this, 'menu_title' ),
151
- 'ivory_search',
152
- 'ivory_search_section'
153
- );
154
- add_settings_field(
155
- 'ivory_search_classes',
156
- __( 'Menu Classes', 'ivory-search' ),
157
- array( $this, 'menu_classes' ),
158
- 'ivory_search',
159
- 'ivory_search_section'
160
- );
161
- add_settings_field(
162
- 'ivory_search_gcse',
163
- __( 'Google CSE', 'ivory-search' ),
164
- array( $this, 'menu_google_cse' ),
165
- 'ivory_search',
166
- 'ivory_search_section'
167
- );
168
- add_settings_field(
169
- 'ivory_search_close_icon',
170
- __( 'Close Icon', 'ivory-search' ),
171
- array( $this, 'menu_close_icon' ),
172
- 'ivory_search',
173
- 'ivory_search_section'
174
- );
175
- add_settings_section(
176
- 'ivory_search_settings',
177
- '',
178
- array( $this, 'settings_section_desc' ),
179
- 'ivory_search'
180
- );
181
- add_settings_field(
182
- 'ivory_search_header',
183
- __( 'Header', 'ivory-search' ),
184
- array( $this, 'header' ),
185
- 'ivory_search',
186
- 'ivory_search_settings'
187
- );
188
- add_settings_field(
189
- 'ivory_search_footer',
190
- __( 'Footer', 'ivory-search' ),
191
- array( $this, 'footer' ),
192
- 'ivory_search',
193
- 'ivory_search_settings'
194
- );
195
- add_settings_field(
196
- 'ivory_search_display_in_header',
197
- __( 'Mobile Display', 'ivory-search' ),
198
- array( $this, 'menu_search_in_header' ),
199
- 'ivory_search',
200
- 'ivory_search_settings'
201
- );
202
- add_settings_field(
203
- 'ivory_search_css',
204
- __( 'Custom CSS', 'ivory-search' ),
205
- array( $this, 'custom_css' ),
206
- 'ivory_search',
207
- 'ivory_search_settings'
208
- );
209
- add_settings_field(
210
- 'ivory_search_stopwords',
211
- __( 'Stopwords', 'ivory-search' ),
212
- array( $this, 'stopwords' ),
213
- 'ivory_search',
214
- 'ivory_search_settings'
215
- );
216
- add_settings_field(
217
- 'ivory_search_synonyms',
218
- __( 'Synonyms', 'ivory-search' ),
219
- array( $this, 'synonyms' ),
220
- 'ivory_search',
221
- 'ivory_search_settings'
222
- );
223
- add_settings_field(
224
- 'not_load_files',
225
- __( 'Not load files', 'ivory-search' ),
226
- array( $this, 'plugin_files' ),
227
- 'ivory_search',
228
- 'ivory_search_settings'
229
- );
230
- add_settings_field(
231
- 'ivory_search_disable',
232
- __( 'Disable', 'ivory-search' ),
233
- array( $this, 'disable' ),
234
- 'ivory_search',
235
- 'ivory_search_settings'
236
- );
237
- add_settings_field(
238
- 'ivory_search_default',
239
- __( 'Default Search', 'ivory-search' ),
240
- array( $this, 'default_search' ),
241
- 'ivory_search',
242
- 'ivory_search_settings'
243
- );
244
- register_setting( 'ivory_search', 'ivory_search' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
246
 
247
  /**
248
  * Displays Search To Menu section description text.
249
  */
250
- function search_to_menu_section_desc()
251
  {
252
  echo '<h4 class="panel-desc">' . __( 'Use below options to display search in menu and configure it.', 'ivory-search' ) . '</h4>' ;
253
  }
@@ -257,8 +273,6 @@ class IS_Settings_Fields
257
  */
258
  function settings_section_desc()
259
  {
260
- echo '</div>' ;
261
- echo '<div class="search-form-editor-panel" id="settings">' ;
262
  echo '<h4 class="panel-desc">' . __( 'Use below options to make sitewide changes in search.', 'ivory-search' ) . '</h4>' ;
263
  }
264
 
@@ -282,7 +296,7 @@ class IS_Settings_Fields
282
  $check_value = ( isset( $this->opt['add_search_to_menu_locations'][$location] ) ? $this->opt['add_search_to_menu_locations'][$location] : 0 );
283
  }
284
 
285
- $html .= '<p><label for="is_menus' . esc_attr( $location ) . '"><input type="checkbox" class="ivory_search_locations" id="is_menus' . esc_attr( $location ) . '" name="ivory_search[menus][' . esc_attr( $location ) . ']" value="' . esc_attr( $location ) . '" ' . checked( $location, $check_value, false ) . '/>';
286
  $html .= '<span class="toggle-check-text"></span> ' . esc_html( $description ) . '</label></p>';
287
  }
288
  } else {
@@ -298,8 +312,6 @@ class IS_Settings_Fields
298
  function menu_search_form()
299
  {
300
  $content = __( 'Select search form that will control search performed using menu search.', 'ivory-search' );
301
- $content .= '<br />';
302
- $content .= __( 'It overwrites above Post Types option.', 'ivory-search' );
303
  IS_Help::help_info( $content );
304
  $html = '<p>';
305
  $form_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? false : true );
@@ -317,7 +329,7 @@ class IS_Settings_Fields
317
  $check_value = ( isset( $this->opt['menu_search_form'] ) ? $this->opt['menu_search_form'] : 0 );
318
  $check_value = ( $check_value ? $check_value : 'default' );
319
  $select_disable = ( $form_disable ? 'disabled' : '' );
320
- $html .= '<select class="ivory_search_form" ' . $select_disable . ' id="menu_search_form" name="ivory_search[menu_search_form]" >';
321
  foreach ( $posts as $post ) {
322
  if ( 'default' === $check_value && 'Default Search Form' === $post->post_title ) {
323
  $check_value = $post->ID;
@@ -372,7 +384,7 @@ class IS_Settings_Fields
372
  $html .= '<p>';
373
  }
374
 
375
- $html .= '<label for="is_menu_style' . esc_attr( $key ) . '"><input class="ivory_search_style" type="radio" id="is_menu_style' . esc_attr( $key ) . '" name="ivory_search[menu_style]"';
376
  $html .= ( $popup_disable && 'popup' === $key ? ' disabled ' : '' );
377
  $html .= 'name="ivory_search[menu_style]" value="' . esc_attr( $key ) . '" ' . checked( $key, $check_value, false ) . '/>';
378
  $html .= '<span class="toggle-check-text"></span>' . esc_html( $style ) . '</label>';
@@ -390,7 +402,7 @@ class IS_Settings_Fields
390
  IS_Help::help_info( $content );
391
  $this->opt['add_search_to_menu_title'] = ( isset( $this->opt['add_search_to_menu_title'] ) ? $this->opt['add_search_to_menu_title'] : '' );
392
  $this->opt['menu_title'] = ( isset( $this->opt['menu_title'] ) ? $this->opt['menu_title'] : $this->opt['add_search_to_menu_title'] );
393
- $html = '<input class="ivory_search_title" type="text" class="ivory_search_title" id="is_menu_title" name="ivory_search[menu_title]" value="' . esc_attr( $this->opt['menu_title'] ) . '" />';
394
  echo '<div>' . $html . '</div>' ;
395
  }
396
 
@@ -403,7 +415,7 @@ class IS_Settings_Fields
403
  IS_Help::help_info( $content );
404
  $this->opt['add_search_to_menu_classes'] = ( isset( $this->opt['add_search_to_menu_classes'] ) ? $this->opt['add_search_to_menu_classes'] : '' );
405
  $this->opt['menu_classes'] = ( isset( $this->opt['menu_classes'] ) ? $this->opt['menu_classes'] : $this->opt['add_search_to_menu_classes'] );
406
- $html = '<input class="ivory_search_classes" type="text" class="ivory_search_classes" id="is_menu_classes" name="ivory_search[menu_classes]" value="' . esc_attr( $this->opt['menu_classes'] ) . '" />';
407
  $html .= '<br /><label for="is_menu_classes" style="font-size: 10px;">' . esc_html__( "Add classes seperated by space.", 'ivory-search' ) . '</label>';
408
  echo '<div>' . $html . '</div>' ;
409
  }
@@ -417,65 +429,25 @@ class IS_Settings_Fields
417
  IS_Help::help_info( $content );
418
  $this->opt['add_search_to_menu_gcse'] = ( isset( $this->opt['add_search_to_menu_gcse'] ) ? $this->opt['add_search_to_menu_gcse'] : '' );
419
  $this->opt['menu_gcse'] = ( isset( $this->opt['menu_gcse'] ) ? $this->opt['menu_gcse'] : $this->opt['add_search_to_menu_gcse'] );
420
- $html = '<input class="ivory_search_gcse" type="text" class="large-text" id="is_menu_gcse" name="ivory_search[menu_gcse]" value="' . esc_attr( $this->opt['menu_gcse'] ) . '" />';
421
  echo '<div>' . $html . '</div>' ;
422
  }
423
 
424
  /**
425
- * Displays display in header field.
426
  */
427
- function menu_search_in_header()
428
  {
429
- $content = __( 'Note: Does not work with caching as this functionality uses the WordPress wp_is_mobile function.', 'ivory-search' );
430
- IS_Help::help_info( $content );
431
- $check_value = ( isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0 );
432
- $check_string = checked( 'add_search_to_menu_display_in_header', $check_value, false );
433
-
434
- if ( $this->ivory_search ) {
435
- $check_value = ( isset( $this->opt['header_menu_search'] ) ? $this->opt['header_menu_search'] : 0 );
436
- $check_string = checked( 'header_menu_search', $check_value, false );
437
- }
438
-
439
- $html = '<label for="is_search_in_header"><input class="ivory_search_display_in_header" type="checkbox" id="is_search_in_header" name="ivory_search[header_menu_search]" value="header_menu_search" ' . $check_string . ' />';
440
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display search form in header on mobile devices', 'ivory-search' ) . '</label>';
441
- echo '<div>' . $html . '</div><br />' ;
442
- $html = '';
443
- $content = __( 'Use this option to display search form in your site header and hide the search form on desktop using CSS code.', 'ivory-search' );
444
- IS_Help::help_info( $content );
445
- $check_value = ( isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0 );
446
- $check_string = checked( 'astm_site_uses_cache', $check_value, false );
447
 
448
  if ( $this->ivory_search ) {
449
- $check_value = ( isset( $this->opt['site_uses_cache'] ) ? $this->opt['site_uses_cache'] : 0 );
450
- $check_string = checked( 'site_uses_cache', $check_value, false );
451
  }
452
 
453
- $html .= '<label for="is_site_uses_cache"><input class="ivory_search_display_in_header" type="checkbox" id="is_site_uses_cache" name="ivory_search[site_uses_cache]" value="site_uses_cache" ' . $check_string . ' />';
454
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'This site uses cache', 'ivory-search' ) . '</label>';
455
- echo '<div>' . $html . '</div>' ;
456
- }
457
-
458
- /**
459
- * Disables search functionality on whole site.
460
- */
461
- function disable()
462
- {
463
- $check_value = ( isset( $this->opt['disable'] ) ? $this->opt['disable'] : 0 );
464
- $disable = checked( 1, $check_value, false );
465
- $html = '<label for="is_disable"><input class="ivory_search_disable" type="checkbox" id="is_disable" name="ivory_search[disable]" value="1" ' . $disable . ' />';
466
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable search functionality on whole site.', 'ivory-search' ) . '</label>';
467
- echo '<div>' . $html . '</div>' ;
468
- }
469
-
470
- /**
471
- * Controls default search functionality.
472
- */
473
- function default_search()
474
- {
475
- $check_value = ( isset( $this->opt['default_search'] ) ? $this->opt['default_search'] : 0 );
476
- $disable = checked( 1, $check_value, false );
477
- $html = '<label for="is_default_search"><input class="ivory_search_default" type="checkbox" id="is_default_search" name="ivory_search[default_search]" value="1" ' . $disable . ' />';
478
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Do not use default search form to control WordPress default search functionality.', 'ivory-search' ) . '</label>';
479
  echo '<div>' . $html . '</div>' ;
480
  }
481
 
@@ -495,7 +467,7 @@ class IS_Settings_Fields
495
 
496
  if ( !empty($posts) ) {
497
  $check_value = ( isset( $this->opt['header_search'] ) ? $this->opt['header_search'] : 0 );
498
- $html .= '<select class="ivory_search_header" id="is_header_search" name="ivory_search[header_search]" >';
499
  $html .= '<option value="0" ' . selected( 0, $check_value, false ) . '>' . __( 'none', 'ivory-search' ) . '</option>';
500
  foreach ( $posts as $post ) {
501
  $html .= '<option value="' . $post->ID . '"' . selected( $post->ID, $check_value, false ) . ' >' . $post->post_title . '</option>';
@@ -529,7 +501,7 @@ class IS_Settings_Fields
529
 
530
  if ( !empty($posts) ) {
531
  $check_value = ( isset( $this->opt['footer_search'] ) ? $this->opt['footer_search'] : 0 );
532
- $html .= '<select class="ivory_search_footer" id="is_footer_search" name="ivory_search[footer_search]" >';
533
  $html .= '<option value="0" ' . selected( 0, $check_value, false ) . '>' . __( 'none', 'ivory-search' ) . '</option>';
534
  foreach ( $posts as $post ) {
535
  $html .= '<option value="' . $post->ID . '"' . selected( $post->ID, $check_value, false ) . ' >' . $post->post_title . '</option>';
@@ -548,20 +520,36 @@ class IS_Settings_Fields
548
  }
549
 
550
  /**
551
- * Displays search form close icon field.
552
  */
553
- function menu_close_icon()
554
  {
555
- $check_value = ( isset( $this->opt['add_search_to_menu_close_icon'] ) ? $this->opt['add_search_to_menu_close_icon'] : 0 );
556
- $check_string = checked( 'add_search_to_menu_close_icon', $check_value, false );
 
 
557
 
558
  if ( $this->ivory_search ) {
559
- $check_value = ( isset( $this->opt['menu_close_icon'] ) ? $this->opt['menu_close_icon'] : 0 );
560
- $check_string = checked( 'menu_close_icon', $check_value, false );
561
  }
562
 
563
- $html = '<label for="menu_close_icon"><input class="ivory_search_close_icon" type="checkbox" id="menu_close_icon" name="ivory_search[menu_close_icon]" value="menu_close_icon" ' . $check_string . ' />';
564
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display Search Form Close Icon', 'ivory-search' ) . '</label>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
565
  echo '<div>' . $html . '</div>' ;
566
  }
567
 
@@ -574,7 +562,7 @@ class IS_Settings_Fields
574
  IS_Help::help_info( $content );
575
  $this->opt['add_search_to_menu_css'] = ( isset( $this->opt['add_search_to_menu_css'] ) ? $this->opt['add_search_to_menu_css'] : '' );
576
  $this->opt['custom_css'] = ( isset( $this->opt['custom_css'] ) ? $this->opt['custom_css'] : $this->opt['add_search_to_menu_css'] );
577
- $html = '<textarea class="ivory_search_css" rows="4" id="custom_css" name="ivory_search[custom_css]" >' . esc_attr( $this->opt['custom_css'] ) . '</textarea>';
578
  echo '<div>' . $html . '</div>' ;
579
  }
580
 
@@ -587,7 +575,7 @@ class IS_Settings_Fields
587
  $content .= '<br />' . __( 'This works with search form.', 'ivory-search' );
588
  IS_Help::help_info( $content );
589
  $this->opt['stopwords'] = ( isset( $this->opt['stopwords'] ) ? $this->opt['stopwords'] : '' );
590
- $html = '<textarea class="ivory_search_stopwords" rows="4" id="stopwords" name="ivory_search[stopwords]" >' . esc_attr( $this->opt['stopwords'] ) . '</textarea>';
591
  $html .= '<br /><label for="stopwords" style="font-size: 10px;">' . esc_html__( "Please separate words with commas.", 'ivory-search' ) . '</label>';
592
  echo '<div>' . $html . '</div>' ;
593
  }
@@ -602,7 +590,7 @@ class IS_Settings_Fields
602
  $content .= '<br /><br />' . __( 'This only works for search forms and in OR searches. In AND searches the synonyms only restrict the search, as now the search only finds posts that contain both bird and crow.', 'ivory-search' );
603
  IS_Help::help_info( $content );
604
  $this->opt['synonyms'] = ( isset( $this->opt['synonyms'] ) ? $this->opt['synonyms'] : '' );
605
- $html = '<textarea class="ivory_search_synonyms" rows="4" id="synonyms" name="ivory_search[synonyms]" >' . esc_attr( $this->opt['synonyms'] ) . '</textarea>';
606
  $html .= '<br /><label for="synonyms" style="font-size: 10px;">' . esc_html__( 'The format here is key = value;. Please separate every synonyms key = value pairs with semicolon.', 'ivory-search' ) . '</label>';
607
  $synonyms_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
608
  $check_value = ( isset( $this->opt['synonyms_and'] ) ? $this->opt['synonyms_and'] : 0 );
@@ -614,7 +602,7 @@ class IS_Settings_Fields
614
  $html .= '<p>';
615
  }
616
 
617
- $html .= '<label for="synonyms_and"><input class="ivory_search_synonyms" type="checkbox" ' . $synonyms_disable . ' id="synonyms_and" name="ivory_search[synonyms_and]" value="1" ' . $disable . ' />';
618
  $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable synonyms for the search forms having AND search terms relation.', 'ivory-search' ) . '</label>';
619
  echo '</p><div>' . $html . '</div>' ;
620
  }
@@ -640,7 +628,7 @@ class IS_Settings_Fields
640
  $check_string = checked( $key, $check_value, false );
641
  }
642
 
643
- $html .= '<label for="not_load_files[' . esc_attr( $key ) . ']"><input class="not_load_files" type="checkbox" id="not_load_files[' . esc_attr( $key ) . ']" name="ivory_search[not_load_files][' . esc_attr( $key ) . ']" value="' . esc_attr( $key ) . '" ' . $check_string . '/>';
644
  $html .= '<span class="toggle-check-text"></span>' . esc_html( $file ) . '</label>';
645
 
646
  if ( 'css' == $key ) {
@@ -656,5 +644,29 @@ class IS_Settings_Fields
656
  }
657
  echo '<div>' . $html . '</div>' ;
658
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
 
660
  }
41
  if ( null !== $is ) {
42
  $this->opt = $is;
43
  } else {
44
+ $this->opt = Ivory_Search::load_options();
 
45
  }
46
 
47
  }
62
  /**
63
  * Displays settings sections having custom markup.
64
  */
65
+ public function is_do_settings_sections( $page, $sec )
66
  {
67
  global $wp_settings_sections, $wp_settings_fields ;
68
  if ( !isset( $wp_settings_sections[$page] ) ) {
69
  return;
70
  }
71
+ $section = (array) $wp_settings_sections[$page][$sec];
72
+ if ( $section['title'] ) {
73
+ echo "<h2>{$section['title']}</h2>\n" ;
74
+ }
75
+ if ( $section['callback'] ) {
76
+ call_user_func( $section['callback'], $section );
 
 
 
 
 
 
 
77
  }
78
+ if ( !isset( $wp_settings_fields ) || !isset( $wp_settings_fields[$page] ) || !isset( $wp_settings_fields[$page][$section['id']] ) ) {
79
+ return;
80
+ }
81
+ echo '<div class="form-table search-form-editor-box">' ;
82
+ $this->is_do_settings_fields( $page, $section['id'] );
83
+ echo '</div>' ;
84
  }
85
 
86
  /**
115
  */
116
  function register_settings_fields()
117
  {
118
+ if ( !empty($GLOBALS['pagenow']) && 'options.php' === $GLOBALS['pagenow'] ) {
119
+ if ( isset( $_POST['is_settings'] ) ) {
120
+ add_filter( 'whitelist_options', function ( $whitelist_options ) {
121
+ $whitelist_options['ivory_search'][0] = 'is_settings';
122
+ return $whitelist_options;
123
+ } );
124
+ }
125
+ }
126
+
127
+ if ( !isset( $_GET['tab'] ) || 'menu-search' == $_GET['tab'] ) {
128
+ add_settings_section(
129
+ 'ivory_search_section',
130
+ '',
131
+ array( $this, 'menu_search_section_desc' ),
132
+ 'ivory_search'
133
+ );
134
+ add_settings_field(
135
+ 'ivory_search_locations',
136
+ __( 'Select Menu', 'ivory-search' ),
137
+ array( $this, 'menu_locations' ),
138
+ 'ivory_search',
139
+ 'ivory_search_section'
140
+ );
141
+ add_settings_field(
142
+ 'ivory_search_form',
143
+ __( 'Search Form', 'ivory-search' ),
144
+ array( $this, 'menu_search_form' ),
145
+ 'ivory_search',
146
+ 'ivory_search_section'
147
+ );
148
+ add_settings_field(
149
+ 'ivory_search_style',
150
+ __( 'Form Style', 'ivory-search' ),
151
+ array( $this, 'menu_form_style' ),
152
+ 'ivory_search',
153
+ 'ivory_search_section'
154
+ );
155
+ add_settings_field(
156
+ 'ivory_search_title',
157
+ __( 'Menu Title', 'ivory-search' ),
158
+ array( $this, 'menu_title' ),
159
+ 'ivory_search',
160
+ 'ivory_search_section'
161
+ );
162
+ add_settings_field(
163
+ 'ivory_search_classes',
164
+ __( 'Menu Classes', 'ivory-search' ),
165
+ array( $this, 'menu_classes' ),
166
+ 'ivory_search',
167
+ 'ivory_search_section'
168
+ );
169
+ add_settings_field(
170
+ 'ivory_search_gcse',
171
+ __( 'Google CSE', 'ivory-search' ),
172
+ array( $this, 'menu_google_cse' ),
173
+ 'ivory_search',
174
+ 'ivory_search_section'
175
+ );
176
+ add_settings_field(
177
+ 'ivory_search_close_icon',
178
+ __( 'Close Icon', 'ivory-search' ),
179
+ array( $this, 'menu_close_icon' ),
180
+ 'ivory_search',
181
+ 'ivory_search_section'
182
+ );
183
+ register_setting( 'ivory_search', 'is_menu_search' );
184
+ } else {
185
+
186
+ if ( isset( $_GET['tab'] ) && 'settings' == $_GET['tab'] ) {
187
+ add_settings_section(
188
+ 'ivory_search_settings',
189
+ '',
190
+ array( $this, 'settings_section_desc' ),
191
+ 'ivory_search'
192
+ );
193
+ add_settings_field(
194
+ 'ivory_search_header',
195
+ __( 'Header', 'ivory-search' ),
196
+ array( $this, 'header' ),
197
+ 'ivory_search',
198
+ 'ivory_search_settings'
199
+ );
200
+ add_settings_field(
201
+ 'ivory_search_footer',
202
+ __( 'Footer', 'ivory-search' ),
203
+ array( $this, 'footer' ),
204
+ 'ivory_search',
205
+ 'ivory_search_settings'
206
+ );
207
+ add_settings_field(
208
+ 'ivory_search_display_in_header',
209
+ __( 'Mobile Display', 'ivory-search' ),
210
+ array( $this, 'menu_search_in_header' ),
211
+ 'ivory_search',
212
+ 'ivory_search_settings'
213
+ );
214
+ add_settings_field(
215
+ 'ivory_search_css',
216
+ __( 'Custom CSS', 'ivory-search' ),
217
+ array( $this, 'custom_css' ),
218
+ 'ivory_search',
219
+ 'ivory_search_settings'
220
+ );
221
+ add_settings_field(
222
+ 'ivory_search_stopwords',
223
+ __( 'Stopwords', 'ivory-search' ),
224
+ array( $this, 'stopwords' ),
225
+ 'ivory_search',
226
+ 'ivory_search_settings'
227
+ );
228
+ add_settings_field(
229
+ 'ivory_search_synonyms',
230
+ __( 'Synonyms', 'ivory-search' ),
231
+ array( $this, 'synonyms' ),
232
+ 'ivory_search',
233
+ 'ivory_search_settings'
234
+ );
235
+ add_settings_field(
236
+ 'not_load_files',
237
+ __( 'Not load files', 'ivory-search' ),
238
+ array( $this, 'plugin_files' ),
239
+ 'ivory_search',
240
+ 'ivory_search_settings'
241
+ );
242
+ add_settings_field(
243
+ 'ivory_search_disable',
244
+ __( 'Disable', 'ivory-search' ),
245
+ array( $this, 'disable' ),
246
+ 'ivory_search',
247
+ 'ivory_search_settings'
248
+ );
249
+ add_settings_field(
250
+ 'ivory_search_default',
251
+ __( 'Default Search', 'ivory-search' ),
252
+ array( $this, 'default_search' ),
253
+ 'ivory_search',
254
+ 'ivory_search_settings'
255
+ );
256
+ register_setting( 'ivory_search', 'is_settings' );
257
+ }
258
+
259
+ }
260
+
261
  }
262
 
263
  /**
264
  * Displays Search To Menu section description text.
265
  */
266
+ function menu_search_section_desc()
267
  {
268
  echo '<h4 class="panel-desc">' . __( 'Use below options to display search in menu and configure it.', 'ivory-search' ) . '</h4>' ;
269
  }
273
  */
274
  function settings_section_desc()
275
  {
 
 
276
  echo '<h4 class="panel-desc">' . __( 'Use below options to make sitewide changes in search.', 'ivory-search' ) . '</h4>' ;
277
  }
278
 
296
  $check_value = ( isset( $this->opt['add_search_to_menu_locations'][$location] ) ? $this->opt['add_search_to_menu_locations'][$location] : 0 );
297
  }
298
 
299
+ $html .= '<p><label for="is_menus' . esc_attr( $location ) . '"><input type="checkbox" class="ivory_search_locations" id="is_menus' . esc_attr( $location ) . '" name="is_menu_search[menus][' . esc_attr( $location ) . ']" value="' . esc_attr( $location ) . '" ' . checked( $location, $check_value, false ) . '/>';
300
  $html .= '<span class="toggle-check-text"></span> ' . esc_html( $description ) . '</label></p>';
301
  }
302
  } else {
312
  function menu_search_form()
313
  {
314
  $content = __( 'Select search form that will control search performed using menu search.', 'ivory-search' );
 
 
315
  IS_Help::help_info( $content );
316
  $html = '<p>';
317
  $form_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? false : true );
329
  $check_value = ( isset( $this->opt['menu_search_form'] ) ? $this->opt['menu_search_form'] : 0 );
330
  $check_value = ( $check_value ? $check_value : 'default' );
331
  $select_disable = ( $form_disable ? 'disabled' : '' );
332
+ $html .= '<select class="ivory_search_form" ' . $select_disable . ' id="menu_search_form" name="is_menu_search[menu_search_form]" >';
333
  foreach ( $posts as $post ) {
334
  if ( 'default' === $check_value && 'Default Search Form' === $post->post_title ) {
335
  $check_value = $post->ID;
384
  $html .= '<p>';
385
  }
386
 
387
+ $html .= '<label for="is_menu_style' . esc_attr( $key ) . '"><input class="ivory_search_style" type="radio" id="is_menu_style' . esc_attr( $key ) . '" name="is_menu_search[menu_style]"';
388
  $html .= ( $popup_disable && 'popup' === $key ? ' disabled ' : '' );
389
  $html .= 'name="ivory_search[menu_style]" value="' . esc_attr( $key ) . '" ' . checked( $key, $check_value, false ) . '/>';
390
  $html .= '<span class="toggle-check-text"></span>' . esc_html( $style ) . '</label>';
402
  IS_Help::help_info( $content );
403
  $this->opt['add_search_to_menu_title'] = ( isset( $this->opt['add_search_to_menu_title'] ) ? $this->opt['add_search_to_menu_title'] : '' );
404
  $this->opt['menu_title'] = ( isset( $this->opt['menu_title'] ) ? $this->opt['menu_title'] : $this->opt['add_search_to_menu_title'] );
405
+ $html = '<input class="ivory_search_title" type="text" class="ivory_search_title" id="is_menu_title" name="is_menu_search[menu_title]" value="' . esc_attr( $this->opt['menu_title'] ) . '" />';
406
  echo '<div>' . $html . '</div>' ;
407
  }
408
 
415
  IS_Help::help_info( $content );
416
  $this->opt['add_search_to_menu_classes'] = ( isset( $this->opt['add_search_to_menu_classes'] ) ? $this->opt['add_search_to_menu_classes'] : '' );
417
  $this->opt['menu_classes'] = ( isset( $this->opt['menu_classes'] ) ? $this->opt['menu_classes'] : $this->opt['add_search_to_menu_classes'] );
418
+ $html = '<input class="ivory_search_classes" type="text" class="ivory_search_classes" id="is_menu_classes" name="is_menu_search[menu_classes]" value="' . esc_attr( $this->opt['menu_classes'] ) . '" />';
419
  $html .= '<br /><label for="is_menu_classes" style="font-size: 10px;">' . esc_html__( "Add classes seperated by space.", 'ivory-search' ) . '</label>';
420
  echo '<div>' . $html . '</div>' ;
421
  }
429
  IS_Help::help_info( $content );
430
  $this->opt['add_search_to_menu_gcse'] = ( isset( $this->opt['add_search_to_menu_gcse'] ) ? $this->opt['add_search_to_menu_gcse'] : '' );
431
  $this->opt['menu_gcse'] = ( isset( $this->opt['menu_gcse'] ) ? $this->opt['menu_gcse'] : $this->opt['add_search_to_menu_gcse'] );
432
+ $html = '<input class="ivory_search_gcse" type="text" class="large-text" id="is_menu_gcse" name="is_menu_search[menu_gcse]" value="' . esc_attr( $this->opt['menu_gcse'] ) . '" />';
433
  echo '<div>' . $html . '</div>' ;
434
  }
435
 
436
  /**
437
+ * Displays search form close icon field.
438
  */
439
+ function menu_close_icon()
440
  {
441
+ $check_value = ( isset( $this->opt['add_search_to_menu_close_icon'] ) ? $this->opt['add_search_to_menu_close_icon'] : 0 );
442
+ $check_string = checked( 'add_search_to_menu_close_icon', $check_value, false );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
 
444
  if ( $this->ivory_search ) {
445
+ $check_value = ( isset( $this->opt['menu_close_icon'] ) ? $this->opt['menu_close_icon'] : 0 );
446
+ $check_string = checked( 'menu_close_icon', $check_value, false );
447
  }
448
 
449
+ $html = '<label for="menu_close_icon"><input class="ivory_search_close_icon" type="checkbox" id="menu_close_icon" name="is_menu_search[menu_close_icon]" value="menu_close_icon" ' . $check_string . ' />';
450
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display Search Form Close Icon', 'ivory-search' ) . '</label>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
  echo '<div>' . $html . '</div>' ;
452
  }
453
 
467
 
468
  if ( !empty($posts) ) {
469
  $check_value = ( isset( $this->opt['header_search'] ) ? $this->opt['header_search'] : 0 );
470
+ $html .= '<select class="ivory_search_header" id="is_header_search" name="is_settings[header_search]" >';
471
  $html .= '<option value="0" ' . selected( 0, $check_value, false ) . '>' . __( 'none', 'ivory-search' ) . '</option>';
472
  foreach ( $posts as $post ) {
473
  $html .= '<option value="' . $post->ID . '"' . selected( $post->ID, $check_value, false ) . ' >' . $post->post_title . '</option>';
501
 
502
  if ( !empty($posts) ) {
503
  $check_value = ( isset( $this->opt['footer_search'] ) ? $this->opt['footer_search'] : 0 );
504
+ $html .= '<select class="ivory_search_footer" id="is_footer_search" name="is_settings[footer_search]" >';
505
  $html .= '<option value="0" ' . selected( 0, $check_value, false ) . '>' . __( 'none', 'ivory-search' ) . '</option>';
506
  foreach ( $posts as $post ) {
507
  $html .= '<option value="' . $post->ID . '"' . selected( $post->ID, $check_value, false ) . ' >' . $post->post_title . '</option>';
520
  }
521
 
522
  /**
523
+ * Displays display in header field.
524
  */
525
+ function menu_search_in_header()
526
  {
527
+ $content = __( 'Note: Does not work with caching as this functionality uses the WordPress wp_is_mobile function.', 'ivory-search' );
528
+ IS_Help::help_info( $content );
529
+ $check_value = ( isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0 );
530
+ $check_string = checked( 'add_search_to_menu_display_in_header', $check_value, false );
531
 
532
  if ( $this->ivory_search ) {
533
+ $check_value = ( isset( $this->opt['header_menu_search'] ) ? $this->opt['header_menu_search'] : 0 );
534
+ $check_string = checked( 'header_menu_search', $check_value, false );
535
  }
536
 
537
+ $html = '<label for="is_search_in_header"><input class="ivory_search_display_in_header" type="checkbox" id="is_search_in_header" name="is_settings[header_menu_search]" value="header_menu_search" ' . $check_string . ' />';
538
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display search form in header on mobile devices', 'ivory-search' ) . '</label>';
539
+ echo '<div>' . $html . '</div><br />' ;
540
+ $html = '';
541
+ $content = __( 'Use this option to display search form in your site header and hide the search form on desktop using CSS code.', 'ivory-search' );
542
+ IS_Help::help_info( $content );
543
+ $check_value = ( isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0 );
544
+ $check_string = checked( 'astm_site_uses_cache', $check_value, false );
545
+
546
+ if ( $this->ivory_search ) {
547
+ $check_value = ( isset( $this->opt['site_uses_cache'] ) ? $this->opt['site_uses_cache'] : 0 );
548
+ $check_string = checked( 'site_uses_cache', $check_value, false );
549
+ }
550
+
551
+ $html .= '<label for="is_site_uses_cache"><input class="ivory_search_display_in_header" type="checkbox" id="is_site_uses_cache" name="is_settings[site_uses_cache]" value="site_uses_cache" ' . $check_string . ' />';
552
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'This site uses cache', 'ivory-search' ) . '</label>';
553
  echo '<div>' . $html . '</div>' ;
554
  }
555
 
562
  IS_Help::help_info( $content );
563
  $this->opt['add_search_to_menu_css'] = ( isset( $this->opt['add_search_to_menu_css'] ) ? $this->opt['add_search_to_menu_css'] : '' );
564
  $this->opt['custom_css'] = ( isset( $this->opt['custom_css'] ) ? $this->opt['custom_css'] : $this->opt['add_search_to_menu_css'] );
565
+ $html = '<textarea class="ivory_search_css" rows="4" id="custom_css" name="is_settings[custom_css]" >' . esc_attr( $this->opt['custom_css'] ) . '</textarea>';
566
  echo '<div>' . $html . '</div>' ;
567
  }
568
 
575
  $content .= '<br />' . __( 'This works with search form.', 'ivory-search' );
576
  IS_Help::help_info( $content );
577
  $this->opt['stopwords'] = ( isset( $this->opt['stopwords'] ) ? $this->opt['stopwords'] : '' );
578
+ $html = '<textarea class="ivory_search_stopwords" rows="4" id="stopwords" name="is_settings[stopwords]" >' . esc_attr( $this->opt['stopwords'] ) . '</textarea>';
579
  $html .= '<br /><label for="stopwords" style="font-size: 10px;">' . esc_html__( "Please separate words with commas.", 'ivory-search' ) . '</label>';
580
  echo '<div>' . $html . '</div>' ;
581
  }
590
  $content .= '<br /><br />' . __( 'This only works for search forms and in OR searches. In AND searches the synonyms only restrict the search, as now the search only finds posts that contain both bird and crow.', 'ivory-search' );
591
  IS_Help::help_info( $content );
592
  $this->opt['synonyms'] = ( isset( $this->opt['synonyms'] ) ? $this->opt['synonyms'] : '' );
593
+ $html = '<textarea class="ivory_search_synonyms" rows="4" id="synonyms" name="is_settings[synonyms]" >' . esc_attr( $this->opt['synonyms'] ) . '</textarea>';
594
  $html .= '<br /><label for="synonyms" style="font-size: 10px;">' . esc_html__( 'The format here is key = value;. Please separate every synonyms key = value pairs with semicolon.', 'ivory-search' ) . '</label>';
595
  $synonyms_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
596
  $check_value = ( isset( $this->opt['synonyms_and'] ) ? $this->opt['synonyms_and'] : 0 );
602
  $html .= '<p>';
603
  }
604
 
605
+ $html .= '<label for="synonyms_and"><input class="ivory_search_synonyms" type="checkbox" ' . $synonyms_disable . ' id="synonyms_and" name="is_settings[synonyms_and]" value="1" ' . $disable . ' />';
606
  $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable synonyms for the search forms having AND search terms relation.', 'ivory-search' ) . '</label>';
607
  echo '</p><div>' . $html . '</div>' ;
608
  }
628
  $check_string = checked( $key, $check_value, false );
629
  }
630
 
631
+ $html .= '<label for="not_load_files[' . esc_attr( $key ) . ']"><input class="not_load_files" type="checkbox" id="not_load_files[' . esc_attr( $key ) . ']" name="is_settings[not_load_files][' . esc_attr( $key ) . ']" value="' . esc_attr( $key ) . '" ' . $check_string . '/>';
632
  $html .= '<span class="toggle-check-text"></span>' . esc_html( $file ) . '</label>';
633
 
634
  if ( 'css' == $key ) {
644
  }
645
  echo '<div>' . $html . '</div>' ;
646
  }
647
+
648
+ /**
649
+ * Disables search functionality on whole site.
650
+ */
651
+ function disable()
652
+ {
653
+ $check_value = ( isset( $this->opt['disable'] ) ? $this->opt['disable'] : 0 );
654
+ $disable = checked( 1, $check_value, false );
655
+ $html = '<label for="is_disable"><input class="ivory_search_disable" type="checkbox" id="is_disable" name="is_settings[disable]" value="1" ' . $disable . ' />';
656
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable search functionality on whole site.', 'ivory-search' ) . '</label>';
657
+ echo '<div>' . $html . '</div>' ;
658
+ }
659
+
660
+ /**
661
+ * Controls default search functionality.
662
+ */
663
+ function default_search()
664
+ {
665
+ $check_value = ( isset( $this->opt['default_search'] ) ? $this->opt['default_search'] : 0 );
666
+ $disable = checked( 1, $check_value, false );
667
+ $html = '<label for="is_default_search"><input class="ivory_search_default" type="checkbox" id="is_default_search" name="is_settings[default_search]" value="1" ' . $disable . ' />';
668
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Do not use default search form to control WordPress default search functionality.', 'ivory-search' ) . '</label>';
669
+ echo '<div>' . $html . '</div>' ;
670
+ }
671
 
672
  }
admin/css/ivory-search-admin.css CHANGED
@@ -358,18 +358,6 @@ h1.wp-heading-inline {
358
  width: 100%;
359
  }
360
 
361
- #search-form-editor > div {
362
- display: none;
363
- }
364
-
365
- #search-form-editor + p.submit {
366
- display: none;
367
- }
368
-
369
- #search-form-editor.ui-tabs + p.submit {
370
- display: block;
371
- }
372
-
373
  #search-form-editor-tabs {
374
  left: -210px;
375
  position: absolute;
@@ -389,8 +377,8 @@ h1.wp-heading-inline {
389
  }
390
 
391
  #search-form-editor-tabs li:hover,
392
- #search-form-editor-tabs li.ui-tabs-active,
393
- #search-form-editor-tabs li.ui-tabs-active:hover {
394
  background-color: #3985C4;
395
  }
396
 
@@ -407,7 +395,7 @@ h1.wp-heading-inline {
407
  }
408
 
409
  #search-form-editor-tabs li:hover a,
410
- #search-form-editor-tabs li.ui-tabs-active a {
411
  color: #FFF;
412
  }
413
 
@@ -421,7 +409,7 @@ h1.wp-heading-inline {
421
  right: 5px;
422
  }
423
 
424
- #search-form-editor-tabs li.ui-tabs-active a::after,
425
  #search-form-editor-tabs li:hover a::after {
426
  color: #FFF;
427
  }
@@ -457,6 +445,7 @@ h1.wp-heading-inline {
457
  .search-form-editor-box {
458
  background-color: #f1f1f1;
459
  padding: 16px;
 
460
  }
461
 
462
  h4.panel-desc {
@@ -473,7 +462,7 @@ h4.panel-desc {
473
  text-decoration: none;
474
  }
475
 
476
- .form-table h3 {
477
  clear: both;
478
  cursor: pointer;
479
  background-color: #1390cc;
@@ -484,6 +473,12 @@ h4.panel-desc {
484
  margin: 1.5em 0 0;
485
  }
486
 
 
 
 
 
 
 
487
  .form-table h3 .actions {
488
  float: right;
489
  }
@@ -600,9 +595,19 @@ h4.panel-desc {
600
  .col-wrapper {
601
  float: left;
602
  margin: 0 20px 15px 0;
 
603
  width: 190px;
604
  }
605
 
 
 
 
 
 
 
 
 
 
606
  #search-form-editor .col-wrapper:nth-of-type(3n+0) {
607
  margin-right: 0;
608
  }
@@ -646,11 +651,18 @@ h4.panel-desc {
646
 
647
  .col-wrapper.after,
648
  .col-wrapper.before {
649
- width: auto;
650
  }
651
 
652
  .col-wrapper.before {
653
- margin-right: 0;
 
 
 
 
 
 
 
654
  }
655
 
656
  @media screen and ( max-width: 450px ) {
358
  width: 100%;
359
  }
360
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  #search-form-editor-tabs {
362
  left: -210px;
363
  position: absolute;
377
  }
378
 
379
  #search-form-editor-tabs li:hover,
380
+ #search-form-editor-tabs li.active,
381
+ #search-form-editor-tabs li.active:hover {
382
  background-color: #3985C4;
383
  }
384
 
395
  }
396
 
397
  #search-form-editor-tabs li:hover a,
398
+ #search-form-editor-tabs li.active a {
399
  color: #FFF;
400
  }
401
 
409
  right: 5px;
410
  }
411
 
412
+ #search-form-editor-tabs li.active a::after,
413
  #search-form-editor-tabs li:hover a::after {
414
  color: #FFF;
415
  }
445
  .search-form-editor-box {
446
  background-color: #f1f1f1;
447
  padding: 16px;
448
+ width: auto;
449
  }
450
 
451
  h4.panel-desc {
462
  text-decoration: none;
463
  }
464
 
465
+ #search-body .form-table h3 {
466
  clear: both;
467
  cursor: pointer;
468
  background-color: #1390cc;
473
  margin: 1.5em 0 0;
474
  }
475
 
476
+ #search-body .search-form-editor-panel {
477
+ background: none;
478
+ border: 0;
479
+ color: #444;
480
+ }
481
+
482
  .form-table h3 .actions {
483
  float: right;
484
  }
595
  .col-wrapper {
596
  float: left;
597
  margin: 0 20px 15px 0;
598
+ position: relative;
599
  width: 190px;
600
  }
601
 
602
+ .col-wrapper .spinner {
603
+ display: inline-block;
604
+ visibility: visible;
605
+ position: absolute;
606
+ bottom: 35%;
607
+ right: 45%;
608
+ z-index: 999999;
609
+ }
610
+
611
  #search-form-editor .col-wrapper:nth-of-type(3n+0) {
612
  margin-right: 0;
613
  }
651
 
652
  .col-wrapper.after,
653
  .col-wrapper.before {
654
+ width: auto;
655
  }
656
 
657
  .col-wrapper.before {
658
+ margin-right: 0;
659
+ }
660
+
661
+ .load-all {
662
+ text-align: center;
663
+ font-weight: 800;
664
+ color: #6994d8;
665
+ cursor: pointer;
666
  }
667
 
668
  @media screen and ( max-width: 450px ) {
admin/js/ivory-search-admin.js CHANGED
@@ -8,42 +8,35 @@
8
 
9
  $( function() {
10
 
11
- var active_tab = ivory_search.activeTab;
12
-
13
- if ( $( '#ivory_search_options' ).length ) {
14
-
15
- if ( location.href.indexOf( 'active-tab=' ) > -1 ) {
16
- active_tab = ivory_search.getParameterByName( 'active-tab', ivory_search.getCookie( 'active-url' ) );
17
- } else {
18
- var active_tab_cookie = ivory_search.getCookie( 'active-tab' );
19
- active_tab = ( "" !== active_tab_cookie ) ? active_tab_cookie : ivory_search.activeTab;
20
- }
21
-
22
- }
23
-
24
- $( '#search-form-editor' ).tabs( {
25
- active: active_tab,
26
- activate: function( event, ui ) {
27
- $( '#active-tab' ).val( ui.newTab.index() );
28
-
29
- // If key exists updates the value
30
- var newUrl = location.href;
31
- if ( location.href.indexOf( 'active-tab=' ) > -1 ) {
32
- newUrl = location.href.replace( /active-tab=\w*\d*/, "active-tab=" + ui.newTab.index() );
33
- // If not, append
34
- } else {
35
- newUrl = location.href + "&active-tab=" + ui.newTab.index();
36
- }
37
-
38
- history.pushState( null, null, newUrl );
39
-
40
- if ( $( '#ivory_search_options' ).length ) {
41
- document.cookie = 'active-url=;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/';
42
- document.cookie = 'active-tab=;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/';
43
- document.cookie = 'active-url=' + newUrl + ';path=/';
44
- document.cookie = 'active-tab=' + ui.newTab.index() + ';path=/';
45
- }
46
- }
47
  } );
48
 
49
  $('.form-table .actions a.expand').click( function() {
@@ -68,7 +61,7 @@
68
  icons: false,
69
  } );
70
 
71
- $('#search-body option').mousedown(function(e) {
72
  if ($(this).attr('selected')) {
73
  $(this).removeAttr('selected');
74
  return false;
@@ -163,32 +156,6 @@
163
  } );
164
  } );
165
 
166
- ivory_search.getCookie = function(cname) {
167
- var name = cname + "=";
168
- var decodedCookie = decodeURIComponent(document.cookie);
169
- var ca = decodedCookie.split(';');
170
- for(var i = 0; i <ca.length; i++) {
171
- var c = ca[i];
172
- while (c.charAt(0) == ' ') {
173
- c = c.substring(1);
174
- }
175
- if (c.indexOf(name) == 0) {
176
- return c.substring(name.length, c.length);
177
- }
178
- }
179
- return "";
180
- }
181
-
182
- ivory_search.getParameterByName = function( name, url ) {
183
- if (!url) url = window.location.href;
184
- name = name.replace(/[\[\]]/g, "\\$&");
185
- var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
186
- results = regex.exec(url);
187
- if (!results) return null;
188
- if (!results[2]) return '';
189
- return decodeURIComponent(results[2].replace(/\+/g, " "));
190
- }
191
-
192
  ivory_search.titleHint = function() {
193
  var $title = $( '#title' );
194
  var $titleprompt = $( '#title-prompt-text' );
8
 
9
  $( function() {
10
 
11
+ $( window ).load( function() {
12
+ $( '.col-wrapper .load-all' ).on( 'click', function() {
13
+ var post_id = $('#post_ID').val();
14
+ var post_type = $(this).attr('id');
15
+ var this_load = $(this);
16
+ var inc_exc = $('.search-form-editor-panel').attr('id');
17
+ $(this).parent().append('<span class="spinner"></span>');
18
+ $.ajax( {
19
+ type : "post",
20
+ url: ivory_search.ajaxUrl,
21
+ data: {
22
+ action: 'display_posts',
23
+ post_id: post_id,
24
+ post_type: post_type,
25
+ inc_exc: inc_exc
26
+ },
27
+ success: function( response ) {
28
+ $(this_load).parent().find('select').find('option').remove().end().append(response );
29
+ if ( $(this_load).parent().find('select option:selected').length ) {
30
+ $(this_load).parent().find('.col-title span').html( '<strong>'+$(this_load).parent().find('.col-title').text()+'</strong>');
31
+ }
32
+ $(this_load).parent().find('.spinner').remove();
33
+ $(this_load).remove();
34
+ },
35
+ error: function (request, error) {
36
+ alert( " The posts could not be loaded. Because: " + error );
37
+ }
38
+ } );
39
+ } );
 
 
 
 
 
 
 
40
  } );
41
 
42
  $('.form-table .actions a.expand').click( function() {
61
  icons: false,
62
  } );
63
 
64
+ $('#search-body select[multiple] option').mousedown(function(e) {
65
  if ($(this).attr('selected')) {
66
  $(this).removeAttr('selected');
67
  return false;
156
  } );
157
  } );
158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  ivory_search.titleHint = function() {
160
  var $title = $( '#title' );
161
  var $titleprompt = $( '#title-prompt-text' );
admin/partials/{new-search-form.php → search-form.php} RENAMED
@@ -44,9 +44,11 @@ if ( ! defined( 'ABSPATH' ) ) {
44
  } else {
45
  $disabled = ' disabled="disabled"';
46
  }
 
 
47
  ?>
48
 
49
- <form method="post" action="<?php echo esc_url( add_query_arg( array( 'post' => $post_id ), menu_page_url( 'ivory-search', false ) ) ); ?>" id="is-admin-form-element"<?php do_action( 'is_post_edit_form_tag' ); ?>>
50
  <?php
51
  if ( current_user_can( 'is_edit_search_form', $post_id ) ) {
52
  wp_nonce_field( 'is-save-search-form_' . $post_id );
@@ -55,7 +57,7 @@ if ( ! defined( 'ABSPATH' ) ) {
55
  <input type="hidden" id="post_ID" name="post_ID" value="<?php echo (int) $post_id; ?>" />
56
  <input type="hidden" id="is_locale" name="is_locale" value="<?php echo esc_attr( $post->locale() ); ?>" />
57
  <input type="hidden" id="hiddenaction" name="action" value="save" />
58
- <input type="hidden" id="active-tab" name="active-tab" value="<?php echo isset( $_GET['active-tab'] ) ? (int) $_GET['active-tab'] : '0'; ?>" />
59
 
60
  <div id="poststuff">
61
  <div id="search-body" class="metabox-holder columns-2">
@@ -112,9 +114,9 @@ if ( ! defined( 'ABSPATH' ) ) {
112
  'title' => __( 'Excludes', 'ivory-search' ),
113
  'callback' => 'excludes_panel',
114
  ),
115
- 'settings' => array(
116
  'title' => __( 'Options', 'ivory-search' ),
117
- 'callback' => 'settings_panel',
118
  ),
119
  );
120
  }
44
  } else {
45
  $disabled = ' disabled="disabled"';
46
  }
47
+
48
+ $tab = isset( $_GET['tab'] ) ? $_GET['tab'] : 'includes';
49
  ?>
50
 
51
+ <form method="post" action="<?php echo esc_url( add_query_arg( array( 'post' => $post_id, 'tab' => $tab ), menu_page_url( 'ivory-search', false ) ) ); ?>" id="is-admin-form-element"<?php do_action( 'is_post_edit_form_tag' ); ?>>
52
  <?php
53
  if ( current_user_can( 'is_edit_search_form', $post_id ) ) {
54
  wp_nonce_field( 'is-save-search-form_' . $post_id );
57
  <input type="hidden" id="post_ID" name="post_ID" value="<?php echo (int) $post_id; ?>" />
58
  <input type="hidden" id="is_locale" name="is_locale" value="<?php echo esc_attr( $post->locale() ); ?>" />
59
  <input type="hidden" id="hiddenaction" name="action" value="save" />
60
+ <input type="hidden" id="tab" name="tab" value="<?php echo $tab; ?>" />
61
 
62
  <div id="poststuff">
63
  <div id="search-body" class="metabox-holder columns-2">
114
  'title' => __( 'Excludes', 'ivory-search' ),
115
  'callback' => 'excludes_panel',
116
  ),
117
+ 'options' => array(
118
  'title' => __( 'Options', 'ivory-search' ),
119
+ 'callback' => 'options_panel',
120
  ),
121
  );
122
  }
admin/partials/settings-form.php CHANGED
@@ -32,12 +32,10 @@ if ( ! defined( 'ABSPATH' ) ) {
32
  <div id="search-form-editor">
33
  <?php
34
  settings_fields( 'ivory_search' );
35
- $activetab = isset( $_GET['active-tab'] ) ? (int) $_GET['active-tab'] : '0';
36
- echo '<input type="hidden" id="active-tab" name="active-tab" value="'. $activetab .'" />';
37
 
38
  $panels = array(
39
- 'search-to-menu' => array(
40
- 'search-to-menu',
41
  'Menu Search',
42
  ),
43
  'settings' => array(
@@ -48,16 +46,25 @@ if ( ! defined( 'ABSPATH' ) ) {
48
 
49
  echo '<ul id="search-form-editor-tabs">';
50
 
 
 
 
51
  foreach ( $panels as $id => $panel ) {
52
- echo sprintf( '<li id="%1$s-tab"><a href="#%1$s">%2$s</a></li>',
53
- esc_attr( $panel[0] ), esc_html( $panel[1] ) );
 
54
  }
55
 
56
  echo '</ul>';
57
- echo '<div class="search-form-editor-panel" id="search-to-menu">';
58
- $settings_fields = IS_Settings_Fields::getInstance();
59
- $settings_fields->is_do_settings_sections( 'ivory_search' );
60
- echo '</div>';
 
 
 
 
 
61
  ?>
62
  </div><!-- #search-form-editor -->
63
 
32
  <div id="search-form-editor">
33
  <?php
34
  settings_fields( 'ivory_search' );
 
 
35
 
36
  $panels = array(
37
+ 'menu-search' => array(
38
+ 'menu-search',
39
  'Menu Search',
40
  ),
41
  'settings' => array(
46
 
47
  echo '<ul id="search-form-editor-tabs">';
48
 
49
+ $tab = isset( $_GET['tab'] ) ? $_GET['tab'] : 'menu-search';
50
+ $url = esc_url( menu_page_url( 'ivory-search-settings', false ) );
51
+
52
  foreach ( $panels as $id => $panel ) {
53
+ $class = ( $tab == $id ) ? 'active' : '';
54
+ echo sprintf( '<li id="%1$s-tab" class="%2$s"><a href="%3$s">%4$s</a></li>',
55
+ esc_attr( $panel[0] ), esc_attr( $class ), $url . '&tab=' . $panel[0], esc_html( $panel[1] ) );
56
  }
57
 
58
  echo '</ul>';
59
+
60
+ $settings_fields = IS_Settings_Fields::getInstance();
61
+
62
+ if ( 'menu-search' == $tab ) {
63
+ $settings_fields->is_do_settings_sections( 'ivory_search', 'ivory_search_section' );
64
+ } else if ( 'settings' == $tab ) {
65
+ $settings_fields->is_do_settings_sections( 'ivory_search', 'ivory_search_settings' );
66
+ }
67
+
68
  ?>
69
  </div><!-- #search-form-editor -->
70
 
includes/class-is-admin-public.php CHANGED
@@ -28,9 +28,7 @@ class IS_Admin_Public {
28
  if ( null !== $is ) {
29
  $this->opt = $is->opt;
30
  } else {
31
- $old_opt = (array)get_option( 'add_search_to_menu' );
32
- $new_opt = (array)get_option( 'ivory_search' );
33
- $this->opt = array_merge( $old_opt, $new_opt );
34
  }
35
  }
36
 
28
  if ( null !== $is ) {
29
  $this->opt = $is->opt;
30
  } else {
31
+ $this->opt = Ivory_Search::load_options();
 
 
32
  }
33
  }
34
 
includes/class-is-deactivator.php CHANGED
@@ -19,13 +19,11 @@ class IS_Deactivator {
19
  */
20
  public static function deactivate() {
21
 
22
- $old_opt = (array)get_option( 'add_search_to_menu' );
23
- $new_opt = (array)get_option( 'ivory_search' );
24
- $opt = array_merge( $old_opt, $new_opt );
25
 
26
  if ( isset( $opt['dismiss_admin_notices'] ) ) {
27
  unset( $opt['dismiss_admin_notices'] );
28
- update_option( 'ivory_search', $opt );
29
  }
30
  }
31
  }
19
  */
20
  public static function deactivate() {
21
 
22
+ $opt = Ivory_Search::load_options();
 
 
23
 
24
  if ( isset( $opt['dismiss_admin_notices'] ) ) {
25
  unset( $opt['dismiss_admin_notices'] );
26
+ update_option( 'is_settings', $opt );
27
  }
28
  }
29
  }
includes/class-is-search-form.php CHANGED
@@ -129,22 +129,6 @@ class IS_Search_Form {
129
  return $search_form;
130
  }
131
 
132
- private static function get_unit_tag( $id = 0 ) {
133
- static $global_count = 0;
134
-
135
- $global_count += 1;
136
-
137
- if ( in_the_loop() ) {
138
- $unit_tag = sprintf( 'ivory-search-f%1$d-p%2$d-o%3$d',
139
- absint( $id ), get_the_ID(), $global_count );
140
- } else {
141
- $unit_tag = sprintf( 'ivory-search-f%1$d-o%2$d',
142
- absint( $id ), $global_count );
143
- }
144
-
145
- return $unit_tag;
146
- }
147
-
148
  public function __get( $name ) {
149
  $message = __( '<code>%1$s</code> property of a <code>IS_Search_Form</code> object is <strong>no longer accessible</strong>. Use <code>%2$s</code> method instead.', 'ivory-search' );
150
 
129
  return $search_form;
130
  }
131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  public function __get( $name ) {
133
  $message = __( '<code>%1$s</code> property of a <code>IS_Search_Form</code> object is <strong>no longer accessible</strong>. Use <code>%2$s</code> method instead.', 'ivory-search' );
134
 
includes/class-is.php CHANGED
@@ -37,9 +37,7 @@ class IS_Loader {
37
  if ( null !== $is_opt ) {
38
  $this->opt = $is_opt;
39
  } else {
40
- $old_opt = (array)get_option( 'add_search_to_menu' );
41
- $new_opt = (array)get_option( 'ivory_search' );
42
- $this->opt = array_merge( $old_opt, $new_opt );
43
  }
44
  }
45
 
@@ -113,6 +111,8 @@ class IS_Loader {
113
  add_action( 'admin_menu', array( $admin, 'admin_menu' ) );
114
  add_action( 'wp_ajax_nopriv_dismiss_notice', array( $admin, 'dismiss_notice' ) );
115
  add_action( 'wp_ajax_dismiss_notice', array( $admin, 'dismiss_notice' ) );
 
 
116
  add_action( 'admin_enqueue_scripts', array( $admin, 'admin_enqueue_scripts' ) );
117
  add_action( 'admin_init', array( $admin, 'admin_init' ) );
118
  add_action( 'is_admin_notices', array( $admin, 'admin_updated_message' ) );
37
  if ( null !== $is_opt ) {
38
  $this->opt = $is_opt;
39
  } else {
40
+ $this->opt = Ivory_Search::load_options();
 
 
41
  }
42
  }
43
 
111
  add_action( 'admin_menu', array( $admin, 'admin_menu' ) );
112
  add_action( 'wp_ajax_nopriv_dismiss_notice', array( $admin, 'dismiss_notice' ) );
113
  add_action( 'wp_ajax_dismiss_notice', array( $admin, 'dismiss_notice' ) );
114
+ add_action( 'wp_ajax_nopriv_display_posts', array( $admin, 'display_posts' ) );
115
+ add_action( 'wp_ajax_display_posts', array( $admin, 'display_posts' ) );
116
  add_action( 'admin_enqueue_scripts', array( $admin, 'admin_enqueue_scripts' ) );
117
  add_action( 'admin_init', array( $admin, 'admin_init' ) );
118
  add_action( 'is_admin_notices', array( $admin, 'admin_updated_message' ) );
languages/default.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ivory Search\n"
4
- "POT-Creation-Date: 2018-10-08 15:11+0530\n"
5
- "PO-Revision-Date: 2018-10-08 15:11+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Ivory Search <admin@ivorysearch.com>\n"
8
  "Language: en_US\n"
@@ -16,17 +16,16 @@ msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
- #: ../admin/class-is-admin.php:74
20
  msgid "The changes you made will be lost if you navigate away from this page."
21
  msgstr ""
22
 
23
- #: ../admin/class-is-admin.php:95 ../admin/class-is-help.php:111
24
- #: ../admin/partials/new-search-form.php:186
25
- #: ../admin/partials/settings-form.php:91
26
  msgid "Support"
27
  msgstr ""
28
 
29
- #: ../admin/class-is-admin.php:117
30
  #, php-format
31
  msgid ""
32
  "To configure <em>Ivory Search plugin</em> please visit its <a href=\"%1$s"
@@ -35,605 +34,618 @@ msgid ""
35
  "target=\"_blank\">contact us page</a>."
36
  msgstr ""
37
 
38
- #: ../admin/class-is-admin.php:223
 
 
 
 
39
  msgid "Search form created."
40
  msgstr ""
41
 
42
- #: ../admin/class-is-admin.php:225
43
  msgid "Search form saved."
44
  msgstr ""
45
 
46
- #: ../admin/class-is-admin.php:227
47
  msgid "Search form deleted."
48
  msgstr ""
49
 
50
- #: ../admin/class-is-admin.php:229
51
  msgid "Search form reset."
52
  msgstr ""
53
 
54
- #: ../admin/class-is-admin.php:238
55
  msgid "There was an error saving the search form."
56
  msgstr ""
57
 
58
- #: ../admin/class-is-admin.php:246
59
  msgid "There was a validation error saving the search form."
60
  msgstr ""
61
 
62
- #: ../admin/class-is-admin.php:248
63
  #, php-format
64
  msgid ""
65
  "Please make sure you have not selected similar %s fields in the search form "
66
  "Includes and Excludes sections."
67
  msgstr ""
68
 
69
- #: ../admin/class-is-admin.php:258 ../includes/class-is-widget.php:13
70
  #: ../includes/class-is-widget.php:45
71
  msgid "Ivory Search"
72
  msgstr ""
73
 
74
- #: ../admin/class-is-admin.php:260 ../admin/class-is-admin.php:298
75
  #: ../includes/class-is-search-form.php:59
76
  msgid "Search Forms"
77
  msgstr ""
78
 
79
- #: ../admin/class-is-admin.php:263 ../admin/partials/new-search-form.php:21
80
  msgid "Add New Search Form"
81
  msgstr ""
82
 
83
- #: ../admin/class-is-admin.php:263 ../admin/class-is-admin.php:305
84
- #: ../admin/partials/new-search-form.php:31
85
  msgid "Add New"
86
  msgstr ""
87
 
88
- #: ../admin/class-is-admin.php:266 ../admin/partials/settings-form.php:20
89
  msgid "Ivory Search Settings"
90
  msgstr ""
91
 
92
- #: ../admin/class-is-admin.php:266 ../admin/class-is-help.php:64
93
  msgid "Settings"
94
  msgstr ""
95
 
96
- #: ../admin/class-is-admin.php:311
97
  #, php-format
98
  msgid "Search results for &#8220;%s&#8221;"
99
  msgstr ""
100
 
101
- #: ../admin/class-is-admin.php:322
102
  msgid "Search Search Forms"
103
  msgstr ""
104
 
105
- #: ../admin/class-is-admin.php:366
106
  msgid "You are not allowed to edit this item."
107
  msgstr ""
108
 
109
- #: ../admin/class-is-admin.php:447
110
  msgid "You are not allowed to reset this item."
111
  msgstr ""
112
 
113
- #: ../admin/class-is-admin.php:481
114
  msgid "You are not allowed to copy this item."
115
  msgstr ""
116
 
117
- #: ../admin/class-is-admin.php:522
118
  msgid "You are not allowed to delete this item."
119
  msgstr ""
120
 
121
- #: ../admin/class-is-admin.php:526
122
  msgid "Error in deleting."
123
  msgstr ""
124
 
125
- #: ../admin/class-is-admin.php:731
126
  msgid "Save Form"
127
  msgstr ""
128
 
129
- #: ../admin/class-is-admin.php:743
130
  msgid "Upgrade To Access"
131
  msgstr ""
132
 
133
- #: ../admin/class-is-admin.php:750
134
  msgid "Install Pro Version To Access"
135
  msgstr ""
136
 
137
- #: ../admin/class-is-editor.php:94
138
  msgid "Configure the below options to make specific content searchable."
139
  msgstr ""
140
 
141
- #: ../admin/class-is-editor.php:102
142
  msgid "Post Types"
143
  msgstr ""
144
 
145
- #: ../admin/class-is-editor.php:103 ../admin/class-is-editor.php:172
146
- #: ../admin/class-is-editor.php:226 ../admin/class-is-editor.php:304
147
- #: ../admin/class-is-editor.php:340 ../admin/class-is-editor.php:372
148
- #: ../admin/class-is-editor.php:425 ../admin/class-is-editor.php:460
149
- #: ../admin/class-is-editor.php:511 ../admin/class-is-editor.php:564
150
- #: ../admin/class-is-editor.php:590 ../admin/class-is-editor.php:656
151
- #: ../admin/class-is-editor.php:716 ../admin/class-is-editor.php:762
152
- #: ../admin/class-is-editor.php:800 ../admin/class-is-editor.php:832
153
- #: ../admin/class-is-editor.php:878 ../admin/class-is-editor.php:923
154
- #: ../admin/class-is-editor.php:985 ../admin/class-is-editor.php:1004
155
- #: ../admin/class-is-editor.php:1040 ../admin/class-is-editor.php:1065
156
- #: ../admin/class-is-editor.php:1083 ../admin/class-is-editor.php:1100
157
- #: ../admin/class-is-editor.php:1123 ../admin/class-is-editor.php:1138
158
- #: ../admin/class-is-editor.php:1153 ../admin/class-is-editor.php:1168
159
- #: ../admin/class-is-editor.php:1183 ../admin/class-is-settings-fields.php:117
160
  msgid "Expand All"
161
  msgstr ""
162
 
163
- #: ../admin/class-is-editor.php:103 ../admin/class-is-editor.php:172
164
- #: ../admin/class-is-editor.php:226 ../admin/class-is-editor.php:304
165
- #: ../admin/class-is-editor.php:340 ../admin/class-is-editor.php:372
166
- #: ../admin/class-is-editor.php:425 ../admin/class-is-editor.php:460
167
- #: ../admin/class-is-editor.php:511 ../admin/class-is-editor.php:564
168
- #: ../admin/class-is-editor.php:590 ../admin/class-is-editor.php:656
169
- #: ../admin/class-is-editor.php:716 ../admin/class-is-editor.php:762
170
- #: ../admin/class-is-editor.php:800 ../admin/class-is-editor.php:832
171
- #: ../admin/class-is-editor.php:878 ../admin/class-is-editor.php:923
172
- #: ../admin/class-is-editor.php:985 ../admin/class-is-editor.php:1004
173
- #: ../admin/class-is-editor.php:1040 ../admin/class-is-editor.php:1065
174
- #: ../admin/class-is-editor.php:1083 ../admin/class-is-editor.php:1100
175
- #: ../admin/class-is-editor.php:1123 ../admin/class-is-editor.php:1138
176
- #: ../admin/class-is-editor.php:1153 ../admin/class-is-editor.php:1168
177
- #: ../admin/class-is-editor.php:1183 ../admin/class-is-settings-fields.php:117
178
  msgid "Collapse All"
179
  msgstr ""
180
 
181
- #: ../admin/class-is-editor.php:108
182
  msgid "Select post types that you want to make searchable."
183
  msgstr ""
184
 
185
- #: ../admin/class-is-editor.php:137
186
  msgid "Search in post title."
187
  msgstr ""
188
 
189
- #: ../admin/class-is-editor.php:143
190
  msgid "Search in post content."
191
  msgstr ""
192
 
193
- #: ../admin/class-is-editor.php:149
194
  msgid "Search in post excerpt."
195
  msgstr ""
196
 
197
- #: ../admin/class-is-editor.php:155
198
  msgid "None"
199
  msgstr ""
200
 
201
- #: ../admin/class-is-editor.php:159
202
  msgid ""
203
  "Display this post type in the search query URL and restrict search to it."
204
  msgstr ""
205
 
206
- #: ../admin/class-is-editor.php:164
207
  msgid "No post types registered on your site."
208
  msgstr ""
209
 
210
- #: ../admin/class-is-editor.php:171 ../admin/class-is-editor.php:655
211
  msgid "Posts"
212
  msgstr ""
213
 
214
- #: ../admin/class-is-editor.php:175 ../admin/class-is-editor.php:659
215
  msgid "The posts and pages of searchable post types display here."
216
  msgstr ""
217
 
218
- #: ../admin/class-is-editor.php:176
219
  msgid ""
220
  "Select the specific posts you wish to search or do not select any posts to "
221
  "make all posts searchable."
222
  msgstr ""
223
 
224
- #: ../admin/class-is-editor.php:177 ../admin/class-is-editor.php:661
225
  msgid "Selected post types display in BOLD."
226
  msgstr ""
227
 
228
- #: ../admin/class-is-editor.php:211 ../admin/class-is-editor.php:258
229
- #: ../admin/class-is-editor.php:317 ../admin/class-is-editor.php:604
230
- #: ../admin/class-is-editor.php:698 ../admin/class-is-editor.php:740
231
- #: ../admin/class-is-editor.php:776 ../admin/class-is-editor.php:936
232
  msgid "Search.."
233
  msgstr ""
234
 
235
- #: ../admin/class-is-editor.php:220 ../admin/class-is-editor.php:267
236
- #: ../admin/class-is-editor.php:324 ../admin/class-is-editor.php:612
237
- #: ../admin/class-is-editor.php:707 ../admin/class-is-editor.php:749
238
- #: ../admin/class-is-editor.php:784 ../admin/class-is-editor.php:944
239
- msgid "Press CTRL key to select multiple terms or deselect them."
 
 
 
 
 
240
  msgstr ""
241
 
242
- #: ../admin/class-is-editor.php:225 ../admin/class-is-editor.php:715
243
  msgid "Taxonomy Terms"
244
  msgstr ""
245
 
246
- #: ../admin/class-is-editor.php:230
247
  msgid ""
248
  "Taxonomy terms that have no posts will not be visible below. Add a post with "
249
  "the taxonomy you want for it to be configurable."
250
  msgstr ""
251
 
252
- #: ../admin/class-is-editor.php:231
253
  msgid ""
254
  "Terms selected here will restrict the search to posts that have the selected "
255
  "terms."
256
  msgstr ""
257
 
258
- #: ../admin/class-is-editor.php:232
259
  msgid "Taxonomy terms selected display in BOLD"
260
  msgstr ""
261
 
262
- #: ../admin/class-is-editor.php:277
263
  msgid "AND - Search posts having all the above selected terms."
264
  msgstr ""
265
 
266
- #: ../admin/class-is-editor.php:279
267
  msgid "OR - Search posts having any one of the above selected terms."
268
  msgstr ""
269
 
270
- #: ../admin/class-is-editor.php:285
271
  msgid "Search in taxonomy terms title."
272
  msgstr ""
273
 
274
- #: ../admin/class-is-editor.php:291
275
  msgid "Search in taxonomy terms description."
276
  msgstr ""
277
 
278
- #: ../admin/class-is-editor.php:296 ../admin/class-is-editor.php:754
279
  msgid "No taxonomies registered for slected post types."
280
  msgstr ""
281
 
282
- #: ../admin/class-is-editor.php:303 ../admin/class-is-editor.php:761
283
  msgid "Custom Fields"
284
  msgstr ""
285
 
286
- #: ../admin/class-is-editor.php:307
287
  msgid "Select custom fields to make their values searchable."
288
  msgstr ""
289
 
290
- #: ../admin/class-is-editor.php:328
291
  msgid "Selected Custom Fields :"
292
  msgstr ""
293
 
294
- #: ../admin/class-is-editor.php:339 ../admin/class-is-editor.php:799
295
  msgid "WooCommerce"
296
  msgstr ""
297
 
298
- #: ../admin/class-is-editor.php:343
299
  msgid "Configure WooCommerce products search options here."
300
  msgstr ""
301
 
302
- #: ../admin/class-is-editor.php:355
303
  msgid "Search in WooCommerce products SKU."
304
  msgstr ""
305
 
306
- #: ../admin/class-is-editor.php:361 ../admin/class-is-editor.php:821
 
 
 
 
307
  msgid "WooCommerce product post type is not included in search."
308
  msgstr ""
309
 
310
- #: ../admin/class-is-editor.php:364 ../admin/class-is-editor.php:824
311
  msgid "Activate WooCommerce plugin to use this option."
312
  msgstr ""
313
 
314
- #: ../admin/class-is-editor.php:371 ../admin/class-is-editor.php:831
315
  msgid "Authors"
316
  msgstr ""
317
 
318
- #: ../admin/class-is-editor.php:375
319
  msgid "Make specific author posts searchable."
320
  msgstr ""
321
 
322
- #: ../admin/class-is-editor.php:408
323
  msgid ""
324
  "Search has been already limited by excluding specific authors posts in the "
325
  "Excludes section."
326
  msgstr ""
327
 
328
- #: ../admin/class-is-editor.php:416
329
  msgid ""
330
  "Search in author Display name and display the posts created by that author."
331
  msgstr ""
332
 
333
- #: ../admin/class-is-editor.php:424 ../admin/class-is-editor.php:877
334
  msgid "Post Status"
335
  msgstr ""
336
 
337
- #: ../admin/class-is-editor.php:428
338
  msgid "Configure options to search posts having specific post statuses."
339
  msgstr ""
340
 
341
- #: ../admin/class-is-editor.php:452
342
  msgid ""
343
  "Search has been already limited by excluding specific posts statuses from "
344
  "search in the Excludes section."
345
  msgstr ""
346
 
347
- #: ../admin/class-is-editor.php:459
348
  msgid "Comments"
349
  msgstr ""
350
 
351
- #: ../admin/class-is-editor.php:464
352
  msgid "Make posts searchable that have a specific number of comments."
353
  msgstr ""
354
 
355
- #: ../admin/class-is-editor.php:480
356
  msgid "The search operator to compare comments count."
357
  msgstr ""
358
 
359
- #: ../admin/class-is-editor.php:487
360
  msgid "NA"
361
  msgstr ""
362
 
363
- #: ../admin/class-is-editor.php:491
364
  msgid "The amount of comments your posts has to have."
365
  msgstr ""
366
 
367
- #: ../admin/class-is-editor.php:501
368
  msgid "Search in approved comments content."
369
  msgstr ""
370
 
371
- #: ../admin/class-is-editor.php:510 ../admin/class-is-list-table.php:34
372
  msgid "Date"
373
  msgstr ""
374
 
375
- #: ../admin/class-is-editor.php:514
376
  msgid "Make posts searchable that were created in the specified date range."
377
  msgstr ""
378
 
379
- #: ../admin/class-is-editor.php:527
380
  msgid "Day"
381
  msgstr ""
382
 
383
- #: ../admin/class-is-editor.php:538
384
  msgid "Month"
385
  msgstr ""
386
 
387
- #: ../admin/class-is-editor.php:549
388
  msgid "Year"
389
  msgstr ""
390
 
391
- #: ../admin/class-is-editor.php:563
392
  msgid "Password"
393
  msgstr ""
394
 
395
- #: ../admin/class-is-editor.php:567
396
  msgid "Configure options to search posts with or without password."
397
  msgstr ""
398
 
399
- #: ../admin/class-is-editor.php:572
400
  msgid "Search all posts with and without passwords."
401
  msgstr ""
402
 
403
- #: ../admin/class-is-editor.php:574
404
  msgid "Search only posts with passwords."
405
  msgstr ""
406
 
407
- #: ../admin/class-is-editor.php:576
408
  msgid "Search only posts without passwords."
409
  msgstr ""
410
 
411
- #: ../admin/class-is-editor.php:589 ../admin/class-is-editor.php:922
412
  msgid "File Types"
413
  msgstr ""
414
 
415
- #: ../admin/class-is-editor.php:593
416
  msgid ""
417
  "Configure searching to search based on posts that have a specific MIME type "
418
  "or files that have specific media attachments"
419
  msgstr ""
420
 
421
- #: ../admin/class-is-editor.php:615
422
  msgid ""
423
  "Search has been already limited by excluding specific File type in the "
424
  "Excludes section."
425
  msgstr ""
426
 
427
- #: ../admin/class-is-editor.php:618 ../admin/class-is-editor.php:950
428
  msgid "Attachment post type is not included in search."
429
  msgstr ""
430
 
431
- #: ../admin/class-is-editor.php:622
432
  msgid "Selected File Types :"
433
  msgstr ""
434
 
435
- #: ../admin/class-is-editor.php:648
436
  msgid "Configure the options to exclude specific content from search."
437
  msgstr ""
438
 
439
- #: ../admin/class-is-editor.php:660
440
  msgid "Select the posts you wish to exclude from the search."
441
  msgstr ""
442
 
443
- #: ../admin/class-is-editor.php:709
444
  msgid ""
445
  "Search is already limited to specific posts selected in Includes section."
446
  msgstr ""
447
 
448
- #: ../admin/class-is-editor.php:719
449
  msgid ""
450
  "The taxonomies and terms attached to searchable post types display here."
451
  msgstr ""
452
 
453
- #: ../admin/class-is-editor.php:720
454
  msgid "Exclude posts from search results that have specific terms"
455
  msgstr ""
456
 
457
- #: ../admin/class-is-editor.php:721
458
  msgid "Selected terms taxonomy title display in BOLD."
459
  msgstr ""
460
 
461
- #: ../admin/class-is-editor.php:765
462
  msgid "Exclude posts from the search having selected custom fields."
463
  msgstr ""
464
 
465
- #: ../admin/class-is-editor.php:788
466
  msgid "Excluded Custom Fields :"
467
  msgstr ""
468
 
469
- #: ../admin/class-is-editor.php:803
470
  msgid "Exclude specific WooCommerce products from the search."
471
  msgstr ""
472
 
473
- #: ../admin/class-is-editor.php:818
474
  msgid "Exclude 'out of stock' WooCommerce products."
475
  msgstr ""
476
 
477
- #: ../admin/class-is-editor.php:835
478
  msgid "Exclude posts from the search created by slected authors."
479
  msgstr ""
480
 
481
- #: ../admin/class-is-editor.php:870
482
  msgid ""
483
  "Search has been already limited to posts created by specific authors in the "
484
  "Includes section."
485
  msgstr ""
486
 
487
- #: ../admin/class-is-editor.php:881
488
  msgid "Exclude posts from the search having selected post statuses."
489
  msgstr ""
490
 
491
- #: ../admin/class-is-editor.php:904
492
  msgid ""
493
  "Search has been already limited to posts statuses set in the Includes "
494
  "section."
495
  msgstr ""
496
 
497
- #: ../admin/class-is-editor.php:912
498
  msgid "Exclude sticky posts from search."
499
  msgstr ""
500
 
501
- #: ../admin/class-is-editor.php:926
502
  msgid ""
503
  "Exclude posts specially media attachment posts from the search having "
504
  "selected file types."
505
  msgstr ""
506
 
507
- #: ../admin/class-is-editor.php:947
508
  msgid ""
509
  "Search has been already limited to specific File type set in the Includes "
510
  "section."
511
  msgstr ""
512
 
513
- #: ../admin/class-is-editor.php:954
514
  msgid "Excluded File Types :"
515
  msgstr ""
516
 
517
- #: ../admin/class-is-editor.php:977
518
  msgid "Configure the options here to control search of this search form."
519
  msgstr ""
520
 
521
- #: ../admin/class-is-editor.php:984
522
  msgid "Posts Per Page"
523
  msgstr ""
524
 
525
- #: ../admin/class-is-editor.php:994
526
  msgid "Number of posts to display on search results page."
527
  msgstr ""
528
 
529
- #: ../admin/class-is-editor.php:1003
530
  msgid "Order By"
531
  msgstr ""
532
 
533
- #: ../admin/class-is-editor.php:1039
534
  msgid "Highlight Terms"
535
  msgstr ""
536
 
537
- #: ../admin/class-is-editor.php:1049
538
  msgid "Highlight searched terms on search results page."
539
  msgstr ""
540
 
541
- #: ../admin/class-is-editor.php:1055
542
  msgid "Set highlight color."
543
  msgstr ""
544
 
545
- #: ../admin/class-is-editor.php:1064
546
  msgid "Search Terms Relation"
547
  msgstr ""
548
 
549
- #: ../admin/class-is-editor.php:1071
550
  msgid "OR - Display content having any of the searched terms."
551
  msgstr ""
552
 
553
- #: ../admin/class-is-editor.php:1073
554
  msgid "AND - Display content having all the searched terms."
555
  msgstr ""
556
 
557
- #: ../admin/class-is-editor.php:1082
558
  msgid "Fuzzy Matching"
559
  msgstr ""
560
 
561
- #: ../admin/class-is-editor.php:1088
562
  msgid "Whole - Search posts that include the whole search term."
563
  msgstr ""
564
 
565
- #: ../admin/class-is-editor.php:1090
566
  msgid ""
567
  "Partial - Also search words in the posts that begins or ends with the search "
568
  "term."
569
  msgstr ""
570
 
571
- #: ../admin/class-is-editor.php:1099
572
  msgid "Keyword Stemming"
573
  msgstr ""
574
 
575
- #: ../admin/class-is-editor.php:1103
576
  msgid "Searches the base word of a searched keyword"
577
  msgstr ""
578
 
579
- #: ../admin/class-is-editor.php:1104
580
  msgid ""
581
  "For Example: If you search \"doing\" then it also searches base word of "
582
  "\"doing\" that is \"do\" in the specified post types."
583
  msgstr ""
584
 
585
- #: ../admin/class-is-editor.php:1105
586
  msgid ""
587
  "If you want to search whole exact searched term then do not use this options "
588
  "and in this case it is not recommended to use when Fuzzy Matching option is "
589
  "set to Whole."
590
  msgstr ""
591
 
592
- #: ../admin/class-is-editor.php:1111
593
  msgid "Also search base word of searched keyword."
594
  msgstr ""
595
 
596
- #: ../admin/class-is-editor.php:1113
597
  msgid "Not recommended to use when Fuzzy Matching option is set to Whole."
598
  msgstr ""
599
 
600
- #: ../admin/class-is-editor.php:1122
601
  msgid "Sticky Posts"
602
  msgstr ""
603
 
604
- #: ../admin/class-is-editor.php:1128
605
  msgid "Move sticky posts to the start of the search results page."
606
  msgstr ""
607
 
608
- #: ../admin/class-is-editor.php:1137
609
  msgid "Empty Search"
610
  msgstr ""
611
 
612
- #: ../admin/class-is-editor.php:1143
613
  msgid "Display an error for empty search query."
614
  msgstr ""
615
 
616
- #: ../admin/class-is-editor.php:1152
617
  msgid "Respect exclude_from_search"
618
  msgstr ""
619
 
620
- #: ../admin/class-is-editor.php:1158
621
  msgid "Do not search post types which are excluded from search."
622
  msgstr ""
623
 
624
- #: ../admin/class-is-editor.php:1167
625
  msgid "Demo"
626
  msgstr ""
627
 
628
- #: ../admin/class-is-editor.php:1173
629
  msgid "Display search form only for site administrator."
630
  msgstr ""
631
 
632
- #: ../admin/class-is-editor.php:1182 ../admin/class-is-settings-fields.php:147
633
  msgid "Disable"
634
  msgstr ""
635
 
636
- #: ../admin/class-is-editor.php:1188
637
  msgid "Disable this search form."
638
  msgstr ""
639
 
@@ -646,15 +658,15 @@ msgstr ""
646
  msgid "Available Actions"
647
  msgstr ""
648
 
649
- #: ../admin/class-is-help.php:35 ../admin/partials/new-search-form.php:108
650
  msgid "Includes"
651
  msgstr ""
652
 
653
- #: ../admin/class-is-help.php:40 ../admin/partials/new-search-form.php:112
654
  msgid "Excludes"
655
  msgstr ""
656
 
657
- #: ../admin/class-is-help.php:45 ../admin/partials/new-search-form.php:116
658
  msgid "Options"
659
  msgstr ""
660
 
@@ -777,13 +789,13 @@ msgstr ""
777
  msgid "For more information:"
778
  msgstr ""
779
 
780
- #: ../admin/class-is-help.php:110 ../admin/partials/new-search-form.php:185
781
- #: ../admin/partials/settings-form.php:90
782
  msgid "Docs"
783
  msgstr ""
784
 
785
- #: ../admin/class-is-help.php:112 ../admin/partials/new-search-form.php:188
786
- #: ../admin/partials/settings-form.php:93
787
  msgid "Give us a rating"
788
  msgstr ""
789
 
@@ -800,7 +812,7 @@ msgid "Author"
800
  msgstr ""
801
 
802
  #: ../admin/class-is-list-table.php:111 ../admin/class-is-list-table.php:174
803
- #: ../admin/partials/new-search-form.php:154
804
  msgid "Delete"
805
  msgstr ""
806
 
@@ -810,19 +822,17 @@ msgid "Edit &#8220;%s&#8221;"
810
  msgstr ""
811
 
812
  #: ../admin/class-is-list-table.php:150
813
- #: ../admin/class-is-settings-fields.php:238
814
- #: ../admin/class-is-settings-fields.php:409
815
- #: ../admin/class-is-settings-fields.php:441 ../includes/class-is-widget.php:69
816
  msgid "Edit"
817
  msgstr ""
818
 
819
- #: ../admin/class-is-list-table.php:160
820
- #: ../admin/partials/new-search-form.php:169
821
  msgid "Duplicate"
822
  msgstr ""
823
 
824
- #: ../admin/class-is-list-table.php:173
825
- #: ../admin/partials/new-search-form.php:154
826
  msgid ""
827
  "You are about to delete this search form.\n"
828
  " 'Cancel' to stop, 'OK' to delete."
@@ -841,311 +851,305 @@ msgstr ""
841
  msgid "d/m/Y"
842
  msgstr ""
843
 
844
- #: ../admin/class-is-settings-fields.php:129
845
  msgid "Select Menu"
846
  msgstr ""
847
 
848
- #: ../admin/class-is-settings-fields.php:131
849
  #: ../includes/class-is-search-form.php:60
850
  msgid "Search Form"
851
  msgstr ""
852
 
853
- #: ../admin/class-is-settings-fields.php:132
854
  msgid "Form Style"
855
  msgstr ""
856
 
857
- #: ../admin/class-is-settings-fields.php:133
858
  msgid "Menu Title"
859
  msgstr ""
860
 
861
- #: ../admin/class-is-settings-fields.php:134
862
  msgid "Menu Classes"
863
  msgstr ""
864
 
865
- #: ../admin/class-is-settings-fields.php:135
866
  msgid "Google CSE"
867
  msgstr ""
868
 
869
- #: ../admin/class-is-settings-fields.php:136
870
  msgid "Close Icon"
871
  msgstr ""
872
 
873
- #: ../admin/class-is-settings-fields.php:140
874
  msgid "Header"
875
  msgstr ""
876
 
877
- #: ../admin/class-is-settings-fields.php:141
878
  msgid "Footer"
879
  msgstr ""
880
 
881
- #: ../admin/class-is-settings-fields.php:142
882
  msgid "Mobile Display"
883
  msgstr ""
884
 
885
- #: ../admin/class-is-settings-fields.php:143
886
  msgid "Custom CSS"
887
  msgstr ""
888
 
889
- #: ../admin/class-is-settings-fields.php:144
890
  msgid "Stopwords"
891
  msgstr ""
892
 
893
- #: ../admin/class-is-settings-fields.php:145
894
  msgid "Synonyms"
895
  msgstr ""
896
 
897
- #: ../admin/class-is-settings-fields.php:146
898
  msgid "Not load files"
899
  msgstr ""
900
 
901
- #: ../admin/class-is-settings-fields.php:148
902
  msgid "Default Search"
903
  msgstr ""
904
 
905
- #: ../admin/class-is-settings-fields.php:157
906
  msgid "Use below options to display search in menu and configure it."
907
  msgstr ""
908
 
909
- #: ../admin/class-is-settings-fields.php:166
910
  msgid "Use below options to make sitewide changes in search."
911
  msgstr ""
912
 
913
- #: ../admin/class-is-settings-fields.php:174
914
  msgid "Select menu here where you want to display search form."
915
  msgstr ""
916
 
917
- #: ../admin/class-is-settings-fields.php:194
918
  msgid "No navigation menu registered on your site."
919
  msgstr ""
920
 
921
- #: ../admin/class-is-settings-fields.php:204
922
  msgid ""
923
  "Select search form that will control search performed using menu search."
924
  msgstr ""
925
 
926
- #: ../admin/class-is-settings-fields.php:206
927
- msgid "It overwrites above Post Types option."
928
- msgstr ""
929
-
930
- #: ../admin/class-is-settings-fields.php:240
931
- #: ../admin/class-is-settings-fields.php:411
932
- #: ../admin/class-is-settings-fields.php:443 ../includes/class-is-widget.php:71
933
  msgid "Create New"
934
  msgstr ""
935
 
936
- #: ../admin/class-is-settings-fields.php:252
937
  msgid "Select form style for the search form displayed in the menu."
938
  msgstr ""
939
 
940
- #: ../admin/class-is-settings-fields.php:256
941
  msgid "Default"
942
  msgstr ""
943
 
944
- #: ../admin/class-is-settings-fields.php:257
945
  msgid "Dropdown"
946
  msgstr ""
947
 
948
- #: ../admin/class-is-settings-fields.php:258
949
  msgid "Sliding"
950
  msgstr ""
951
 
952
- #: ../admin/class-is-settings-fields.php:259
953
  msgid "Full Width"
954
  msgstr ""
955
 
956
- #: ../admin/class-is-settings-fields.php:260
957
  msgid "Popup"
958
  msgstr ""
959
 
960
- #: ../admin/class-is-settings-fields.php:293
961
  msgid ""
962
  "Displays set menu title text in place of search icon displays in navigation "
963
  "menu."
964
  msgstr ""
965
 
966
- #: ../admin/class-is-settings-fields.php:305
967
  msgid "Adds set classes in the search navigation menu item."
968
  msgstr ""
969
 
970
- #: ../admin/class-is-settings-fields.php:310
971
  msgid "Add classes seperated by space."
972
  msgstr ""
973
 
974
- #: ../admin/class-is-settings-fields.php:318
975
  msgid ""
976
  "Add only Google Custom Search( CSE ) search form code in the above text box "
977
  "that will replace default search form."
978
  msgstr ""
979
 
980
- #: ../admin/class-is-settings-fields.php:330
981
- msgid ""
982
- "Note: Does not work with caching as this functionality uses the WordPress "
983
- "wp_is_mobile function."
984
- msgstr ""
985
-
986
- #: ../admin/class-is-settings-fields.php:343
987
- msgid "Display search form in header on mobile devices"
988
  msgstr ""
989
 
990
- #: ../admin/class-is-settings-fields.php:346
991
- msgid ""
992
- "Use this option to display search form in your site header and hide the "
993
- "search form on desktop using CSS code."
994
  msgstr ""
995
 
996
- #: ../admin/class-is-settings-fields.php:359
997
- msgid "This site uses cache"
 
998
  msgstr ""
999
 
1000
- #: ../admin/class-is-settings-fields.php:370
1001
- msgid "Disable search functionality on whole site."
1002
  msgstr ""
1003
 
1004
- #: ../admin/class-is-settings-fields.php:381
1005
  msgid ""
1006
- "Do not use default search form to control WordPress default search "
1007
- "functionality."
1008
- msgstr ""
1009
-
1010
- #: ../admin/class-is-settings-fields.php:390
1011
- msgid "Displays search form in site header using wp_head hook."
1012
  msgstr ""
1013
 
1014
- #: ../admin/class-is-settings-fields.php:402
1015
- #: ../admin/class-is-settings-fields.php:434 ../includes/class-is-widget.php:62
1016
- msgid "none"
1017
  msgstr ""
1018
 
1019
- #: ../admin/class-is-settings-fields.php:422
1020
- msgid "Displays search form in site footer using wp_footer hook."
 
 
1021
  msgstr ""
1022
 
1023
- #: ../admin/class-is-settings-fields.php:463
1024
- msgid "Display Search Form Close Icon"
1025
  msgstr ""
1026
 
1027
- #: ../admin/class-is-settings-fields.php:471
1028
  msgid "Add custom css code if any to style search form."
1029
  msgstr ""
1030
 
1031
- #: ../admin/class-is-settings-fields.php:484
1032
  msgid ""
1033
  "Enter words here to add them to the list of stopwords. The stopwords will "
1034
  "not be searched."
1035
  msgstr ""
1036
 
1037
- #: ../admin/class-is-settings-fields.php:485
1038
  msgid "This works with search form."
1039
  msgstr ""
1040
 
1041
- #: ../admin/class-is-settings-fields.php:489
1042
  msgid "Please separate words with commas."
1043
  msgstr ""
1044
 
1045
- #: ../admin/class-is-settings-fields.php:497
1046
  msgid "Add synonyms here to make the searches find better results."
1047
  msgstr ""
1048
 
1049
- #: ../admin/class-is-settings-fields.php:498
1050
  msgid ""
1051
  "If you add bird = crow to the list of synonyms, searches for bird "
1052
  "automatically become a search for bird crow and will thus match to posts "
1053
  "that include either bird or crow."
1054
  msgstr ""
1055
 
1056
- #: ../admin/class-is-settings-fields.php:499
1057
  msgid ""
1058
  "This only works for search forms and in OR searches. In AND searches the "
1059
  "synonyms only restrict the search, as now the search only finds posts that "
1060
  "contain both bird and crow."
1061
  msgstr ""
1062
 
1063
- #: ../admin/class-is-settings-fields.php:504
1064
  msgid ""
1065
  "The format here is key = value;. Please separate every synonyms key = value "
1066
  "pairs with semicolon."
1067
  msgstr ""
1068
 
1069
- #: ../admin/class-is-settings-fields.php:514
1070
  msgid "Disable synonyms for the search forms having AND search terms relation."
1071
  msgstr ""
1072
 
1073
- #: ../admin/class-is-settings-fields.php:523
1074
  msgid "Configure to disable loading plugin CSS and JavaScript files."
1075
  msgstr ""
1076
 
1077
- #: ../admin/class-is-settings-fields.php:527
1078
  msgid "Plugin CSS File"
1079
  msgstr ""
1080
 
1081
- #: ../admin/class-is-settings-fields.php:528
1082
  msgid "Plugin JavaScript File"
1083
  msgstr ""
1084
 
1085
- #: ../admin/class-is-settings-fields.php:548
1086
  msgid ""
1087
  "If checked, you have to add following plugin file code into your child theme "
1088
  "CSS file."
1089
  msgstr ""
1090
 
1091
- #: ../admin/class-is-settings-fields.php:552
1092
  msgid ""
1093
  "If checked, you have to add following plugin files code into your child "
1094
  "theme JavaScript file."
1095
  msgstr ""
1096
 
1097
- #: ../admin/partials/new-search-form.php:23
 
 
 
 
 
 
 
 
 
 
1098
  msgid "Edit Search Form"
1099
  msgstr ""
1100
 
1101
- #: ../admin/partials/new-search-form.php:66
1102
  msgid "Enter search form name"
1103
  msgstr ""
1104
 
1105
- #: ../admin/partials/new-search-form.php:78
1106
  msgid "Enter search form name."
1107
  msgstr ""
1108
 
1109
- #: ../admin/partials/new-search-form.php:78
1110
  msgid "Editing title of Default Search Form is prohibited."
1111
  msgstr ""
1112
 
1113
- #: ../admin/partials/new-search-form.php:90
1114
  msgid ""
1115
  "Copy this shortcode and paste it into your post, page, or text widget "
1116
  "content:"
1117
  msgstr ""
1118
 
1119
- #: ../admin/partials/new-search-form.php:163
1120
  msgid "Save"
1121
  msgstr ""
1122
 
1123
- #: ../admin/partials/new-search-form.php:173
1124
  msgid "Reset"
1125
  msgstr ""
1126
 
1127
- #: ../admin/partials/new-search-form.php:173
1128
  msgid ""
1129
  "You are about to reset this search form.\n"
1130
  " 'Cancel' to stop, 'OK' to reset."
1131
  msgstr ""
1132
 
1133
- #: ../admin/partials/new-search-form.php:182
1134
- #: ../admin/partials/settings-form.php:87
1135
  msgid "Information"
1136
  msgstr ""
1137
 
1138
- #: ../admin/partials/new-search-form.php:187
1139
- #: ../admin/partials/settings-form.php:92
1140
  msgid "Contact"
1141
  msgstr ""
1142
 
1143
  #: ../includes/class-is-search-form.php:111
1144
- #: ../includes/class-is-search-form.php:223
1145
  msgid "Untitled"
1146
  msgstr ""
1147
 
1148
- #: ../includes/class-is-search-form.php:149
1149
  #, php-format
1150
  msgid ""
1151
  "<code>%1$s</code> property of a <code>IS_Search_Form</code> object is "
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ivory Search\n"
4
+ "POT-Creation-Date: 2018-11-29 20:10+0530\n"
5
+ "PO-Revision-Date: 2018-11-29 20:10+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Ivory Search <admin@ivorysearch.com>\n"
8
  "Language: en_US\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
+ #: ../admin/class-is-admin.php:72
20
  msgid "The changes you made will be lost if you navigate away from this page."
21
  msgstr ""
22
 
23
+ #: ../admin/class-is-admin.php:92 ../admin/class-is-help.php:111
24
+ #: ../admin/partials/search-form.php:188 ../admin/partials/settings-form.php:98
 
25
  msgid "Support"
26
  msgstr ""
27
 
28
+ #: ../admin/class-is-admin.php:114
29
  #, php-format
30
  msgid ""
31
  "To configure <em>Ivory Search plugin</em> please visit its <a href=\"%1$s"
34
  "target=\"_blank\">contact us page</a>."
35
  msgstr ""
36
 
37
+ #: ../admin/class-is-admin.php:160
38
+ msgid "No posts found"
39
+ msgstr ""
40
+
41
+ #: ../admin/class-is-admin.php:258
42
  msgid "Search form created."
43
  msgstr ""
44
 
45
+ #: ../admin/class-is-admin.php:260
46
  msgid "Search form saved."
47
  msgstr ""
48
 
49
+ #: ../admin/class-is-admin.php:262
50
  msgid "Search form deleted."
51
  msgstr ""
52
 
53
+ #: ../admin/class-is-admin.php:264
54
  msgid "Search form reset."
55
  msgstr ""
56
 
57
+ #: ../admin/class-is-admin.php:273
58
  msgid "There was an error saving the search form."
59
  msgstr ""
60
 
61
+ #: ../admin/class-is-admin.php:281
62
  msgid "There was a validation error saving the search form."
63
  msgstr ""
64
 
65
+ #: ../admin/class-is-admin.php:283
66
  #, php-format
67
  msgid ""
68
  "Please make sure you have not selected similar %s fields in the search form "
69
  "Includes and Excludes sections."
70
  msgstr ""
71
 
72
+ #: ../admin/class-is-admin.php:293 ../includes/class-is-widget.php:13
73
  #: ../includes/class-is-widget.php:45
74
  msgid "Ivory Search"
75
  msgstr ""
76
 
77
+ #: ../admin/class-is-admin.php:295 ../admin/class-is-admin.php:333
78
  #: ../includes/class-is-search-form.php:59
79
  msgid "Search Forms"
80
  msgstr ""
81
 
82
+ #: ../admin/class-is-admin.php:298 ../admin/partials/search-form.php:21
83
  msgid "Add New Search Form"
84
  msgstr ""
85
 
86
+ #: ../admin/class-is-admin.php:298 ../admin/class-is-admin.php:340
87
+ #: ../admin/partials/search-form.php:31
88
  msgid "Add New"
89
  msgstr ""
90
 
91
+ #: ../admin/class-is-admin.php:301 ../admin/partials/settings-form.php:20
92
  msgid "Ivory Search Settings"
93
  msgstr ""
94
 
95
+ #: ../admin/class-is-admin.php:301 ../admin/class-is-help.php:64
96
  msgid "Settings"
97
  msgstr ""
98
 
99
+ #: ../admin/class-is-admin.php:346
100
  #, php-format
101
  msgid "Search results for &#8220;%s&#8221;"
102
  msgstr ""
103
 
104
+ #: ../admin/class-is-admin.php:357
105
  msgid "Search Search Forms"
106
  msgstr ""
107
 
108
+ #: ../admin/class-is-admin.php:401
109
  msgid "You are not allowed to edit this item."
110
  msgstr ""
111
 
112
+ #: ../admin/class-is-admin.php:483
113
  msgid "You are not allowed to reset this item."
114
  msgstr ""
115
 
116
+ #: ../admin/class-is-admin.php:517
117
  msgid "You are not allowed to copy this item."
118
  msgstr ""
119
 
120
+ #: ../admin/class-is-admin.php:558
121
  msgid "You are not allowed to delete this item."
122
  msgstr ""
123
 
124
+ #: ../admin/class-is-admin.php:562
125
  msgid "Error in deleting."
126
  msgstr ""
127
 
128
+ #: ../admin/class-is-admin.php:774
129
  msgid "Save Form"
130
  msgstr ""
131
 
132
+ #: ../admin/class-is-admin.php:786
133
  msgid "Upgrade To Access"
134
  msgstr ""
135
 
136
+ #: ../admin/class-is-admin.php:793
137
  msgid "Install Pro Version To Access"
138
  msgstr ""
139
 
140
+ #: ../admin/class-is-editor.php:99
141
  msgid "Configure the below options to make specific content searchable."
142
  msgstr ""
143
 
144
+ #: ../admin/class-is-editor.php:107
145
  msgid "Post Types"
146
  msgstr ""
147
 
148
+ #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
149
+ #: ../admin/class-is-editor.php:235 ../admin/class-is-editor.php:313
150
+ #: ../admin/class-is-editor.php:349 ../admin/class-is-editor.php:391
151
+ #: ../admin/class-is-editor.php:444 ../admin/class-is-editor.php:479
152
+ #: ../admin/class-is-editor.php:530 ../admin/class-is-editor.php:583
153
+ #: ../admin/class-is-editor.php:609 ../admin/class-is-editor.php:675
154
+ #: ../admin/class-is-editor.php:739 ../admin/class-is-editor.php:785
155
+ #: ../admin/class-is-editor.php:823 ../admin/class-is-editor.php:855
156
+ #: ../admin/class-is-editor.php:901 ../admin/class-is-editor.php:946
157
+ #: ../admin/class-is-editor.php:1008 ../admin/class-is-editor.php:1027
158
+ #: ../admin/class-is-editor.php:1063 ../admin/class-is-editor.php:1088
159
+ #: ../admin/class-is-editor.php:1106 ../admin/class-is-editor.php:1123
160
+ #: ../admin/class-is-editor.php:1146 ../admin/class-is-editor.php:1161
161
+ #: ../admin/class-is-editor.php:1176 ../admin/class-is-editor.php:1191
162
+ #: ../admin/class-is-editor.php:1206 ../admin/class-is-settings-fields.php:117
163
  msgid "Expand All"
164
  msgstr ""
165
 
166
+ #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
167
+ #: ../admin/class-is-editor.php:235 ../admin/class-is-editor.php:313
168
+ #: ../admin/class-is-editor.php:349 ../admin/class-is-editor.php:391
169
+ #: ../admin/class-is-editor.php:444 ../admin/class-is-editor.php:479
170
+ #: ../admin/class-is-editor.php:530 ../admin/class-is-editor.php:583
171
+ #: ../admin/class-is-editor.php:609 ../admin/class-is-editor.php:675
172
+ #: ../admin/class-is-editor.php:739 ../admin/class-is-editor.php:785
173
+ #: ../admin/class-is-editor.php:823 ../admin/class-is-editor.php:855
174
+ #: ../admin/class-is-editor.php:901 ../admin/class-is-editor.php:946
175
+ #: ../admin/class-is-editor.php:1008 ../admin/class-is-editor.php:1027
176
+ #: ../admin/class-is-editor.php:1063 ../admin/class-is-editor.php:1088
177
+ #: ../admin/class-is-editor.php:1106 ../admin/class-is-editor.php:1123
178
+ #: ../admin/class-is-editor.php:1146 ../admin/class-is-editor.php:1161
179
+ #: ../admin/class-is-editor.php:1176 ../admin/class-is-editor.php:1191
180
+ #: ../admin/class-is-editor.php:1206 ../admin/class-is-settings-fields.php:117
181
  msgid "Collapse All"
182
  msgstr ""
183
 
184
+ #: ../admin/class-is-editor.php:113
185
  msgid "Select post types that you want to make searchable."
186
  msgstr ""
187
 
188
+ #: ../admin/class-is-editor.php:142
189
  msgid "Search in post title."
190
  msgstr ""
191
 
192
+ #: ../admin/class-is-editor.php:148
193
  msgid "Search in post content."
194
  msgstr ""
195
 
196
+ #: ../admin/class-is-editor.php:154
197
  msgid "Search in post excerpt."
198
  msgstr ""
199
 
200
+ #: ../admin/class-is-editor.php:160
201
  msgid "None"
202
  msgstr ""
203
 
204
+ #: ../admin/class-is-editor.php:164
205
  msgid ""
206
  "Display this post type in the search query URL and restrict search to it."
207
  msgstr ""
208
 
209
+ #: ../admin/class-is-editor.php:169
210
  msgid "No post types registered on your site."
211
  msgstr ""
212
 
213
+ #: ../admin/class-is-editor.php:176 ../admin/class-is-editor.php:674
214
  msgid "Posts"
215
  msgstr ""
216
 
217
+ #: ../admin/class-is-editor.php:180 ../admin/class-is-editor.php:678
218
  msgid "The posts and pages of searchable post types display here."
219
  msgstr ""
220
 
221
+ #: ../admin/class-is-editor.php:181
222
  msgid ""
223
  "Select the specific posts you wish to search or do not select any posts to "
224
  "make all posts searchable."
225
  msgstr ""
226
 
227
+ #: ../admin/class-is-editor.php:182 ../admin/class-is-editor.php:680
228
  msgid "Selected post types display in BOLD."
229
  msgstr ""
230
 
231
+ #: ../admin/class-is-editor.php:216 ../admin/class-is-editor.php:267
232
+ #: ../admin/class-is-editor.php:326 ../admin/class-is-editor.php:623
233
+ #: ../admin/class-is-editor.php:717 ../admin/class-is-editor.php:763
234
+ #: ../admin/class-is-editor.php:799 ../admin/class-is-editor.php:959
235
  msgid "Search.."
236
  msgstr ""
237
 
238
+ #: ../admin/class-is-editor.php:220 ../admin/class-is-editor.php:721
239
+ msgid "Load All"
240
+ msgstr ""
241
+
242
+ #: ../admin/class-is-editor.php:229 ../admin/class-is-editor.php:276
243
+ #: ../admin/class-is-editor.php:333 ../admin/class-is-editor.php:631
244
+ #: ../admin/class-is-editor.php:730 ../admin/class-is-editor.php:772
245
+ #: ../admin/class-is-editor.php:807 ../admin/class-is-editor.php:967
246
+ msgid ""
247
+ "Press CTRL key & Left Mouse button to select multiple terms or deselect them."
248
  msgstr ""
249
 
250
+ #: ../admin/class-is-editor.php:234 ../admin/class-is-editor.php:738
251
  msgid "Taxonomy Terms"
252
  msgstr ""
253
 
254
+ #: ../admin/class-is-editor.php:239
255
  msgid ""
256
  "Taxonomy terms that have no posts will not be visible below. Add a post with "
257
  "the taxonomy you want for it to be configurable."
258
  msgstr ""
259
 
260
+ #: ../admin/class-is-editor.php:240
261
  msgid ""
262
  "Terms selected here will restrict the search to posts that have the selected "
263
  "terms."
264
  msgstr ""
265
 
266
+ #: ../admin/class-is-editor.php:241
267
  msgid "Taxonomy terms selected display in BOLD"
268
  msgstr ""
269
 
270
+ #: ../admin/class-is-editor.php:286
271
  msgid "AND - Search posts having all the above selected terms."
272
  msgstr ""
273
 
274
+ #: ../admin/class-is-editor.php:288
275
  msgid "OR - Search posts having any one of the above selected terms."
276
  msgstr ""
277
 
278
+ #: ../admin/class-is-editor.php:294
279
  msgid "Search in taxonomy terms title."
280
  msgstr ""
281
 
282
+ #: ../admin/class-is-editor.php:300
283
  msgid "Search in taxonomy terms description."
284
  msgstr ""
285
 
286
+ #: ../admin/class-is-editor.php:305 ../admin/class-is-editor.php:777
287
  msgid "No taxonomies registered for slected post types."
288
  msgstr ""
289
 
290
+ #: ../admin/class-is-editor.php:312 ../admin/class-is-editor.php:784
291
  msgid "Custom Fields"
292
  msgstr ""
293
 
294
+ #: ../admin/class-is-editor.php:316
295
  msgid "Select custom fields to make their values searchable."
296
  msgstr ""
297
 
298
+ #: ../admin/class-is-editor.php:337
299
  msgid "Selected Custom Fields :"
300
  msgstr ""
301
 
302
+ #: ../admin/class-is-editor.php:348 ../admin/class-is-editor.php:822
303
  msgid "WooCommerce"
304
  msgstr ""
305
 
306
+ #: ../admin/class-is-editor.php:352
307
  msgid "Configure WooCommerce products search options here."
308
  msgstr ""
309
 
310
+ #: ../admin/class-is-editor.php:368
311
  msgid "Search in WooCommerce products SKU."
312
  msgstr ""
313
 
314
+ #: ../admin/class-is-editor.php:374
315
+ msgid "Search in WooCommerce products variation."
316
+ msgstr ""
317
+
318
+ #: ../admin/class-is-editor.php:380 ../admin/class-is-editor.php:844
319
  msgid "WooCommerce product post type is not included in search."
320
  msgstr ""
321
 
322
+ #: ../admin/class-is-editor.php:383 ../admin/class-is-editor.php:847
323
  msgid "Activate WooCommerce plugin to use this option."
324
  msgstr ""
325
 
326
+ #: ../admin/class-is-editor.php:390 ../admin/class-is-editor.php:854
327
  msgid "Authors"
328
  msgstr ""
329
 
330
+ #: ../admin/class-is-editor.php:394
331
  msgid "Make specific author posts searchable."
332
  msgstr ""
333
 
334
+ #: ../admin/class-is-editor.php:427
335
  msgid ""
336
  "Search has been already limited by excluding specific authors posts in the "
337
  "Excludes section."
338
  msgstr ""
339
 
340
+ #: ../admin/class-is-editor.php:435
341
  msgid ""
342
  "Search in author Display name and display the posts created by that author."
343
  msgstr ""
344
 
345
+ #: ../admin/class-is-editor.php:443 ../admin/class-is-editor.php:900
346
  msgid "Post Status"
347
  msgstr ""
348
 
349
+ #: ../admin/class-is-editor.php:447
350
  msgid "Configure options to search posts having specific post statuses."
351
  msgstr ""
352
 
353
+ #: ../admin/class-is-editor.php:471
354
  msgid ""
355
  "Search has been already limited by excluding specific posts statuses from "
356
  "search in the Excludes section."
357
  msgstr ""
358
 
359
+ #: ../admin/class-is-editor.php:478
360
  msgid "Comments"
361
  msgstr ""
362
 
363
+ #: ../admin/class-is-editor.php:483
364
  msgid "Make posts searchable that have a specific number of comments."
365
  msgstr ""
366
 
367
+ #: ../admin/class-is-editor.php:499
368
  msgid "The search operator to compare comments count."
369
  msgstr ""
370
 
371
+ #: ../admin/class-is-editor.php:506
372
  msgid "NA"
373
  msgstr ""
374
 
375
+ #: ../admin/class-is-editor.php:510
376
  msgid "The amount of comments your posts has to have."
377
  msgstr ""
378
 
379
+ #: ../admin/class-is-editor.php:520
380
  msgid "Search in approved comments content."
381
  msgstr ""
382
 
383
+ #: ../admin/class-is-editor.php:529 ../admin/class-is-list-table.php:34
384
  msgid "Date"
385
  msgstr ""
386
 
387
+ #: ../admin/class-is-editor.php:533
388
  msgid "Make posts searchable that were created in the specified date range."
389
  msgstr ""
390
 
391
+ #: ../admin/class-is-editor.php:546
392
  msgid "Day"
393
  msgstr ""
394
 
395
+ #: ../admin/class-is-editor.php:557
396
  msgid "Month"
397
  msgstr ""
398
 
399
+ #: ../admin/class-is-editor.php:568
400
  msgid "Year"
401
  msgstr ""
402
 
403
+ #: ../admin/class-is-editor.php:582
404
  msgid "Password"
405
  msgstr ""
406
 
407
+ #: ../admin/class-is-editor.php:586
408
  msgid "Configure options to search posts with or without password."
409
  msgstr ""
410
 
411
+ #: ../admin/class-is-editor.php:591
412
  msgid "Search all posts with and without passwords."
413
  msgstr ""
414
 
415
+ #: ../admin/class-is-editor.php:593
416
  msgid "Search only posts with passwords."
417
  msgstr ""
418
 
419
+ #: ../admin/class-is-editor.php:595
420
  msgid "Search only posts without passwords."
421
  msgstr ""
422
 
423
+ #: ../admin/class-is-editor.php:608 ../admin/class-is-editor.php:945
424
  msgid "File Types"
425
  msgstr ""
426
 
427
+ #: ../admin/class-is-editor.php:612
428
  msgid ""
429
  "Configure searching to search based on posts that have a specific MIME type "
430
  "or files that have specific media attachments"
431
  msgstr ""
432
 
433
+ #: ../admin/class-is-editor.php:634
434
  msgid ""
435
  "Search has been already limited by excluding specific File type in the "
436
  "Excludes section."
437
  msgstr ""
438
 
439
+ #: ../admin/class-is-editor.php:637 ../admin/class-is-editor.php:973
440
  msgid "Attachment post type is not included in search."
441
  msgstr ""
442
 
443
+ #: ../admin/class-is-editor.php:641
444
  msgid "Selected File Types :"
445
  msgstr ""
446
 
447
+ #: ../admin/class-is-editor.php:667
448
  msgid "Configure the options to exclude specific content from search."
449
  msgstr ""
450
 
451
+ #: ../admin/class-is-editor.php:679
452
  msgid "Select the posts you wish to exclude from the search."
453
  msgstr ""
454
 
455
+ #: ../admin/class-is-editor.php:732
456
  msgid ""
457
  "Search is already limited to specific posts selected in Includes section."
458
  msgstr ""
459
 
460
+ #: ../admin/class-is-editor.php:742
461
  msgid ""
462
  "The taxonomies and terms attached to searchable post types display here."
463
  msgstr ""
464
 
465
+ #: ../admin/class-is-editor.php:743
466
  msgid "Exclude posts from search results that have specific terms"
467
  msgstr ""
468
 
469
+ #: ../admin/class-is-editor.php:744
470
  msgid "Selected terms taxonomy title display in BOLD."
471
  msgstr ""
472
 
473
+ #: ../admin/class-is-editor.php:788
474
  msgid "Exclude posts from the search having selected custom fields."
475
  msgstr ""
476
 
477
+ #: ../admin/class-is-editor.php:811
478
  msgid "Excluded Custom Fields :"
479
  msgstr ""
480
 
481
+ #: ../admin/class-is-editor.php:826
482
  msgid "Exclude specific WooCommerce products from the search."
483
  msgstr ""
484
 
485
+ #: ../admin/class-is-editor.php:841
486
  msgid "Exclude 'out of stock' WooCommerce products."
487
  msgstr ""
488
 
489
+ #: ../admin/class-is-editor.php:858
490
  msgid "Exclude posts from the search created by slected authors."
491
  msgstr ""
492
 
493
+ #: ../admin/class-is-editor.php:893
494
  msgid ""
495
  "Search has been already limited to posts created by specific authors in the "
496
  "Includes section."
497
  msgstr ""
498
 
499
+ #: ../admin/class-is-editor.php:904
500
  msgid "Exclude posts from the search having selected post statuses."
501
  msgstr ""
502
 
503
+ #: ../admin/class-is-editor.php:927
504
  msgid ""
505
  "Search has been already limited to posts statuses set in the Includes "
506
  "section."
507
  msgstr ""
508
 
509
+ #: ../admin/class-is-editor.php:935
510
  msgid "Exclude sticky posts from search."
511
  msgstr ""
512
 
513
+ #: ../admin/class-is-editor.php:949
514
  msgid ""
515
  "Exclude posts specially media attachment posts from the search having "
516
  "selected file types."
517
  msgstr ""
518
 
519
+ #: ../admin/class-is-editor.php:970
520
  msgid ""
521
  "Search has been already limited to specific File type set in the Includes "
522
  "section."
523
  msgstr ""
524
 
525
+ #: ../admin/class-is-editor.php:977
526
  msgid "Excluded File Types :"
527
  msgstr ""
528
 
529
+ #: ../admin/class-is-editor.php:1000
530
  msgid "Configure the options here to control search of this search form."
531
  msgstr ""
532
 
533
+ #: ../admin/class-is-editor.php:1007
534
  msgid "Posts Per Page"
535
  msgstr ""
536
 
537
+ #: ../admin/class-is-editor.php:1017
538
  msgid "Number of posts to display on search results page."
539
  msgstr ""
540
 
541
+ #: ../admin/class-is-editor.php:1026
542
  msgid "Order By"
543
  msgstr ""
544
 
545
+ #: ../admin/class-is-editor.php:1062
546
  msgid "Highlight Terms"
547
  msgstr ""
548
 
549
+ #: ../admin/class-is-editor.php:1072
550
  msgid "Highlight searched terms on search results page."
551
  msgstr ""
552
 
553
+ #: ../admin/class-is-editor.php:1078
554
  msgid "Set highlight color."
555
  msgstr ""
556
 
557
+ #: ../admin/class-is-editor.php:1087
558
  msgid "Search Terms Relation"
559
  msgstr ""
560
 
561
+ #: ../admin/class-is-editor.php:1094
562
  msgid "OR - Display content having any of the searched terms."
563
  msgstr ""
564
 
565
+ #: ../admin/class-is-editor.php:1096
566
  msgid "AND - Display content having all the searched terms."
567
  msgstr ""
568
 
569
+ #: ../admin/class-is-editor.php:1105
570
  msgid "Fuzzy Matching"
571
  msgstr ""
572
 
573
+ #: ../admin/class-is-editor.php:1111
574
  msgid "Whole - Search posts that include the whole search term."
575
  msgstr ""
576
 
577
+ #: ../admin/class-is-editor.php:1113
578
  msgid ""
579
  "Partial - Also search words in the posts that begins or ends with the search "
580
  "term."
581
  msgstr ""
582
 
583
+ #: ../admin/class-is-editor.php:1122
584
  msgid "Keyword Stemming"
585
  msgstr ""
586
 
587
+ #: ../admin/class-is-editor.php:1126
588
  msgid "Searches the base word of a searched keyword"
589
  msgstr ""
590
 
591
+ #: ../admin/class-is-editor.php:1127
592
  msgid ""
593
  "For Example: If you search \"doing\" then it also searches base word of "
594
  "\"doing\" that is \"do\" in the specified post types."
595
  msgstr ""
596
 
597
+ #: ../admin/class-is-editor.php:1128
598
  msgid ""
599
  "If you want to search whole exact searched term then do not use this options "
600
  "and in this case it is not recommended to use when Fuzzy Matching option is "
601
  "set to Whole."
602
  msgstr ""
603
 
604
+ #: ../admin/class-is-editor.php:1134
605
  msgid "Also search base word of searched keyword."
606
  msgstr ""
607
 
608
+ #: ../admin/class-is-editor.php:1136
609
  msgid "Not recommended to use when Fuzzy Matching option is set to Whole."
610
  msgstr ""
611
 
612
+ #: ../admin/class-is-editor.php:1145
613
  msgid "Sticky Posts"
614
  msgstr ""
615
 
616
+ #: ../admin/class-is-editor.php:1151
617
  msgid "Move sticky posts to the start of the search results page."
618
  msgstr ""
619
 
620
+ #: ../admin/class-is-editor.php:1160
621
  msgid "Empty Search"
622
  msgstr ""
623
 
624
+ #: ../admin/class-is-editor.php:1166
625
  msgid "Display an error for empty search query."
626
  msgstr ""
627
 
628
+ #: ../admin/class-is-editor.php:1175
629
  msgid "Respect exclude_from_search"
630
  msgstr ""
631
 
632
+ #: ../admin/class-is-editor.php:1181
633
  msgid "Do not search post types which are excluded from search."
634
  msgstr ""
635
 
636
+ #: ../admin/class-is-editor.php:1190
637
  msgid "Demo"
638
  msgstr ""
639
 
640
+ #: ../admin/class-is-editor.php:1196
641
  msgid "Display search form only for site administrator."
642
  msgstr ""
643
 
644
+ #: ../admin/class-is-editor.php:1205 ../admin/class-is-settings-fields.php:162
645
  msgid "Disable"
646
  msgstr ""
647
 
648
+ #: ../admin/class-is-editor.php:1211
649
  msgid "Disable this search form."
650
  msgstr ""
651
 
658
  msgid "Available Actions"
659
  msgstr ""
660
 
661
+ #: ../admin/class-is-help.php:35 ../admin/partials/search-form.php:110
662
  msgid "Includes"
663
  msgstr ""
664
 
665
+ #: ../admin/class-is-help.php:40 ../admin/partials/search-form.php:114
666
  msgid "Excludes"
667
  msgstr ""
668
 
669
+ #: ../admin/class-is-help.php:45 ../admin/partials/search-form.php:118
670
  msgid "Options"
671
  msgstr ""
672
 
789
  msgid "For more information:"
790
  msgstr ""
791
 
792
+ #: ../admin/class-is-help.php:110 ../admin/partials/search-form.php:187
793
+ #: ../admin/partials/settings-form.php:97
794
  msgid "Docs"
795
  msgstr ""
796
 
797
+ #: ../admin/class-is-help.php:112 ../admin/partials/search-form.php:190
798
+ #: ../admin/partials/settings-form.php:100
799
  msgid "Give us a rating"
800
  msgstr ""
801
 
812
  msgstr ""
813
 
814
  #: ../admin/class-is-list-table.php:111 ../admin/class-is-list-table.php:174
815
+ #: ../admin/partials/search-form.php:156
816
  msgid "Delete"
817
  msgstr ""
818
 
822
  msgstr ""
823
 
824
  #: ../admin/class-is-list-table.php:150
825
+ #: ../admin/class-is-settings-fields.php:250
826
+ #: ../admin/class-is-settings-fields.php:381
827
+ #: ../admin/class-is-settings-fields.php:413 ../includes/class-is-widget.php:69
828
  msgid "Edit"
829
  msgstr ""
830
 
831
+ #: ../admin/class-is-list-table.php:160 ../admin/partials/search-form.php:171
 
832
  msgid "Duplicate"
833
  msgstr ""
834
 
835
+ #: ../admin/class-is-list-table.php:173 ../admin/partials/search-form.php:156
 
836
  msgid ""
837
  "You are about to delete this search form.\n"
838
  " 'Cancel' to stop, 'OK' to delete."
851
  msgid "d/m/Y"
852
  msgstr ""
853
 
854
+ #: ../admin/class-is-settings-fields.php:141
855
  msgid "Select Menu"
856
  msgstr ""
857
 
858
+ #: ../admin/class-is-settings-fields.php:142
859
  #: ../includes/class-is-search-form.php:60
860
  msgid "Search Form"
861
  msgstr ""
862
 
863
+ #: ../admin/class-is-settings-fields.php:143
864
  msgid "Form Style"
865
  msgstr ""
866
 
867
+ #: ../admin/class-is-settings-fields.php:144
868
  msgid "Menu Title"
869
  msgstr ""
870
 
871
+ #: ../admin/class-is-settings-fields.php:145
872
  msgid "Menu Classes"
873
  msgstr ""
874
 
875
+ #: ../admin/class-is-settings-fields.php:146
876
  msgid "Google CSE"
877
  msgstr ""
878
 
879
+ #: ../admin/class-is-settings-fields.php:147
880
  msgid "Close Icon"
881
  msgstr ""
882
 
883
+ #: ../admin/class-is-settings-fields.php:155
884
  msgid "Header"
885
  msgstr ""
886
 
887
+ #: ../admin/class-is-settings-fields.php:156
888
  msgid "Footer"
889
  msgstr ""
890
 
891
+ #: ../admin/class-is-settings-fields.php:157
892
  msgid "Mobile Display"
893
  msgstr ""
894
 
895
+ #: ../admin/class-is-settings-fields.php:158
896
  msgid "Custom CSS"
897
  msgstr ""
898
 
899
+ #: ../admin/class-is-settings-fields.php:159
900
  msgid "Stopwords"
901
  msgstr ""
902
 
903
+ #: ../admin/class-is-settings-fields.php:160
904
  msgid "Synonyms"
905
  msgstr ""
906
 
907
+ #: ../admin/class-is-settings-fields.php:161
908
  msgid "Not load files"
909
  msgstr ""
910
 
911
+ #: ../admin/class-is-settings-fields.php:163
912
  msgid "Default Search"
913
  msgstr ""
914
 
915
+ #: ../admin/class-is-settings-fields.php:173
916
  msgid "Use below options to display search in menu and configure it."
917
  msgstr ""
918
 
919
+ #: ../admin/class-is-settings-fields.php:180
920
  msgid "Use below options to make sitewide changes in search."
921
  msgstr ""
922
 
923
+ #: ../admin/class-is-settings-fields.php:188
924
  msgid "Select menu here where you want to display search form."
925
  msgstr ""
926
 
927
+ #: ../admin/class-is-settings-fields.php:208
928
  msgid "No navigation menu registered on your site."
929
  msgstr ""
930
 
931
+ #: ../admin/class-is-settings-fields.php:218
932
  msgid ""
933
  "Select search form that will control search performed using menu search."
934
  msgstr ""
935
 
936
+ #: ../admin/class-is-settings-fields.php:252
937
+ #: ../admin/class-is-settings-fields.php:383
938
+ #: ../admin/class-is-settings-fields.php:415 ../includes/class-is-widget.php:71
 
 
 
 
939
  msgid "Create New"
940
  msgstr ""
941
 
942
+ #: ../admin/class-is-settings-fields.php:264
943
  msgid "Select form style for the search form displayed in the menu."
944
  msgstr ""
945
 
946
+ #: ../admin/class-is-settings-fields.php:268
947
  msgid "Default"
948
  msgstr ""
949
 
950
+ #: ../admin/class-is-settings-fields.php:269
951
  msgid "Dropdown"
952
  msgstr ""
953
 
954
+ #: ../admin/class-is-settings-fields.php:270
955
  msgid "Sliding"
956
  msgstr ""
957
 
958
+ #: ../admin/class-is-settings-fields.php:271
959
  msgid "Full Width"
960
  msgstr ""
961
 
962
+ #: ../admin/class-is-settings-fields.php:272
963
  msgid "Popup"
964
  msgstr ""
965
 
966
+ #: ../admin/class-is-settings-fields.php:305
967
  msgid ""
968
  "Displays set menu title text in place of search icon displays in navigation "
969
  "menu."
970
  msgstr ""
971
 
972
+ #: ../admin/class-is-settings-fields.php:317
973
  msgid "Adds set classes in the search navigation menu item."
974
  msgstr ""
975
 
976
+ #: ../admin/class-is-settings-fields.php:322
977
  msgid "Add classes seperated by space."
978
  msgstr ""
979
 
980
+ #: ../admin/class-is-settings-fields.php:330
981
  msgid ""
982
  "Add only Google Custom Search( CSE ) search form code in the above text box "
983
  "that will replace default search form."
984
  msgstr ""
985
 
986
+ #: ../admin/class-is-settings-fields.php:353
987
+ msgid "Display Search Form Close Icon"
 
 
 
 
 
 
988
  msgstr ""
989
 
990
+ #: ../admin/class-is-settings-fields.php:362
991
+ msgid "Displays search form in site header using wp_head hook."
 
 
992
  msgstr ""
993
 
994
+ #: ../admin/class-is-settings-fields.php:374
995
+ #: ../admin/class-is-settings-fields.php:406 ../includes/class-is-widget.php:62
996
+ msgid "none"
997
  msgstr ""
998
 
999
+ #: ../admin/class-is-settings-fields.php:394
1000
+ msgid "Displays search form in site footer using wp_footer hook."
1001
  msgstr ""
1002
 
1003
+ #: ../admin/class-is-settings-fields.php:425
1004
  msgid ""
1005
+ "Note: Does not work with caching as this functionality uses the WordPress "
1006
+ "wp_is_mobile function."
 
 
 
 
1007
  msgstr ""
1008
 
1009
+ #: ../admin/class-is-settings-fields.php:438
1010
+ msgid "Display search form in header on mobile devices"
 
1011
  msgstr ""
1012
 
1013
+ #: ../admin/class-is-settings-fields.php:441
1014
+ msgid ""
1015
+ "Use this option to display search form in your site header and hide the "
1016
+ "search form on desktop using CSS code."
1017
  msgstr ""
1018
 
1019
+ #: ../admin/class-is-settings-fields.php:454
1020
+ msgid "This site uses cache"
1021
  msgstr ""
1022
 
1023
+ #: ../admin/class-is-settings-fields.php:462
1024
  msgid "Add custom css code if any to style search form."
1025
  msgstr ""
1026
 
1027
+ #: ../admin/class-is-settings-fields.php:475
1028
  msgid ""
1029
  "Enter words here to add them to the list of stopwords. The stopwords will "
1030
  "not be searched."
1031
  msgstr ""
1032
 
1033
+ #: ../admin/class-is-settings-fields.php:476
1034
  msgid "This works with search form."
1035
  msgstr ""
1036
 
1037
+ #: ../admin/class-is-settings-fields.php:480
1038
  msgid "Please separate words with commas."
1039
  msgstr ""
1040
 
1041
+ #: ../admin/class-is-settings-fields.php:488
1042
  msgid "Add synonyms here to make the searches find better results."
1043
  msgstr ""
1044
 
1045
+ #: ../admin/class-is-settings-fields.php:489
1046
  msgid ""
1047
  "If you add bird = crow to the list of synonyms, searches for bird "
1048
  "automatically become a search for bird crow and will thus match to posts "
1049
  "that include either bird or crow."
1050
  msgstr ""
1051
 
1052
+ #: ../admin/class-is-settings-fields.php:490
1053
  msgid ""
1054
  "This only works for search forms and in OR searches. In AND searches the "
1055
  "synonyms only restrict the search, as now the search only finds posts that "
1056
  "contain both bird and crow."
1057
  msgstr ""
1058
 
1059
+ #: ../admin/class-is-settings-fields.php:495
1060
  msgid ""
1061
  "The format here is key = value;. Please separate every synonyms key = value "
1062
  "pairs with semicolon."
1063
  msgstr ""
1064
 
1065
+ #: ../admin/class-is-settings-fields.php:505
1066
  msgid "Disable synonyms for the search forms having AND search terms relation."
1067
  msgstr ""
1068
 
1069
+ #: ../admin/class-is-settings-fields.php:514
1070
  msgid "Configure to disable loading plugin CSS and JavaScript files."
1071
  msgstr ""
1072
 
1073
+ #: ../admin/class-is-settings-fields.php:518
1074
  msgid "Plugin CSS File"
1075
  msgstr ""
1076
 
1077
+ #: ../admin/class-is-settings-fields.php:519
1078
  msgid "Plugin JavaScript File"
1079
  msgstr ""
1080
 
1081
+ #: ../admin/class-is-settings-fields.php:539
1082
  msgid ""
1083
  "If checked, you have to add following plugin file code into your child theme "
1084
  "CSS file."
1085
  msgstr ""
1086
 
1087
+ #: ../admin/class-is-settings-fields.php:543
1088
  msgid ""
1089
  "If checked, you have to add following plugin files code into your child "
1090
  "theme JavaScript file."
1091
  msgstr ""
1092
 
1093
+ #: ../admin/class-is-settings-fields.php:558
1094
+ msgid "Disable search functionality on whole site."
1095
+ msgstr ""
1096
+
1097
+ #: ../admin/class-is-settings-fields.php:569
1098
+ msgid ""
1099
+ "Do not use default search form to control WordPress default search "
1100
+ "functionality."
1101
+ msgstr ""
1102
+
1103
+ #: ../admin/partials/search-form.php:23
1104
  msgid "Edit Search Form"
1105
  msgstr ""
1106
 
1107
+ #: ../admin/partials/search-form.php:68
1108
  msgid "Enter search form name"
1109
  msgstr ""
1110
 
1111
+ #: ../admin/partials/search-form.php:80
1112
  msgid "Enter search form name."
1113
  msgstr ""
1114
 
1115
+ #: ../admin/partials/search-form.php:80
1116
  msgid "Editing title of Default Search Form is prohibited."
1117
  msgstr ""
1118
 
1119
+ #: ../admin/partials/search-form.php:92
1120
  msgid ""
1121
  "Copy this shortcode and paste it into your post, page, or text widget "
1122
  "content:"
1123
  msgstr ""
1124
 
1125
+ #: ../admin/partials/search-form.php:165
1126
  msgid "Save"
1127
  msgstr ""
1128
 
1129
+ #: ../admin/partials/search-form.php:175
1130
  msgid "Reset"
1131
  msgstr ""
1132
 
1133
+ #: ../admin/partials/search-form.php:175
1134
  msgid ""
1135
  "You are about to reset this search form.\n"
1136
  " 'Cancel' to stop, 'OK' to reset."
1137
  msgstr ""
1138
 
1139
+ #: ../admin/partials/search-form.php:184 ../admin/partials/settings-form.php:94
 
1140
  msgid "Information"
1141
  msgstr ""
1142
 
1143
+ #: ../admin/partials/search-form.php:189 ../admin/partials/settings-form.php:99
 
1144
  msgid "Contact"
1145
  msgstr ""
1146
 
1147
  #: ../includes/class-is-search-form.php:111
1148
+ #: ../includes/class-is-search-form.php:207
1149
  msgid "Untitled"
1150
  msgstr ""
1151
 
1152
+ #: ../includes/class-is-search-form.php:133
1153
  #, php-format
1154
  msgid ""
1155
  "<code>%1$s</code> property of a <code>IS_Search_Form</code> object is "
public/class-is-public.php CHANGED
@@ -35,8 +35,7 @@ class IS_Public
35
  if ( null !== $is ) {
36
  $this->opt = $is->opt;
37
  } else {
38
- $old_opt = (array) get_option( 'add_search_to_menu' );
39
- $this->opt = array_merge( $old_opt, (array) $new_opt );
40
  }
41
 
42
  }
@@ -489,7 +488,8 @@ class IS_Public
489
  case 'post_type':
490
 
491
  if ( !isset( $q['post_type'] ) || NULL == $q['post_type'] ) {
492
- $query->set( $inc_key, array_values( $inc_val ) );
 
493
  } else {
494
  $query->set( $inc_key, $q['post_type'] );
495
  }
35
  if ( null !== $is ) {
36
  $this->opt = $is->opt;
37
  } else {
38
+ $this->opt = Ivory_Search::load_options();
 
39
  }
40
 
41
  }
488
  case 'post_type':
489
 
490
  if ( !isset( $q['post_type'] ) || NULL == $q['post_type'] ) {
491
+ $pt_val = array_values( $inc_val );
492
+ $query->set( $inc_key, $pt_val );
493
  } else {
494
  $query->set( $inc_key, $q['post_type'] );
495
  }
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: ivorysearch, vinod dalvi
3
  Donate link: https://ivorysearch.com/pricing/
4
  Tags: search, search menu, woocommerce search, search plugin, search shortcode, search widget, exclude from search, custom search, search by post type, search by category, relevant search, search forms
5
  Requires at least: 3.9
6
- Tested up to: 4.9
7
  Requires PHP: 5.2.4
8
- Stable tag: 4.1.3
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -177,6 +177,11 @@ Yes we do. We try our best to help free users with customisation requests and we
177
 
178
  == Changelog ==
179
 
 
 
 
 
 
180
  = 4.1.3 =
181
  * Developed option to search specific posts, pages or custom post types.
182
 
@@ -234,4 +239,4 @@ Yes we do. We try our best to help free users with customisation requests and we
234
  * This is a major update.
235
  * Renamed plugin from "Add Search To Menu" to "Ivory Search".
236
  * Changed old settings page from Settings -> Add Search To Menu to Ivory Search -> Settings
237
- * Developed lot of options to enhance search functionality.
3
  Donate link: https://ivorysearch.com/pricing/
4
  Tags: search, search menu, woocommerce search, search plugin, search shortcode, search widget, exclude from search, custom search, search by post type, search by category, relevant search, search forms
5
  Requires at least: 3.9
6
+ Tested up to: 5.0
7
  Requires PHP: 5.2.4
8
+ Stable tag: 4.1.4
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
177
 
178
  == Changelog ==
179
 
180
+ = 4.1.4 =
181
+ * Searches in WooCommerce products variation.
182
+ * Fixed - Firefox browser dropdown select issue
183
+ * Optimized plugin admin options.
184
+
185
  = 4.1.3 =
186
  * Developed option to search specific posts, pages or custom post types.
187
 
239
  * This is a major update.
240
  * Renamed plugin from "Add Search To Menu" to "Ivory Search".
241
  * Changed old settings page from Settings -> Add Search To Menu to Ivory Search -> Settings
242
+ * Developed lot of options to enhance search functionality.