Ivory Search – WordPress Search Plugin - Version 4.2

Version Description

  • Enhanced plugin admin settings user interface.
  • Developed functionality to search posts and pages along with media.
Download this release

Release Info

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

Code changes from version 4.1.6 to 4.2

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.6
7
  * Author: Ivory Search
8
  * Author URI: https://ivorysearch.com/
9
  * License: GPL2+
@@ -11,9 +11,8 @@
11
  * Domain Path: /languages
12
  * Text Domain: ivory-search
13
  *
14
- * @fs_premium_only /includes/class-is-stemmer.php
15
  *
16
- * WC tested up to: 3.5.3
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
@@ -103,7 +102,7 @@ final class Ivory_Search {
103
  * Defines Ivory Search Constants.
104
  */
105
  private function define_constants() {
106
- define( 'IS_VERSION', '4.1.6' );
107
  define( 'IS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
108
  define( 'IS_PLUGIN_FILE', __FILE__ );
109
 
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.2
7
  * Author: Ivory Search
8
  * Author URI: https://ivorysearch.com/
9
  * License: GPL2+
11
  * Domain Path: /languages
12
  * Text Domain: ivory-search
13
  *
 
14
  *
15
+ * WC tested up to: 3.5.4
16
  *
17
  * Ivory Search is free software: you can redistribute it and/or modify
18
  * it under the terms of the GNU General Public License as published by
102
  * Defines Ivory Search Constants.
103
  */
104
  private function define_constants() {
105
+ define( 'IS_VERSION', '4.2' );
106
  define( 'IS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
107
  define( 'IS_PLUGIN_FILE', __FILE__ );
108
 
admin/class-is-admin.php CHANGED
@@ -76,10 +76,93 @@ class IS_Admin
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' );
81
  }
82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  /**
84
  * Adds a link to the settings page in the plugins list.
85
  *
@@ -99,6 +182,21 @@ class IS_Admin
99
  return $links;
100
  }
101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  /**
103
  * Displays plugin configuration notice in admin area.
104
  */
@@ -114,7 +212,7 @@ class IS_Admin
114
  if ( !isset( $this->opt['is_notices']['config'] ) || !$this->opt['is_notices']['config'] ) {
115
  $url = ( is_network_admin() ? network_site_url() : site_url( '/' ) );
116
  echo '<div class="notice ivory-search"><p>' . sprintf(
117
- __( 'To configure <em>Ivory Search plugin</em> please visit its <a href="%1$s">configuration page</a> and to get plugin support contact us on <a href="%2$s" target="_blank">plugin support forum</a> or <a href="%3$s" target="_blank">contact us page</a>.', 'ivory-search' ),
118
  $url . 'wp-admin/admin.php?page=ivory-search',
119
  'https://ivorysearch.com/support/',
120
  'https://ivorysearch.com/contact/'
@@ -352,7 +450,7 @@ class IS_Admin
352
  'ivory-search',
353
  array( $this, 'search_forms_page' ),
354
  'dashicons-search',
355
- 35
356
  );
357
  $edit = add_submenu_page(
358
  'ivory-search',
@@ -437,7 +535,7 @@ class IS_Admin
437
  echo esc_attr( $_REQUEST['page'] ) ;
438
  ?>" />
439
  <?php
440
- $list_table->search_box( __( 'Search Search Forms', 'ivory-search' ), 'is-search' );
441
  ?>
442
  <?php
443
  $list_table->display();
@@ -491,6 +589,17 @@ class IS_Admin
491
  $args['_is_excludes'] = ( isset( $_POST['_is_excludes'] ) ? $_POST['_is_excludes'] : '' );
492
  $args['_is_settings'] = ( isset( $_POST['_is_settings'] ) ? $_POST['_is_settings'] : '' );
493
  $args['tab'] = ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' );
 
 
 
 
 
 
 
 
 
 
 
494
  $invalid = false;
495
  if ( !empty($args['_is_includes']) && !empty($args['_is_excludes']) ) {
496
  foreach ( $args['_is_includes'] as $key => $value ) {
@@ -567,7 +676,14 @@ class IS_Admin
567
  $args['id'] = $id;
568
  $args['title'] = ( isset( $_POST['post_title'] ) ? $_POST['post_title'] : null );
569
  $args['_is_locale'] = null;
570
- $args['_is_includes'] = '';
 
 
 
 
 
 
 
571
  $args['_is_excludes'] = '';
572
  $args['_is_settings'] = '';
573
  $search_form = $this->save_form( $args );
@@ -738,12 +854,10 @@ class IS_Admin
738
  return $defaults;
739
  }
740
  $defaults = wp_parse_args( $defaults, array(
741
- 'post_type' => array(
742
  'post' => 'post',
743
  'page' => 'page',
744
  ),
745
- 'search_title' => 1,
746
- 'search_content' => 1,
747
  ) );
748
  $input = wp_parse_args( $input, $defaults );
749
  $output = $this->sanitize_fields( $input );
@@ -828,11 +942,17 @@ class IS_Admin
828
  public static function pro_link( $plan = 'pro' )
829
  {
830
  $is_premium_plugin = false;
831
- $msg = esc_html__( "Upgrade To Access", 'ivory-search' );
 
832
  if ( is_fs()->is_plan_or_trial( $plan ) ) {
833
- $msg = esc_html__( "Install Pro Version To Access", 'ivory-search' );
 
 
 
 
834
  }
835
 
 
836
  if ( is_fs()->is_plan_or_trial( $plan ) && $is_premium_plugin ) {
837
  return '';
838
  } else {
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
+
80
+ if ( $this->custom_admin_pointers_check() ) {
81
+ add_action( 'admin_print_footer_scripts', array( $this, 'custom_admin_pointers_footer' ) );
82
+ wp_enqueue_script( 'wp-pointer' );
83
+ wp_enqueue_style( 'wp-pointer' );
84
+ }
85
+
86
  wp_localize_script( 'is-admin-scripts', 'ivory_search', $args );
87
  wp_enqueue_script( 'is-admin-scripts' );
88
  }
89
 
90
+ function custom_admin_pointers_check()
91
+ {
92
+ $admin_pointers = $this->custom_admin_pointers();
93
+ foreach ( $admin_pointers as $pointer => $array ) {
94
+ if ( $array['active'] ) {
95
+ return true;
96
+ }
97
+ }
98
+ }
99
+
100
+ function custom_admin_pointers_footer()
101
+ {
102
+ $admin_pointers = $this->custom_admin_pointers();
103
+ ?>
104
+ <script type="text/javascript">
105
+ /* <![CDATA[ */
106
+ ( function($) {
107
+ <?php
108
+ foreach ( $admin_pointers as $pointer => $array ) {
109
+
110
+ if ( $array['active'] ) {
111
+ ?>
112
+ $( '<?php
113
+ echo $array['anchor_id'] ;
114
+ ?>' ).pointer( {
115
+ content: '<?php
116
+ echo $array['content'] ;
117
+ ?>',
118
+ position: {
119
+ edge: '<?php
120
+ echo $array['edge'] ;
121
+ ?>',
122
+ align: '<?php
123
+ echo $array['align'] ;
124
+ ?>'
125
+ },
126
+ close: function() {
127
+ $.post( ajaxurl, {
128
+ pointer: '<?php
129
+ echo $pointer ;
130
+ ?>',
131
+ action: 'dismiss-wp-pointer'
132
+ } );
133
+ }
134
+ } ).pointer( 'open' );
135
+ <?php
136
+ }
137
+
138
+ }
139
+ ?>
140
+ } )(jQuery);
141
+ /* ]]> */
142
+ </script>
143
+ <?php
144
+ }
145
+
146
+ function custom_admin_pointers()
147
+ {
148
+ $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
149
+ $version = '1_0';
150
+ // replace all periods in 1.0 with an underscore
151
+ $prefix = 'is_admin_pointers_' . $version . '_';
152
+ $new_pointer_content = '<h3>' . __( 'Edit Search Form', 'ivory-search' ) . '</h3>';
153
+ $new_pointer_content .= '<p>' . __( 'Click on the search form link to edit it.', 'ivory-search' ) . '</p>';
154
+ $new_pointer_content .= '<p>' . __( 'Edit the Default Search Form to manage the default WordPress search.', 'ivory-search' ) . '</p>';
155
+ return array(
156
+ $prefix . 'is_pointers' => array(
157
+ 'content' => $new_pointer_content,
158
+ 'anchor_id' => '#the-list tr:first-child a.row-title',
159
+ 'edge' => 'left',
160
+ 'align' => 'left',
161
+ 'active' => !in_array( $prefix . 'is_pointers', $dismissed ),
162
+ ),
163
+ );
164
+ }
165
+
166
  /**
167
  * Adds a link to the settings page in the plugins list.
168
  *
182
  return $links;
183
  }
184
 
185
+ /**
186
+ * Change the admin footer text on Ivory Search admin pages.
187
+ */
188
+ public function admin_footer_text( $footer_text )
189
+ {
190
+ $screen = get_current_screen();
191
+ $is_ivory = strpos( $screen->id, 'ivory-search' );
192
+ // Check to make sure we're on a Ivory Search admin page.
193
+ if ( FALSE !== $is_ivory ) {
194
+ // Change the footer text
195
+ $footer_text = sprintf( __( 'If you like %1$s please leave us a %2$s rating. A huge thanks in advance!', 'ivory-search' ), sprintf( '<strong>%s</strong>', esc_html__( 'Ivory Search', 'ivory-search' ) ), '<a href="https://wordpress.org/support/plugin/add-search-to-menu/reviews?rate=5#new-post" target="_blank" class="is-rating-link" data-rated="' . esc_attr__( 'Thanks :)', 'ivory-search' ) . '">&#9733;&#9733;&#9733;&#9733;&#9733;</a>' );
196
+ }
197
+ return $footer_text;
198
+ }
199
+
200
  /**
201
  * Displays plugin configuration notice in admin area.
202
  */
212
  if ( !isset( $this->opt['is_notices']['config'] ) || !$this->opt['is_notices']['config'] ) {
213
  $url = ( is_network_admin() ? network_site_url() : site_url( '/' ) );
214
  echo '<div class="notice ivory-search"><p>' . sprintf(
215
+ __( 'Thank you for using <strong>Ivory Search</strong> plugin. Please configure its <a href="%1$s">search form</a> and get support on <a href="%2$s" target="_blank">support forum</a> or <a href="%3$s" target="_blank">contact us</a>.', 'ivory-search' ),
216
  $url . 'wp-admin/admin.php?page=ivory-search',
217
  'https://ivorysearch.com/support/',
218
  'https://ivorysearch.com/contact/'
450
  'ivory-search',
451
  array( $this, 'search_forms_page' ),
452
  'dashicons-search',
453
+ '35.6282'
454
  );
455
  $edit = add_submenu_page(
456
  'ivory-search',
535
  echo esc_attr( $_REQUEST['page'] ) ;
536
  ?>" />
537
  <?php
538
+ $list_table->search_box( __( 'Find Search Forms', 'ivory-search' ), 'is-search' );
539
  ?>
540
  <?php
541
  $list_table->display();
589
  $args['_is_excludes'] = ( isset( $_POST['_is_excludes'] ) ? $_POST['_is_excludes'] : '' );
590
  $args['_is_settings'] = ( isset( $_POST['_is_settings'] ) ? $_POST['_is_settings'] : '' );
591
  $args['tab'] = ( isset( $_POST['tab'] ) ? $_POST['tab'] : 'includes' );
592
+ $search_form = IS_Search_Form::get_instance( $id );
593
+ $properties = $search_form->get_properties();
594
+
595
+ if ( 'includes' === $args['tab'] && !empty($properties['_is_excludes']) ) {
596
+ $args['_is_excludes'] = $properties['_is_excludes'];
597
+ } else {
598
+ if ( 'excludes' === $args['tab'] && !empty($properties['_is_includes']) ) {
599
+ $args['_is_includes'] = $properties['_is_includes'];
600
+ }
601
+ }
602
+
603
  $invalid = false;
604
  if ( !empty($args['_is_includes']) && !empty($args['_is_excludes']) ) {
605
  foreach ( $args['_is_includes'] as $key => $value ) {
676
  $args['id'] = $id;
677
  $args['title'] = ( isset( $_POST['post_title'] ) ? $_POST['post_title'] : null );
678
  $args['_is_locale'] = null;
679
+ $args['_is_includes'] = array(
680
+ 'post_type' => array(
681
+ 'post' => 'post',
682
+ 'page' => 'page',
683
+ ),
684
+ 'search_title' => 1,
685
+ 'search_content' => 1,
686
+ );
687
  $args['_is_excludes'] = '';
688
  $args['_is_settings'] = '';
689
  $search_form = $this->save_form( $args );
854
  return $defaults;
855
  }
856
  $defaults = wp_parse_args( $defaults, array(
857
+ 'post_type' => array(
858
  'post' => 'post',
859
  'page' => 'page',
860
  ),
 
 
861
  ) );
862
  $input = wp_parse_args( $input, $defaults );
863
  $output = $this->sanitize_fields( $input );
942
  public static function pro_link( $plan = 'pro' )
943
  {
944
  $is_premium_plugin = false;
945
+ $msg = esc_html__( "Upgrade to Pro to Access", 'ivory-search' );
946
+
947
  if ( is_fs()->is_plan_or_trial( $plan ) ) {
948
+ $msg = esc_html__( "Install Premium Version to Access", 'ivory-search' );
949
+ } else {
950
+ if ( 'pro_plus' === $plan ) {
951
+ $msg = esc_html__( "Upgrade to Pro Plus to Access", 'ivory-search' );
952
+ }
953
  }
954
 
955
+
956
  if ( is_fs()->is_plan_or_trial( $plan ) && $is_premium_plugin ) {
957
  return '';
958
  } else {
admin/class-is-editor.php CHANGED
@@ -93,7 +93,7 @@ class IS_Search_Editor
93
  ?>
94
  <h4 class="panel-desc">
95
  <?php
96
- _e( "Configure the below options to make specific content searchable.", 'ivory-search' );
97
  ?>
98
  </h4>
99
  <div class="search-form-editor-box" id="<?php
@@ -118,7 +118,7 @@ class IS_Search_Editor
118
  </h3>
119
  <div>
120
  <?php
121
- $content = __( 'Select post types that you want to make searchable.', 'ivory-search' );
122
  IS_Help::help_info( $content );
123
  echo '<div>' ;
124
  $args = array(
@@ -150,19 +150,19 @@ class IS_Search_Editor
150
  $ind_status = true;
151
  }
152
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_title"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_title" name="' . $id . '[search_title]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
153
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in post title.", 'ivory-search' ) . '</label></p>' ;
154
  $checked = ( isset( $includes['search_content'] ) && $includes['search_content'] ? 1 : 0 );
155
  if ( !$ind_status && !$checked ) {
156
  $ind_status = true;
157
  }
158
  echo '<p class="check-radio"><label for="' . $id . '-search_content"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_content" name="' . $id . '[search_content]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
159
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in post content.", 'ivory-search' ) . '</label></p>' ;
160
  $checked = ( isset( $includes['search_excerpt'] ) && $includes['search_excerpt'] ? 1 : 0 );
161
  if ( !$ind_status && !$checked ) {
162
  $ind_status = true;
163
  }
164
  echo '<p class="check-radio"><label for="' . $id . '-search_excerpt"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_excerpt" name="' . $id . '[search_excerpt]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
165
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in post excerpt.", 'ivory-search' ) . '</label></p>' ;
166
  echo '<br /><select class="_is_includes-post_type" name="' . $id . '[post_type_qs]" >' ;
167
  $checked = ( isset( $includes['post_type_qs'] ) ? $includes['post_type_qs'] : 'none' );
168
  if ( !$ind_status && 'none' !== $checked ) {
@@ -172,12 +172,12 @@ class IS_Search_Editor
172
  foreach ( $posts as $key => $post_type ) {
173
  echo '<option value="' . $key . '" ' . selected( $key, $checked, false ) . '>' . ucfirst( esc_html( $post_type ) ) . '</option>' ;
174
  }
175
- echo '</select><label for="' . $id . '-post_type_qs"> ' . esc_html( __( 'Display this post type in the search query URL and restrict search to it.', 'ivory-search' ) ) . '</label>' ;
176
  if ( $ind_status ) {
177
  echo '<span class="ind-status ' . $id . '-post_type"></span>' ;
178
  }
179
  } else {
180
- _e( 'No post types registered on your site.', 'ivory-search' );
181
  }
182
 
183
  ?>
@@ -187,7 +187,7 @@ class IS_Search_Editor
187
  <label for="<?php
188
  echo $id ;
189
  ?>-post__in"><?php
190
- echo esc_html( __( 'Posts', 'ivory-search' ) ) ;
191
  ?></label>
192
  <span class="actions"><span class="indicator <?php
193
  echo $id ;
@@ -198,15 +198,14 @@ class IS_Search_Editor
198
  ?></a></span></h3>
199
  <div>
200
  <?php
201
- $content = __( 'The posts and pages of searchable post types display here.', 'ivory-search' );
202
- $content .= '<br />' . __( 'Select the specific posts you wish to search or do not select any posts to make all posts searchable.', 'ivory-search' );
203
- $content .= '<br />' . __( 'Selected post types display in BOLD.', 'ivory-search' );
204
  IS_Help::help_info( $content );
205
  echo '<div>' ;
206
  $post_types = array( 'post', 'page' );
207
  if ( isset( $includes['post_type'] ) && !empty($includes['post_type']) && is_array( $includes['post_type'] ) ) {
208
  $post_types = array_values( $includes['post_type'] );
209
  }
 
210
  foreach ( $post_types as $post_type ) {
211
  $posts = get_posts( array(
212
  'post_type' => $post_type,
@@ -216,6 +215,7 @@ class IS_Search_Editor
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 = '';
@@ -245,7 +245,13 @@ class IS_Search_Editor
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
 
@@ -253,7 +259,7 @@ class IS_Search_Editor
253
  <label for="<?php
254
  echo $id ;
255
  ?>-tax_query"><?php
256
- esc_html_e( 'Taxonomy Terms', 'ivory-search' );
257
  ?></label>
258
  <span class="actions"><span class="indicator <?php
259
  echo $id ;
@@ -264,9 +270,7 @@ class IS_Search_Editor
264
  ?></a></span></h3>
265
  <div>
266
  <?php
267
- $content = __( 'Taxonomy terms that have no posts will not be visible below. Add a post with the taxonomy you want for it to be configurable.', 'ivory-search' );
268
- $content .= '<br /><br />' . __( 'Terms selected here will restrict the search to posts that have the selected terms.', 'ivory-search' );
269
- $content .= '<br />' . __( 'Taxonomy terms selected display in BOLD', 'ivory-search' );
270
  IS_Help::help_info( $content );
271
  echo '<div>' ;
272
  $args = array( 'post', 'page' );
@@ -308,26 +312,26 @@ class IS_Search_Editor
308
  $ind_status = true;
309
  }
310
  echo '<br /><p class="check-radio"><label for="' . $id . '-tax_rel_and" ><input class="_is_includes-tax_query" type="radio" id="' . $id . '-tax_rel_and" name="' . $id . '[tax_rel]" value="AND" ' . checked( 'AND', $checked, false ) . '/>' ;
311
- echo '<span class="toggle-check-text"></span>' . esc_html__( "AND - Search posts having all the above selected terms.", 'ivory-search' ) . '</label></p>' ;
312
  echo '<p class="check-radio"><label for="' . $id . '-tax_rel_or" ><input class="_is_includes-tax_query" type="radio" id="' . $id . '-tax_rel_or" name="' . $id . '[tax_rel]" value="OR" ' . checked( 'OR', $checked, false ) . '/>' ;
313
- echo '<span class="toggle-check-text"></span>' . esc_html__( "OR - Search posts having any one of the above selected terms.", 'ivory-search' ) . '</label></p>' ;
314
  $checked = ( isset( $includes['search_tax_title'] ) && $includes['search_tax_title'] ? 1 : 0 );
315
  if ( !$ind_status && $checked ) {
316
  $ind_status = true;
317
  }
318
  echo '<br /><p class="check-radio"><label for="' . $id . '-search_tax_title" ><input class="_is_includes-tax_query" type="checkbox" id="' . $id . '-search_tax_title" name="' . $id . '[search_tax_title]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
319
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in taxonomy terms title.", 'ivory-search' ) . '</label></p>' ;
320
  $checked = ( isset( $includes['search_tax_desp'] ) && $includes['search_tax_desp'] ? 1 : 0 );
321
  if ( !$ind_status && $checked ) {
322
  $ind_status = true;
323
  }
324
  echo '<p class="check-radio"><label for="' . $id . '-search_tax_desp" ><input class="_is_includes-tax_query" type="checkbox" id="' . $id . '-search_tax_desp" name="' . $id . '[search_tax_desp]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
325
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in taxonomy terms description.", 'ivory-search' ) . '</label></p>' ;
326
  if ( $ind_status ) {
327
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
328
  }
329
  } else {
330
- _e( 'No taxonomies registered for selected post types.', 'ivory-search' );
331
  }
332
 
333
  ?>
@@ -338,7 +342,7 @@ class IS_Search_Editor
338
  <label for="<?php
339
  echo $id ;
340
  ?>-custom_field"><?php
341
- echo esc_html( __( 'Custom Fields', 'ivory-search' ) ) ;
342
  ?></label>
343
  <span class="actions"><span class="indicator <?php
344
  echo $id ;
@@ -349,7 +353,7 @@ class IS_Search_Editor
349
  ?></a></span></h3>
350
  <div>
351
  <?php
352
- $content = __( 'Select custom fields to make their values searchable.', 'ivory-search' );
353
  IS_Help::help_info( $content );
354
  echo '<div>' ;
355
  $args = array( 'post', 'page' );
@@ -367,6 +371,8 @@ class IS_Search_Editor
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
 
@@ -397,7 +403,7 @@ class IS_Search_Editor
397
  ?></a></span></h3>
398
  <div>
399
  <?php
400
- $content = __( 'Configure WooCommerce products search options here.', 'ivory-search' );
401
  IS_Help::help_info( $content );
402
  echo '<div>' ;
403
 
@@ -415,23 +421,23 @@ class IS_Search_Editor
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 {
430
- _e( 'WooCommerce product post type is not included in search.', 'ivory-search' );
431
  }
432
 
433
  } else {
434
- _e( 'Activate WooCommerce plugin to use this option.', 'ivory-search' );
435
  }
436
 
437
  ?>
@@ -453,7 +459,7 @@ class IS_Search_Editor
453
  ?></a></span></h3>
454
  <div>
455
  <?php
456
- $content = __( 'Make specific author posts searchable.', 'ivory-search' );
457
  IS_Help::help_info( $content );
458
  echo '<div>' ;
459
  $author_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
@@ -483,7 +489,7 @@ class IS_Search_Editor
483
  }
484
 
485
  } else {
486
- echo '<label>' . esc_html__( "Search has been already limited by excluding specific authors posts in the Excludes section.", 'ivory-search' ) . '</label>' ;
487
  }
488
 
489
  if ( '' !== $author_disable ) {
@@ -491,7 +497,7 @@ class IS_Search_Editor
491
  }
492
  $checked = ( isset( $includes['search_author'] ) && $includes['search_author'] ? 1 : 0 );
493
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_author" ><input class="_is_includes-author" type="checkbox" id="' . $id . '-search_author" name="' . $id . '[search_author]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
494
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in author Display name and display the posts created by that author.", 'ivory-search' ) . '</label></p>' ;
495
  if ( $checked || isset( $includes['author'] ) && !empty($includes['author']) ) {
496
  echo '<span class="ind-status ' . $id . '-author"></span>' ;
497
  }
@@ -513,7 +519,7 @@ class IS_Search_Editor
513
  ?></a></span></h3>
514
  <div>
515
  <?php
516
- $content = __( 'Configure options to search posts having specific post statuses.', 'ivory-search' );
517
  IS_Help::help_info( $content );
518
  echo '<div>' ;
519
 
@@ -536,7 +542,7 @@ class IS_Search_Editor
536
  echo '<span class="ind-status ' . $id . '-post_status"></span>' ;
537
  }
538
  } else {
539
- echo '<label>' . esc_html__( "Search has been already limited by excluding specific posts statuses from search in the Excludes section.", 'ivory-search' ) . '</label>' ;
540
  }
541
 
542
  ?>
@@ -559,14 +565,14 @@ class IS_Search_Editor
559
  <div>
560
  <?php
561
  $ind_status = false;
562
- $content = __( 'Make posts searchable that have a specific number of comments.', 'ivory-search' );
563
  IS_Help::help_info( $content );
564
  echo '<div>' ;
565
  $comment_count_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
566
  if ( '' !== $comment_count_disable ) {
567
  echo '<div class="upgrade-parent">' . IS_Admin::pro_link() ;
568
  }
569
- echo '<select class="_is_includes-comment_count" name="' . $id . '[comment_count][compare]" ' . $comment_count_disable . ' style="min-width: 50px;">' ;
570
  $checked = ( isset( $includes['comment_count']['compare'] ) ? htmlspecialchars_decode( $includes['comment_count']['compare'] ) : '=' );
571
  if ( '=' !== $checked ) {
572
  $ind_status = true;
@@ -582,8 +588,8 @@ class IS_Search_Editor
582
  foreach ( $compare as $d ) {
583
  echo '<option value="' . htmlspecialchars_decode( $d ) . '" ' . selected( $d, $checked, false ) . '>' . esc_html( $d ) . '</option>' ;
584
  }
585
- echo '</select><label for="' . $id . '-comment_count-compare"> ' . esc_html( __( 'The search operator to compare comments count.', 'ivory-search' ) ) . '</label>' ;
586
- echo '<br /><select class="_is_includes-comment_count" name="' . $id . '[comment_count][value]" ' . $comment_count_disable . ' >' ;
587
  $checked = ( isset( $includes['comment_count']['value'] ) ? $includes['comment_count']['value'] : 'na' );
588
  if ( !$ind_status && 'na' !== $checked ) {
589
  $ind_status = true;
@@ -592,7 +598,7 @@ class IS_Search_Editor
592
  for ( $d = 0 ; $d <= 999 ; $d++ ) {
593
  echo '<option value="' . $d . '" ' . selected( $d, $checked, false ) . '>' . $d . '</option>' ;
594
  }
595
- echo '</select><label for="' . $id . '-comment_count-value"> ' . esc_html( __( 'The amount of comments your posts has to have.', 'ivory-search' ) ) . '</label>' ;
596
  if ( '' !== $comment_count_disable ) {
597
  echo '</div>' ;
598
  }
@@ -601,7 +607,7 @@ class IS_Search_Editor
601
  $ind_status = true;
602
  }
603
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_comment" ><input class="_is_includes-comment_count" type="checkbox" id="' . $id . '-search_comment" name="' . $id . '[search_comment]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
604
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search in approved comments content.", 'ivory-search' ) . '</label></p>' ;
605
  if ( $ind_status ) {
606
  echo '<span class="ind-status ' . $id . '-comment_count"></span>' ;
607
  }
@@ -624,13 +630,14 @@ class IS_Search_Editor
624
  ?></a></span></h3>
625
  <div>
626
  <?php
627
- $content = __( 'Make posts searchable that were created in the specified date range.', 'ivory-search' );
628
  IS_Help::help_info( $content );
629
  echo '<div>' ;
630
  $range = array( 'after', 'before' );
631
  $ind_status = false;
632
  foreach ( $range as $value ) {
633
- echo '<div class="col-wrapper ' . $value . '"><div class="col-title">' . ucfirst( $value ) . '</div>' ;
 
634
  echo '<select class="_is_includes-date_query" name="' . $id . '[date_query][' . $value . '][day]" >' ;
635
  $checked = ( isset( $includes['date_query'][$value]['day'] ) ? $includes['date_query'][$value]['day'] : 'day' );
636
  if ( 'day' !== $checked ) {
@@ -679,7 +686,7 @@ class IS_Search_Editor
679
  <label for="<?php
680
  echo $id ;
681
  ?>-has_password"><?php
682
- echo esc_html( __( 'Password', 'ivory-search' ) ) ;
683
  ?></label>
684
  <span class="actions"><span class="indicator <?php
685
  echo $id ;
@@ -690,16 +697,14 @@ class IS_Search_Editor
690
  ?></a></span></h3>
691
  <div>
692
  <?php
693
- $content = __( 'Configure options to search posts with or without password.', 'ivory-search' );
694
- IS_Help::help_info( $content );
695
  echo '<div>' ;
696
  $checked = ( isset( $includes['has_password'] ) ? $includes['has_password'] : 'null' );
697
  echo '<p class="check-radio"><label for="' . $id . '-has_password" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password" name="' . $id . '[has_password]" value="null" ' . checked( 'null', $checked, false ) . '/>' ;
698
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search all posts with and without passwords.", 'ivory-search' ) . '</label></p>' ;
699
  echo '<p class="check-radio"><label for="' . $id . '-has_password_1" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password_1" name="' . $id . '[has_password]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
700
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search only posts with passwords.", 'ivory-search' ) . '</label></p>' ;
701
  echo '<p class="check-radio"><label for="' . $id . '-has_password_0" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password_0" name="' . $id . '[has_password]" value="0" ' . checked( 0, $checked, false ) . '/>' ;
702
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Search only posts without passwords.", 'ivory-search' ) . '</label></p>' ;
703
  if ( 'null' !== $checked ) {
704
  echo '<span class="ind-status ' . $id . '-has_password"></span>' ;
705
  }
@@ -716,7 +721,7 @@ class IS_Search_Editor
716
  <label for="<?php
717
  echo $id ;
718
  ?>-post_file_type"><?php
719
- echo esc_html( __( 'File Types', 'ivory-search' ) ) ;
720
  ?></label>
721
  <span class="actions"><span class="indicator <?php
722
  echo $id ;
@@ -727,7 +732,7 @@ class IS_Search_Editor
727
  ?></a></span></h3>
728
  <div>
729
  <?php
730
- $content = __( 'Configure the option to search files, media, attachments, images, documents or post types of specific MIME type.', 'ivory-search' );
731
  IS_Help::help_info( $content );
732
  echo '<div>' ;
733
 
@@ -751,11 +756,11 @@ class IS_Search_Editor
751
  }
752
 
753
  } else {
754
- echo '<label>' . esc_html__( "Search has been already limited by excluding specific File type in the Excludes section.", 'ivory-search' ) . '</label>' ;
755
  }
756
 
757
  } else {
758
- _e( 'Attachment post type is not included in search.', 'ivory-search' );
759
  }
760
 
761
 
@@ -789,7 +794,7 @@ class IS_Search_Editor
789
  ?>
790
  <h4 class="panel-desc">
791
  <?php
792
- _e( "Configure the options to exclude specific content from search.", 'ivory-search' );
793
  ?>
794
  </h4>
795
  <div class="search-form-editor-box" id="<?php
@@ -801,7 +806,7 @@ class IS_Search_Editor
801
  <label for="<?php
802
  echo $id ;
803
  ?>-post__not_in"><?php
804
- echo esc_html( __( 'Posts', 'ivory-search' ) ) ;
805
  ?></label>
806
  <span class="actions"><span class="indicator <?php
807
  echo $id ;
@@ -812,17 +817,16 @@ class IS_Search_Editor
812
  ?></a></span></h3>
813
  <div>
814
  <?php
815
- $content = __( 'The posts and pages of searchable post types display here.', 'ivory-search' );
816
- $content .= '<br />' . __( 'Select the posts you wish to exclude from the search.', 'ivory-search' );
817
- $content .= '<br />' . __( 'Selected post types display in BOLD.', 'ivory-search' );
818
  IS_Help::help_info( $content );
819
  echo '<div>' ;
 
 
 
 
820
 
821
  if ( !isset( $includes['post__in'] ) ) {
822
- $post_types = array( 'post', 'page' );
823
- if ( isset( $includes['post_type'] ) && !empty($includes['post_type']) && is_array( $includes['post_type'] ) ) {
824
- $post_types = array_values( $includes['post_type'] );
825
- }
826
  foreach ( $post_types as $post_type ) {
827
  $posts = get_posts( array(
828
  'post_type' => $post_type,
@@ -832,6 +836,7 @@ class IS_Search_Editor
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 = '';
@@ -861,9 +866,15 @@ class IS_Search_Editor
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
  }
868
 
869
  ?>
@@ -873,7 +884,7 @@ class IS_Search_Editor
873
  <label for="<?php
874
  echo $id ;
875
  ?>-tax_query"><?php
876
- esc_html_e( 'Taxonomy Terms', 'ivory-search' );
877
  ?></label>
878
  <span class="actions"><span class="indicator <?php
879
  echo $id ;
@@ -884,9 +895,7 @@ class IS_Search_Editor
884
  ?></a></span></h3>
885
  <div>
886
  <?php
887
- $content = __( 'The taxonomies and terms attached to searchable post types display here.', 'ivory-search' );
888
- $content .= '<br />' . __( 'Exclude posts from search results that have specific terms', 'ivory-search' );
889
- $content .= '<br />' . __( 'Selected terms taxonomy title display in BOLD.', 'ivory-search' );
890
  IS_Help::help_info( $content );
891
  echo '<div>' ;
892
  $tax_objs = get_object_taxonomies( $post_types, 'objects' );
@@ -918,7 +927,7 @@ class IS_Search_Editor
918
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
919
  }
920
  } else {
921
- _e( 'No taxonomies registered for selected post types.', 'ivory-search' );
922
  }
923
 
924
  ?>
@@ -929,7 +938,7 @@ class IS_Search_Editor
929
  <label for="<?php
930
  echo $id ;
931
  ?>-custom_field"><?php
932
- echo esc_html( __( 'Custom Fields', 'ivory-search' ) ) ;
933
  ?></label>
934
  <span class="actions"><span class="indicator <?php
935
  echo $id ;
@@ -940,14 +949,10 @@ class IS_Search_Editor
940
  ?></a></span></h3>
941
  <div>
942
  <?php
943
- $content = __( 'Exclude posts from the search having selected custom fields.', 'ivory-search' );
944
  IS_Help::help_info( $content );
945
  echo '<div>' ;
946
- $args = array( 'post', 'page' );
947
- if ( isset( $excludes['post_type'] ) && !empty($excludes['post_type']) && is_array( $excludes['post_type'] ) ) {
948
- $args = array_values( $excludes['post_type'] );
949
- }
950
- $meta_keys = $this->is_meta_keys( $args );
951
 
952
  if ( !empty($meta_keys) ) {
953
  $custom_field_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
@@ -960,6 +965,8 @@ class IS_Search_Editor
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
 
@@ -990,7 +997,7 @@ class IS_Search_Editor
990
  ?></a></span></h3>
991
  <div>
992
  <?php
993
- $content = __( 'Exclude specific WooCommerce products from the search.', 'ivory-search' );
994
  IS_Help::help_info( $content );
995
  echo '<div>' ;
996
 
@@ -1007,14 +1014,14 @@ class IS_Search_Editor
1007
  echo '<span class="ind-status ' . $id . '-woocommerce"></span>' ;
1008
  }
1009
  echo '<p class="check-radio"><label for="' . $id . '-outofstock" ><input class="_is_excludes-woocommerce" type="checkbox" ' . $outofstock_disable . ' id="' . $id . '-outofstock" name="' . $id . '[woo][outofstock]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1010
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Exclude 'out of stock' WooCommerce products.", 'ivory-search' ) . '</label></p>' ;
1011
  echo IS_Admin::pro_link( 'pro_plus' ) ;
1012
  } else {
1013
- _e( 'WooCommerce product post type is not included in search.', 'ivory-search' );
1014
  }
1015
 
1016
  } else {
1017
- _e( 'Activate WooCommerce plugin to use this option.', 'ivory-search' );
1018
  }
1019
 
1020
  ?>
@@ -1036,7 +1043,7 @@ class IS_Search_Editor
1036
  ?></a></span></h3>
1037
  <div>
1038
  <?php
1039
- $content = __( 'Exclude posts from the search created by selected authors.', 'ivory-search' );
1040
  IS_Help::help_info( $content );
1041
  echo '<div>' ;
1042
 
@@ -1069,7 +1076,7 @@ class IS_Search_Editor
1069
  }
1070
 
1071
  } else {
1072
- echo '<label>' . esc_html__( "Search has been already limited to posts created by specific authors in the Includes section.", 'ivory-search' ) . '</label>' ;
1073
  }
1074
 
1075
  ?>
@@ -1091,7 +1098,7 @@ class IS_Search_Editor
1091
  ?></a></span></h3>
1092
  <div>
1093
  <?php
1094
- $content = __( 'Exclude posts from the search having selected post statuses.', 'ivory-search' );
1095
  IS_Help::help_info( $content );
1096
  echo '<div>' ;
1097
 
@@ -1114,7 +1121,7 @@ class IS_Search_Editor
1114
  }
1115
 
1116
  } else {
1117
- echo '<label>' . esc_html__( "Search has been already limited to posts statuses set in the Includes section.", 'ivory-search' ) . '</label>' ;
1118
  }
1119
 
1120
  $checked = ( isset( $excludes['ignore_sticky_posts'] ) && $excludes['ignore_sticky_posts'] ? 1 : 0 );
@@ -1122,7 +1129,7 @@ class IS_Search_Editor
1122
  echo '<span class="ind-status ' . $id . '-post_status"></span>' ;
1123
  }
1124
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-ignore_sticky_posts" ><input class="_is_excludes-post_status" type="checkbox" id="' . $id . '-ignore_sticky_posts" name="' . $id . '[ignore_sticky_posts]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1125
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Exclude sticky posts from search.", 'ivory-search' ) . '</label></p>' ;
1126
  ?>
1127
  </div></div>
1128
 
@@ -1136,7 +1143,7 @@ class IS_Search_Editor
1136
  <label for="<?php
1137
  echo $id ;
1138
  ?>-post_file_type"><?php
1139
- echo esc_html( __( 'File Types', 'ivory-search' ) ) ;
1140
  ?></label>
1141
  <span class="actions"><span class="indicator <?php
1142
  echo $id ;
@@ -1147,7 +1154,7 @@ class IS_Search_Editor
1147
  ?></a></span></h3>
1148
  <div>
1149
  <?php
1150
- $content = __( 'Exclude posts specially media attachment posts from the search having selected file types.', 'ivory-search' );
1151
  IS_Help::help_info( $content );
1152
  echo '<div>' ;
1153
 
@@ -1171,11 +1178,11 @@ class IS_Search_Editor
1171
  }
1172
 
1173
  } else {
1174
- echo '<label>' . esc_html__( "Search has been already limited to specific File type set in the Includes section.", 'ivory-search' ) . '</label>' ;
1175
  }
1176
 
1177
  } else {
1178
- _e( 'Attachment post type is not included in search.', 'ivory-search' );
1179
  }
1180
 
1181
 
@@ -1206,7 +1213,7 @@ class IS_Search_Editor
1206
  ?>
1207
  <h4 class="panel-desc">
1208
  <?php
1209
- _e( "Configure the options here to control search of this search form.", 'ivory-search' );
1210
  ?>
1211
  </h4>
1212
  <div class="search-form-editor-box" id="<?php
@@ -1227,15 +1234,18 @@ class IS_Search_Editor
1227
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1228
  esc_html_e( 'Collapse All', 'ivory-search' );
1229
  ?></a></span></h3>
1230
- <div><div>
1231
- <?php
 
 
 
1232
  echo '<select class="_is_settings-posts_per_page" name="' . $id . '[posts_per_page]" >' ;
1233
  $default_per_page = get_option( 'posts_per_page', 10 );
1234
  $checked = ( isset( $settings['posts_per_page'] ) ? $settings['posts_per_page'] : $default_per_page );
1235
  for ( $d = 1 ; $d <= 1000 ; $d++ ) {
1236
  echo '<option value="' . $d . '" ' . selected( $d, $checked, false ) . '>' . $d . '</option>' ;
1237
  }
1238
- echo '</select><label for="' . $id . '-posts_per_page"> ' . esc_html( __( 'Number of posts to display on search results page.', 'ivory-search' ) ) . '</label>' ;
1239
  if ( $checked !== $default_per_page ) {
1240
  echo '<span class="ind-status ' . $id . '-posts_per_page"></span>' ;
1241
  }
@@ -1247,7 +1257,7 @@ class IS_Search_Editor
1247
  <label for="<?php
1248
  echo $id ;
1249
  ?>-order"><?php
1250
- echo esc_html( __( 'Order By', 'ivory-search' ) ) ;
1251
  ?></label>
1252
  <span class="actions"><span class="indicator <?php
1253
  echo $id ;
@@ -1256,8 +1266,10 @@ class IS_Search_Editor
1256
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1257
  esc_html_e( 'Collapse All', 'ivory-search' );
1258
  ?></a></span></h3>
1259
- <div><div>
1260
- <?php
 
 
1261
  $ind_status = false;
1262
  $orderby_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1263
  echo '<select class="_is_settings-order" name="' . $id . '[orderby]" ' . $orderby_disable . ' >' ;
@@ -1310,7 +1322,7 @@ class IS_Search_Editor
1310
  <label for="<?php
1311
  echo $id ;
1312
  ?>-highlight_terms"><?php
1313
- echo esc_html( __( 'Highlight Terms', 'ivory-search' ) ) ;
1314
  ?></label>
1315
  <span class="actions"><span class="indicator <?php
1316
  echo $id ;
@@ -1327,13 +1339,13 @@ class IS_Search_Editor
1327
  $ind_status = true;
1328
  }
1329
  echo '<p class="check-radio"><label for="' . $id . '-highlight_terms" ><input class="_is_settings-highlight_terms" type="checkbox" id="' . $id . '-highlight_terms" name="' . $id . '[highlight_terms]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1330
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Highlight searched terms on search results page.", 'ivory-search' ) . '</label></p>' ;
1331
  $color = ( isset( $settings['highlight_color'] ) ? $settings['highlight_color'] : '#FFFFB9' );
1332
  if ( !$ind_status && '#FFFFB9' !== $color ) {
1333
  $ind_status = true;
1334
  }
1335
- echo '<br /><br /><input class="_is_settings-highlight_terms" size="10" type="text" id="' . $id . '-highlight_color" name="' . $id . '[highlight_color]" value="' . $color . '" />' ;
1336
- echo '<label for="' . $id . '-highlight_color" > ' . esc_html__( "Set highlight color.", 'ivory-search' ) . '</label>' ;
1337
  if ( $ind_status ) {
1338
  echo '<span class="ind-status ' . $id . '-highlight_terms"></span>' ;
1339
  }
@@ -1345,7 +1357,7 @@ class IS_Search_Editor
1345
  <label for="<?php
1346
  echo $id ;
1347
  ?>-term_rel"><?php
1348
- echo esc_html( __( 'Search Terms Relation', 'ivory-search' ) ) ;
1349
  ?></label>
1350
  <span class="actions"><span class="indicator <?php
1351
  echo $id ;
@@ -1354,14 +1366,17 @@ class IS_Search_Editor
1354
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1355
  esc_html_e( 'Collapse All', 'ivory-search' );
1356
  ?></a></span></h3>
1357
- <div><div>
1358
  <?php
 
 
 
1359
  $term_rel_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1360
  $checked = ( isset( $settings['term_rel'] ) && "OR" === $settings['term_rel'] ? "OR" : "AND" );
1361
  echo '<p class="check-radio"><label for="' . $id . '-term_rel_or" ><input class="_is_settings-term_rel" type="radio" ' . $term_rel_disable . ' id="' . $id . '-term_rel_or" name="' . $id . '[term_rel]" value="OR" ' . checked( 'OR', $checked, false ) . '/>' ;
1362
- echo '<span class="toggle-check-text"></span>' . esc_html__( "OR - Display content having any of the searched terms.", 'ivory-search' ) . '</label>' . IS_Admin::pro_link() . '</p>' ;
1363
  echo '<p class="check-radio"><label for="' . $id . '-term_rel_and" ><input class="_is_settings-term_rel" type="radio" ' . $term_rel_disable . ' id="' . $id . '-term_rel_and" name="' . $id . '[term_rel]" value="AND" ' . checked( 'AND', $checked, false ) . '/>' ;
1364
- echo '<span class="toggle-check-text"></span>' . esc_html__( "AND - Display content having all the searched terms.", 'ivory-search' ) . '</label></p>' ;
1365
  if ( "AND" !== $checked ) {
1366
  echo '<span class="ind-status ' . $id . '-term_rel"></span>' ;
1367
  }
@@ -1382,13 +1397,15 @@ class IS_Search_Editor
1382
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1383
  esc_html_e( 'Collapse All', 'ivory-search' );
1384
  ?></a></span></h3>
1385
- <div><div>
1386
- <?php
 
 
1387
  $checked = ( isset( $settings['fuzzy_match'] ) ? $settings['fuzzy_match'] : '2' );
1388
  echo '<p class="check-radio"><label for="' . $id . '-whole" ><input class="_is_settings-fuzzy_match" type="radio" id="' . $id . '-whole" name="' . $id . '[fuzzy_match]" value="1" ' . checked( '1', $checked, false ) . '/>' ;
1389
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Whole - Search posts that include the whole search term.", 'ivory-search' ) . '</label></p>' ;
1390
  echo '<p class="check-radio"><label for="' . $id . '-partial" ><input class="_is_settings-fuzzy_match" type="radio" id="' . $id . '-partial" name="' . $id . '[fuzzy_match]" value="2" ' . checked( '2', $checked, false ) . '/>' ;
1391
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Partial - Also search words in the posts that begins or ends with the search term.", 'ivory-search' ) . '</label></p>' ;
1392
  if ( "2" !== $checked ) {
1393
  echo '<span class="ind-status ' . $id . '-fuzzy_match"></span>' ;
1394
  }
@@ -1411,17 +1428,16 @@ class IS_Search_Editor
1411
  ?></a></span></h3>
1412
  <div>
1413
  <?php
1414
- $content = __( 'Searches the base word of a searched keyword', 'ivory-search' );
1415
  $content .= '<p>' . __( 'For Example: If you search "doing" then it also searches base word of "doing" that is "do" in the specified post types.', 'ivory-search' ) . '</p>';
1416
- $content .= '<p>' . __( 'If you want to search whole exact searched term then do not use this options and in this case it is not recommended to use when Fuzzy Matching option is set to Whole.', 'ivory-search' ) . '</p>';
1417
  IS_Help::help_info( $content );
1418
  echo '<div>' ;
1419
  $stem_disable = ( is_fs()->is_plan_or_trial( 'pro_plus' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1420
  $checked = ( isset( $settings['keyword_stem'] ) && $settings['keyword_stem'] ? 1 : 0 );
1421
  echo '<p class="check-radio"><label for="' . $id . '-keyword_stem" ><input class="_is_settings-keyword_stem" type="checkbox" id="' . $id . '-keyword_stem" ' . $stem_disable . ' name="' . $id . '[keyword_stem]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1422
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Also search base word of searched keyword.", 'ivory-search' ) . '</label></p>' ;
1423
  echo IS_Admin::pro_link( 'pro_plus' ) ;
1424
- echo '<br /><label for="' . $id . '-keyword_stem" style="font-size: 10px;clear:both;display:block;">' . esc_html__( "Not recommended to use when Fuzzy Matching option is set to Whole.", 'ivory-search' ) . '</label>' ;
1425
  if ( $checked ) {
1426
  echo '<span class="ind-status ' . $id . '-keyword_stem"></span>' ;
1427
  }
@@ -1446,7 +1462,7 @@ class IS_Search_Editor
1446
  <?php
1447
  $checked = ( isset( $settings['move_sticky_posts'] ) && $settings['move_sticky_posts'] ? 1 : 0 );
1448
  echo '<p class="check-radio"><label for="' . $id . '-move_sticky_posts" ><input class="_is_settings-move_sticky_posts" type="checkbox" id="' . $id . '-move_sticky_posts" name="' . $id . '[move_sticky_posts]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1449
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Move sticky posts to the start of the search results page.", 'ivory-search' ) . '</label></p>' ;
1450
  if ( $checked ) {
1451
  echo '<span class="ind-status ' . $id . '-move_sticky_posts"></span>' ;
1452
  }
@@ -1458,7 +1474,7 @@ class IS_Search_Editor
1458
  <label for="<?php
1459
  echo $id ;
1460
  ?>-empty_search"><?php
1461
- echo esc_html( __( 'Empty Search', 'ivory-search' ) ) ;
1462
  ?></label>
1463
  <span class="actions"><span class="indicator <?php
1464
  echo $id ;
@@ -1467,11 +1483,13 @@ class IS_Search_Editor
1467
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1468
  esc_html_e( 'Collapse All', 'ivory-search' );
1469
  ?></a></span></h3>
1470
- <div><div>
1471
- <?php
 
 
1472
  $checked = ( isset( $settings['empty_search'] ) && $settings['empty_search'] ? 1 : 0 );
1473
  echo '<p class="check-radio"><label for="' . $id . '-empty_search" ><input class="_is_settings-empty_search" type="checkbox" id="' . $id . '-empty_search" name="' . $id . '[empty_search]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1474
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Display an error for empty search query.", 'ivory-search' ) . '</label></p>' ;
1475
  if ( $checked ) {
1476
  echo '<span class="ind-status ' . $id . '-empty_search"></span>' ;
1477
  }
@@ -1496,7 +1514,7 @@ class IS_Search_Editor
1496
  <?php
1497
  $checked = ( isset( $settings['exclude_from_search'] ) && $settings['exclude_from_search'] ? 1 : 0 );
1498
  echo '<p class="check-radio"><label for="' . $id . '-exclude_from_search" ><input class="_is_settings-exclude_from_search" type="checkbox" id="' . $id . '-exclude_from_search" name="' . $id . '[exclude_from_search]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1499
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Do not search post types which are excluded from search.", 'ivory-search' ) . '</label></p>' ;
1500
  if ( $checked ) {
1501
  echo '<span class="ind-status ' . $id . '-exclude_from_search"></span>' ;
1502
  }
@@ -1508,7 +1526,7 @@ class IS_Search_Editor
1508
  <label for="<?php
1509
  echo $id ;
1510
  ?>-demo"><?php
1511
- echo esc_html( __( 'Demo', 'ivory-search' ) ) ;
1512
  ?></label>
1513
  <span class="actions"><span class="indicator <?php
1514
  echo $id ;
@@ -1521,7 +1539,7 @@ class IS_Search_Editor
1521
  <?php
1522
  $checked = ( isset( $settings['demo'] ) && $settings['demo'] ? 1 : 0 );
1523
  echo '<p class="check-radio"><label for="' . $id . '-demo" ><input class="_is_settings-demo" type="checkbox" id="' . $id . '-demo" name="' . $id . '[demo]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1524
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Display search form only for site administrator.", 'ivory-search' ) . '</label></p>' ;
1525
  if ( $checked ) {
1526
  echo '<span class="ind-status ' . $id . '-demo"></span>' ;
1527
  }
@@ -1533,7 +1551,7 @@ class IS_Search_Editor
1533
  <label for="<?php
1534
  echo $id ;
1535
  ?>-disable"><?php
1536
- echo esc_html( __( 'Disable', 'ivory-search' ) ) ;
1537
  ?></label>
1538
  <span class="actions"><span class="indicator <?php
1539
  echo $id ;
@@ -1546,7 +1564,7 @@ class IS_Search_Editor
1546
  <?php
1547
  $checked = ( isset( $settings['disable'] ) && $settings['disable'] ? 1 : 0 );
1548
  echo '<p class="check-radio"><label for="' . $id . '-disable" ><input class="_is_settings-disable" type="checkbox" id="' . $id . '-disable" name="' . $id . '[disable]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1549
- echo '<span class="toggle-check-text"></span>' . esc_html__( "Disable this search form.", 'ivory-search' ) . '</label></p>' ;
1550
  if ( $checked ) {
1551
  echo '<span class="ind-status ' . $id . '-disable"></span>' ;
1552
  }
93
  ?>
94
  <h4 class="panel-desc">
95
  <?php
96
+ _e( "This search form searches the below configured content.", 'ivory-search' );
97
  ?>
98
  </h4>
99
  <div class="search-form-editor-box" id="<?php
118
  </h3>
119
  <div>
120
  <?php
121
+ $content = __( 'Search selected post types.', 'ivory-search' );
122
  IS_Help::help_info( $content );
123
  echo '<div>' ;
124
  $args = array(
150
  $ind_status = true;
151
  }
152
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_title"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_title" name="' . $id . '[search_title]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
153
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search post title", 'ivory-search' ) . '</label></p>' ;
154
  $checked = ( isset( $includes['search_content'] ) && $includes['search_content'] ? 1 : 0 );
155
  if ( !$ind_status && !$checked ) {
156
  $ind_status = true;
157
  }
158
  echo '<p class="check-radio"><label for="' . $id . '-search_content"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_content" name="' . $id . '[search_content]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
159
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search post content", 'ivory-search' ) . '</label></p>' ;
160
  $checked = ( isset( $includes['search_excerpt'] ) && $includes['search_excerpt'] ? 1 : 0 );
161
  if ( !$ind_status && !$checked ) {
162
  $ind_status = true;
163
  }
164
  echo '<p class="check-radio"><label for="' . $id . '-search_excerpt"><input class="_is_includes-post_type" type="checkbox" id="' . $id . '-search_excerpt" name="' . $id . '[search_excerpt]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
165
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search post excerpt", 'ivory-search' ) . '</label></p>' ;
166
  echo '<br /><select class="_is_includes-post_type" name="' . $id . '[post_type_qs]" >' ;
167
  $checked = ( isset( $includes['post_type_qs'] ) ? $includes['post_type_qs'] : 'none' );
168
  if ( !$ind_status && 'none' !== $checked ) {
172
  foreach ( $posts as $key => $post_type ) {
173
  echo '<option value="' . $key . '" ' . selected( $key, $checked, false ) . '>' . ucfirst( esc_html( $post_type ) ) . '</option>' ;
174
  }
175
+ echo '</select><label for="' . $id . '-post_type_qs"> ' . esc_html( __( 'Add this selected post type in the search results URL and search only its content', 'ivory-search' ) ) . '</label>' ;
176
  if ( $ind_status ) {
177
  echo '<span class="ind-status ' . $id . '-post_type"></span>' ;
178
  }
179
  } else {
180
+ echo '<span class="notice-is-info">' . __( 'No post types registered on your site.', 'ivory-search' ) . '</span>' ;
181
  }
182
 
183
  ?>
187
  <label for="<?php
188
  echo $id ;
189
  ?>-post__in"><?php
190
+ echo esc_html( __( 'Posts, Pages & Custom Posts', 'ivory-search' ) ) ;
191
  ?></label>
192
  <span class="actions"><span class="indicator <?php
193
  echo $id ;
198
  ?></a></span></h3>
199
  <div>
200
  <?php
201
+ $content = __( 'Search only selected posts.', 'ivory-search' );
 
 
202
  IS_Help::help_info( $content );
203
  echo '<div>' ;
204
  $post_types = array( 'post', 'page' );
205
  if ( isset( $includes['post_type'] ) && !empty($includes['post_type']) && is_array( $includes['post_type'] ) ) {
206
  $post_types = array_values( $includes['post_type'] );
207
  }
208
+ $posts_found = false;
209
  foreach ( $post_types as $post_type ) {
210
  $posts = get_posts( array(
211
  'post_type' => $post_type,
215
  ) );
216
 
217
  if ( !empty($posts) ) {
218
+ $posts_found = true;
219
  $html = '<div class="col-wrapper"><div class="col-title">';
220
  $col_title = '<span>' . ucwords( $post_type ) . '</span>';
221
  $temp = '';
245
  }
246
 
247
  }
248
+
249
+ if ( !$posts_found ) {
250
+ echo '<span class="notice-is-info">' . __( 'No posts created for selected post types.', 'ivory-search' ) . '</span>' ;
251
+ } else {
252
+ 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>' ;
253
+ }
254
+
255
  ?>
256
  </div></div>
257
 
259
  <label for="<?php
260
  echo $id ;
261
  ?>-tax_query"><?php
262
+ esc_html_e( 'Category & Taxonomy Terms', 'ivory-search' );
263
  ?></label>
264
  <span class="actions"><span class="indicator <?php
265
  echo $id ;
270
  ?></a></span></h3>
271
  <div>
272
  <?php
273
+ $content = __( 'Search posts of only selected categories, taxonomies & terms.', 'ivory-search' );
 
 
274
  IS_Help::help_info( $content );
275
  echo '<div>' ;
276
  $args = array( 'post', 'page' );
312
  $ind_status = true;
313
  }
314
  echo '<br /><p class="check-radio"><label for="' . $id . '-tax_rel_and" ><input class="_is_includes-tax_query" type="radio" id="' . $id . '-tax_rel_and" name="' . $id . '[tax_rel]" value="AND" ' . checked( 'AND', $checked, false ) . '/>' ;
315
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "AND - Search posts having all the above selected terms", 'ivory-search' ) . '</label></p>' ;
316
  echo '<p class="check-radio"><label for="' . $id . '-tax_rel_or" ><input class="_is_includes-tax_query" type="radio" id="' . $id . '-tax_rel_or" name="' . $id . '[tax_rel]" value="OR" ' . checked( 'OR', $checked, false ) . '/>' ;
317
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "OR - Search posts having any one of the above selected terms", 'ivory-search' ) . '</label></p>' ;
318
  $checked = ( isset( $includes['search_tax_title'] ) && $includes['search_tax_title'] ? 1 : 0 );
319
  if ( !$ind_status && $checked ) {
320
  $ind_status = true;
321
  }
322
  echo '<br /><p class="check-radio"><label for="' . $id . '-search_tax_title" ><input class="_is_includes-tax_query" type="checkbox" id="' . $id . '-search_tax_title" name="' . $id . '[search_tax_title]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
323
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search term title", 'ivory-search' ) . '</label></p>' ;
324
  $checked = ( isset( $includes['search_tax_desp'] ) && $includes['search_tax_desp'] ? 1 : 0 );
325
  if ( !$ind_status && $checked ) {
326
  $ind_status = true;
327
  }
328
  echo '<p class="check-radio"><label for="' . $id . '-search_tax_desp" ><input class="_is_includes-tax_query" type="checkbox" id="' . $id . '-search_tax_desp" name="' . $id . '[search_tax_desp]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
329
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search term description", 'ivory-search' ) . '</label></p>' ;
330
  if ( $ind_status ) {
331
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
332
  }
333
  } else {
334
+ echo '<span class="notice-is-info">' . __( 'No taxonomies registered for selected post types.', 'ivory-search' ) . '</span>' ;
335
  }
336
 
337
  ?>
342
  <label for="<?php
343
  echo $id ;
344
  ?>-custom_field"><?php
345
+ echo esc_html( __( 'Custom Fields & Metadata', 'ivory-search' ) ) ;
346
  ?></label>
347
  <span class="actions"><span class="indicator <?php
348
  echo $id ;
353
  ?></a></span></h3>
354
  <div>
355
  <?php
356
+ $content = __( 'Search values of selected custom fields.', 'ivory-search' );
357
  IS_Help::help_info( $content );
358
  echo '<div>' ;
359
  $args = array( 'post', 'page' );
371
  }
372
  echo '</select>' ;
373
  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>' ;
374
+ } else {
375
+ echo '<span class="notice-is-info">' . __( 'No custom fields created for selected post types.', 'ivory-search' ) . '</span>' ;
376
  }
377
 
378
 
403
  ?></a></span></h3>
404
  <div>
405
  <?php
406
+ $content = __( 'Search WooCommerce products.', 'ivory-search' );
407
  IS_Help::help_info( $content );
408
  echo '<div>' ;
409
 
421
  $ind_status = true;
422
  }
423
  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 ) . '/>' ;
424
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search product SKU", 'ivory-search' ) . '</label></p>' ;
425
  $checked = ( isset( $includes['woo']['variation'] ) && $includes['woo']['variation'] ? 1 : 0 );
426
  if ( !$ind_status && $checked ) {
427
  $ind_status = true;
428
  }
429
  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 ) . '/>' ;
430
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search product variation", 'ivory-search' ) . '</label>' ;
431
  echo IS_Admin::pro_link( 'pro_plus' ) . '</p>' ;
432
  if ( $ind_status ) {
433
  echo '<span class="ind-status ' . $id . '-woocommerce"></span>' ;
434
  }
435
  } else {
436
+ echo '<span class="notice-is-info">' . __( 'This search form is not configured to search WooCommerce product post type.', 'ivory-search' ) . '</span>' ;
437
  }
438
 
439
  } else {
440
+ echo '<span class="notice-is-info">' . __( 'Activate WooCommerce plugin to use this option.', 'ivory-search' ) . '</span>' ;
441
  }
442
 
443
  ?>
459
  ?></a></span></h3>
460
  <div>
461
  <?php
462
+ $content = __( 'Search posts of selected authors.', 'ivory-search' );
463
  IS_Help::help_info( $content );
464
  echo '<div>' ;
465
  $author_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
489
  }
490
 
491
  } else {
492
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Excludes section to not search for specific author posts.", 'ivory-search' ) . '</span>' ;
493
  }
494
 
495
  if ( '' !== $author_disable ) {
497
  }
498
  $checked = ( isset( $includes['search_author'] ) && $includes['search_author'] ? 1 : 0 );
499
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_author" ><input class="_is_includes-author" type="checkbox" id="' . $id . '-search_author" name="' . $id . '[search_author]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
500
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search author Display Name and display the posts created by that author", 'ivory-search' ) . '</label></p>' ;
501
  if ( $checked || isset( $includes['author'] ) && !empty($includes['author']) ) {
502
  echo '<span class="ind-status ' . $id . '-author"></span>' ;
503
  }
519
  ?></a></span></h3>
520
  <div>
521
  <?php
522
+ $content = __( 'Search posts having selected post statuses.', 'ivory-search' );
523
  IS_Help::help_info( $content );
524
  echo '<div>' ;
525
 
542
  echo '<span class="ind-status ' . $id . '-post_status"></span>' ;
543
  }
544
  } else {
545
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Excludes section to not search posts of specific post statuses.", 'ivory-search' ) . '</span>' ;
546
  }
547
 
548
  ?>
565
  <div>
566
  <?php
567
  $ind_status = false;
568
+ $content = __( 'Search posts by comments.', 'ivory-search' );
569
  IS_Help::help_info( $content );
570
  echo '<div>' ;
571
  $comment_count_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
572
  if ( '' !== $comment_count_disable ) {
573
  echo '<div class="upgrade-parent">' . IS_Admin::pro_link() ;
574
  }
575
+ echo '<label for="' . $id . '-comment_count-compare"> ' . esc_html( __( 'Search posts having number of comments', 'ivory-search' ) ) . '</label><select class="_is_includes-comment_count" name="' . $id . '[comment_count][compare]" ' . $comment_count_disable . ' style="min-width: 50px;">' ;
576
  $checked = ( isset( $includes['comment_count']['compare'] ) ? htmlspecialchars_decode( $includes['comment_count']['compare'] ) : '=' );
577
  if ( '=' !== $checked ) {
578
  $ind_status = true;
588
  foreach ( $compare as $d ) {
589
  echo '<option value="' . htmlspecialchars_decode( $d ) . '" ' . selected( $d, $checked, false ) . '>' . esc_html( $d ) . '</option>' ;
590
  }
591
+ echo '</select>' ;
592
+ echo '<select class="_is_includes-comment_count" name="' . $id . '[comment_count][value]" ' . $comment_count_disable . ' >' ;
593
  $checked = ( isset( $includes['comment_count']['value'] ) ? $includes['comment_count']['value'] : 'na' );
594
  if ( !$ind_status && 'na' !== $checked ) {
595
  $ind_status = true;
598
  for ( $d = 0 ; $d <= 999 ; $d++ ) {
599
  echo '<option value="' . $d . '" ' . selected( $d, $checked, false ) . '>' . $d . '</option>' ;
600
  }
601
+ echo '</select>' ;
602
  if ( '' !== $comment_count_disable ) {
603
  echo '</div>' ;
604
  }
607
  $ind_status = true;
608
  }
609
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-search_comment" ><input class="_is_includes-comment_count" type="checkbox" id="' . $id . '-search_comment" name="' . $id . '[search_comment]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
610
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search approved comment content", 'ivory-search' ) . '</label></p>' ;
611
  if ( $ind_status ) {
612
  echo '<span class="ind-status ' . $id . '-comment_count"></span>' ;
613
  }
630
  ?></a></span></h3>
631
  <div>
632
  <?php
633
+ $content = __( 'Search posts created in the specified date range.', 'ivory-search' );
634
  IS_Help::help_info( $content );
635
  echo '<div>' ;
636
  $range = array( 'after', 'before' );
637
  $ind_status = false;
638
  foreach ( $range as $value ) {
639
+ $col_title = ( 'after' == $value ? __( 'From', 'ivory-search' ) : __( 'To', 'ivory-search' ) );
640
+ echo '<div class="col-wrapper ' . $value . '"><div class="col-title">' . $col_title . '</div>' ;
641
  echo '<select class="_is_includes-date_query" name="' . $id . '[date_query][' . $value . '][day]" >' ;
642
  $checked = ( isset( $includes['date_query'][$value]['day'] ) ? $includes['date_query'][$value]['day'] : 'day' );
643
  if ( 'day' !== $checked ) {
686
  <label for="<?php
687
  echo $id ;
688
  ?>-has_password"><?php
689
+ echo esc_html( __( 'Password Protected', 'ivory-search' ) ) ;
690
  ?></label>
691
  <span class="actions"><span class="indicator <?php
692
  echo $id ;
697
  ?></a></span></h3>
698
  <div>
699
  <?php
 
 
700
  echo '<div>' ;
701
  $checked = ( isset( $includes['has_password'] ) ? $includes['has_password'] : 'null' );
702
  echo '<p class="check-radio"><label for="' . $id . '-has_password" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password" name="' . $id . '[has_password]" value="null" ' . checked( 'null', $checked, false ) . '/>' ;
703
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search posts with or without passwords", 'ivory-search' ) . '</label></p>' ;
704
  echo '<p class="check-radio"><label for="' . $id . '-has_password_1" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password_1" name="' . $id . '[has_password]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
705
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search posts with passwords", 'ivory-search' ) . '</label></p>' ;
706
  echo '<p class="check-radio"><label for="' . $id . '-has_password_0" ><input class="_is_includes-has_password" type="radio" id="' . $id . '-has_password_0" name="' . $id . '[has_password]" value="0" ' . checked( 0, $checked, false ) . '/>' ;
707
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Search posts without passwords", 'ivory-search' ) . '</label></p>' ;
708
  if ( 'null' !== $checked ) {
709
  echo '<span class="ind-status ' . $id . '-has_password"></span>' ;
710
  }
721
  <label for="<?php
722
  echo $id ;
723
  ?>-post_file_type"><?php
724
+ echo esc_html( __( 'Attachments, Media, Files & MIME Types', 'ivory-search' ) ) ;
725
  ?></label>
726
  <span class="actions"><span class="indicator <?php
727
  echo $id ;
732
  ?></a></span></h3>
733
  <div>
734
  <?php
735
+ $content = __( 'Search selected media, attachments, images, documents, videos, files or MIME types.', 'ivory-search' );
736
  IS_Help::help_info( $content );
737
  echo '<div>' ;
738
 
756
  }
757
 
758
  } else {
759
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Excludes section to not search specific file & MIME types.", 'ivory-search' ) . '</span>' ;
760
  }
761
 
762
  } else {
763
+ echo '<span class="notice-is-info">' . __( 'This search form is not configured to search Attachment post type.', 'ivory-search' ) . '</span>' ;
764
  }
765
 
766
 
794
  ?>
795
  <h4 class="panel-desc">
796
  <?php
797
+ _e( "This search form excludes the below configured content from search.", 'ivory-search' );
798
  ?>
799
  </h4>
800
  <div class="search-form-editor-box" id="<?php
806
  <label for="<?php
807
  echo $id ;
808
  ?>-post__not_in"><?php
809
+ echo esc_html( __( 'Posts, Pages & Custom Posts', 'ivory-search' ) ) ;
810
  ?></label>
811
  <span class="actions"><span class="indicator <?php
812
  echo $id ;
817
  ?></a></span></h3>
818
  <div>
819
  <?php
820
+ $content = __( 'Exclude selected posts from search.', 'ivory-search' );
 
 
821
  IS_Help::help_info( $content );
822
  echo '<div>' ;
823
+ $post_types = array( 'post', 'page' );
824
+ if ( isset( $includes['post_type'] ) && !empty($includes['post_type']) && is_array( $includes['post_type'] ) ) {
825
+ $post_types = array_values( $includes['post_type'] );
826
+ }
827
 
828
  if ( !isset( $includes['post__in'] ) ) {
829
+ $posts_found = false;
 
 
 
830
  foreach ( $post_types as $post_type ) {
831
  $posts = get_posts( array(
832
  'post_type' => $post_type,
836
  ) );
837
 
838
  if ( !empty($posts) ) {
839
+ $posts_found = true;
840
  $html = '<div class="col-wrapper"><div class="col-title">';
841
  $col_title = '<span>' . ucwords( $post_type ) . '</span>';
842
  $temp = '';
866
  }
867
 
868
  }
869
+
870
+ if ( !$posts_found ) {
871
+ echo '<span class="notice-is-info">' . __( 'No posts created for selected post types.', 'ivory-search' ) . '</span>' ;
872
+ } else {
873
+ 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>' ;
874
+ }
875
+
876
  } else {
877
+ echo '<span class="notice-is-info">' . __( 'This search form is already configured in the Includes section to search specific posts.', 'ivory-search' ) . '</span>' ;
878
  }
879
 
880
  ?>
884
  <label for="<?php
885
  echo $id ;
886
  ?>-tax_query"><?php
887
+ esc_html_e( 'Category & Taxonomy Terms', 'ivory-search' );
888
  ?></label>
889
  <span class="actions"><span class="indicator <?php
890
  echo $id ;
895
  ?></a></span></h3>
896
  <div>
897
  <?php
898
+ $content = __( 'Exclude posts of selected categories, taxonomies & terms from search.', 'ivory-search' );
 
 
899
  IS_Help::help_info( $content );
900
  echo '<div>' ;
901
  $tax_objs = get_object_taxonomies( $post_types, 'objects' );
927
  echo '<span class="ind-status ' . $id . '-tax_query"></span>' ;
928
  }
929
  } else {
930
+ echo '<span class="notice-is-info">' . __( 'No taxonomies registered for selected post types.', 'ivory-search' ) . '</span>' ;
931
  }
932
 
933
  ?>
938
  <label for="<?php
939
  echo $id ;
940
  ?>-custom_field"><?php
941
+ echo esc_html( __( 'Custom Fields & Metadata', 'ivory-search' ) ) ;
942
  ?></label>
943
  <span class="actions"><span class="indicator <?php
944
  echo $id ;
949
  ?></a></span></h3>
950
  <div>
951
  <?php
952
+ $content = __( 'Exclude posts having selected custom fields from search.', 'ivory-search' );
953
  IS_Help::help_info( $content );
954
  echo '<div>' ;
955
+ $meta_keys = $this->is_meta_keys( $post_types );
 
 
 
 
956
 
957
  if ( !empty($meta_keys) ) {
958
  $custom_field_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
965
  echo '</select>' ;
966
  echo IS_Admin::pro_link() ;
967
  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>' ;
968
+ } else {
969
+ echo '<span class="notice-is-info">' . __( 'No custom fields created for selected post types.', 'ivory-search' ) . '</span>' ;
970
  }
971
 
972
 
997
  ?></a></span></h3>
998
  <div>
999
  <?php
1000
+ $content = __( 'Exclude selected WooCommerce products from search.', 'ivory-search' );
1001
  IS_Help::help_info( $content );
1002
  echo '<div>' ;
1003
 
1014
  echo '<span class="ind-status ' . $id . '-woocommerce"></span>' ;
1015
  }
1016
  echo '<p class="check-radio"><label for="' . $id . '-outofstock" ><input class="_is_excludes-woocommerce" type="checkbox" ' . $outofstock_disable . ' id="' . $id . '-outofstock" name="' . $id . '[woo][outofstock]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1017
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Exclude 'Out of Stock' products", 'ivory-search' ) . '</label></p>' ;
1018
  echo IS_Admin::pro_link( 'pro_plus' ) ;
1019
  } else {
1020
+ echo '<span class="notice-is-info">' . __( 'This search form is not configured to search WooCommerce product post type.', 'ivory-search' ) . '</span>' ;
1021
  }
1022
 
1023
  } else {
1024
+ echo '<span class="notice-is-info">' . __( 'Activate WooCommerce plugin to use this option.', 'ivory-search' ) . '</span>' ;
1025
  }
1026
 
1027
  ?>
1043
  ?></a></span></h3>
1044
  <div>
1045
  <?php
1046
+ $content = __( 'Exclude posts created by selected authors from search.', 'ivory-search' );
1047
  IS_Help::help_info( $content );
1048
  echo '<div>' ;
1049
 
1076
  }
1077
 
1078
  } else {
1079
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Includes section to search posts created by specific authors.", 'ivory-search' ) . '</span>' ;
1080
  }
1081
 
1082
  ?>
1098
  ?></a></span></h3>
1099
  <div>
1100
  <?php
1101
+ $content = __( 'Exclude posts having selected post statuses from search.', 'ivory-search' );
1102
  IS_Help::help_info( $content );
1103
  echo '<div>' ;
1104
 
1121
  }
1122
 
1123
  } else {
1124
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Includes section to search posts of specific post statuses.", 'ivory-search' ) . '</span>' ;
1125
  }
1126
 
1127
  $checked = ( isset( $excludes['ignore_sticky_posts'] ) && $excludes['ignore_sticky_posts'] ? 1 : 0 );
1129
  echo '<span class="ind-status ' . $id . '-post_status"></span>' ;
1130
  }
1131
  echo '<br /><br /><p class="check-radio"><label for="' . $id . '-ignore_sticky_posts" ><input class="_is_excludes-post_status" type="checkbox" id="' . $id . '-ignore_sticky_posts" name="' . $id . '[ignore_sticky_posts]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1132
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Exclude sticky posts from search", 'ivory-search' ) . '</label></p>' ;
1133
  ?>
1134
  </div></div>
1135
 
1143
  <label for="<?php
1144
  echo $id ;
1145
  ?>-post_file_type"><?php
1146
+ echo esc_html( __( 'Attachments, Media, Files & MIME Types', 'ivory-search' ) ) ;
1147
  ?></label>
1148
  <span class="actions"><span class="indicator <?php
1149
  echo $id ;
1154
  ?></a></span></h3>
1155
  <div>
1156
  <?php
1157
+ $content = __( 'Exclude selected media, attachments, images, documents, videos, files or MIME types from search.', 'ivory-search' );
1158
  IS_Help::help_info( $content );
1159
  echo '<div>' ;
1160
 
1178
  }
1179
 
1180
  } else {
1181
+ echo '<span class="notice-is-info">' . esc_html__( "This search form is already configured in the Includes section to search specific Attachments, Media or Files.", 'ivory-search' ) . '</span>' ;
1182
  }
1183
 
1184
  } else {
1185
+ echo '<span class="notice-is-info">' . __( 'This search form is not configured to search Attachment post type.', 'ivory-search' ) . '</span>' ;
1186
  }
1187
 
1188
 
1213
  ?>
1214
  <h4 class="panel-desc">
1215
  <?php
1216
+ _e( "Configure below options to manage functionality of this search form.", 'ivory-search' );
1217
  ?>
1218
  </h4>
1219
  <div class="search-form-editor-box" id="<?php
1234
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1235
  esc_html_e( 'Collapse All', 'ivory-search' );
1236
  ?></a></span></h3>
1237
+ <div>
1238
+ <?php
1239
+ $content = __( 'Display selected number of posts on search results page.', 'ivory-search' );
1240
+ IS_Help::help_info( $content );
1241
+ echo '<div>' ;
1242
  echo '<select class="_is_settings-posts_per_page" name="' . $id . '[posts_per_page]" >' ;
1243
  $default_per_page = get_option( 'posts_per_page', 10 );
1244
  $checked = ( isset( $settings['posts_per_page'] ) ? $settings['posts_per_page'] : $default_per_page );
1245
  for ( $d = 1 ; $d <= 1000 ; $d++ ) {
1246
  echo '<option value="' . $d . '" ' . selected( $d, $checked, false ) . '>' . $d . '</option>' ;
1247
  }
1248
+ echo '</select>' ;
1249
  if ( $checked !== $default_per_page ) {
1250
  echo '<span class="ind-status ' . $id . '-posts_per_page"></span>' ;
1251
  }
1257
  <label for="<?php
1258
  echo $id ;
1259
  ?>-order"><?php
1260
+ echo esc_html( __( 'Order Search Results', 'ivory-search' ) ) ;
1261
  ?></label>
1262
  <span class="actions"><span class="indicator <?php
1263
  echo $id ;
1266
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1267
  esc_html_e( 'Collapse All', 'ivory-search' );
1268
  ?></a></span></h3>
1269
+ <div><?php
1270
+ $content = __( 'Display posts on search results page ordered by selected options.', 'ivory-search' );
1271
+ IS_Help::help_info( $content );
1272
+ echo '<div>' ;
1273
  $ind_status = false;
1274
  $orderby_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1275
  echo '<select class="_is_settings-order" name="' . $id . '[orderby]" ' . $orderby_disable . ' >' ;
1322
  <label for="<?php
1323
  echo $id ;
1324
  ?>-highlight_terms"><?php
1325
+ echo esc_html( __( 'Highlight Search Terms', 'ivory-search' ) ) ;
1326
  ?></label>
1327
  <span class="actions"><span class="indicator <?php
1328
  echo $id ;
1339
  $ind_status = true;
1340
  }
1341
  echo '<p class="check-radio"><label for="' . $id . '-highlight_terms" ><input class="_is_settings-highlight_terms" type="checkbox" id="' . $id . '-highlight_terms" name="' . $id . '[highlight_terms]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1342
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Highlight searched terms on search results page", 'ivory-search' ) . '</label></p>' ;
1343
  $color = ( isset( $settings['highlight_color'] ) ? $settings['highlight_color'] : '#FFFFB9' );
1344
  if ( !$ind_status && '#FFFFB9' !== $color ) {
1345
  $ind_status = true;
1346
  }
1347
+ echo '<br /><input style="width: 80px;" class="_is_settings-highlight_terms" size="5" type="text" id="' . $id . '-highlight_color" name="' . $id . '[highlight_color]" value="' . $color . '" />' ;
1348
+ echo '<label for="' . $id . '-highlight_color" > ' . esc_html__( "Set highlight color in Hex format", 'ivory-search' ) . '</label>' ;
1349
  if ( $ind_status ) {
1350
  echo '<span class="ind-status ' . $id . '-highlight_terms"></span>' ;
1351
  }
1357
  <label for="<?php
1358
  echo $id ;
1359
  ?>-term_rel"><?php
1360
+ echo esc_html( __( 'Search All Or Any Search Terms', 'ivory-search' ) ) ;
1361
  ?></label>
1362
  <span class="actions"><span class="indicator <?php
1363
  echo $id ;
1366
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1367
  esc_html_e( 'Collapse All', 'ivory-search' );
1368
  ?></a></span></h3>
1369
+ <div>
1370
  <?php
1371
+ $content = __( 'Select whether to search posts having all or any of the words being searched.', 'ivory-search' );
1372
+ IS_Help::help_info( $content );
1373
+ echo '<div>' ;
1374
  $term_rel_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1375
  $checked = ( isset( $settings['term_rel'] ) && "OR" === $settings['term_rel'] ? "OR" : "AND" );
1376
  echo '<p class="check-radio"><label for="' . $id . '-term_rel_or" ><input class="_is_settings-term_rel" type="radio" ' . $term_rel_disable . ' id="' . $id . '-term_rel_or" name="' . $id . '[term_rel]" value="OR" ' . checked( 'OR', $checked, false ) . '/>' ;
1377
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "OR - Display content having any of the search terms", 'ivory-search' ) . '</label>' . IS_Admin::pro_link() . '</p>' ;
1378
  echo '<p class="check-radio"><label for="' . $id . '-term_rel_and" ><input class="_is_settings-term_rel" type="radio" ' . $term_rel_disable . ' id="' . $id . '-term_rel_and" name="' . $id . '[term_rel]" value="AND" ' . checked( 'AND', $checked, false ) . '/>' ;
1379
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "AND - Display content having all the search terms", 'ivory-search' ) . '</label></p>' ;
1380
  if ( "AND" !== $checked ) {
1381
  echo '<span class="ind-status ' . $id . '-term_rel"></span>' ;
1382
  }
1397
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1398
  esc_html_e( 'Collapse All', 'ivory-search' );
1399
  ?></a></span></h3>
1400
+ <div><?php
1401
+ $content = __( 'Select whether to search posts having whole or partial word being searched.', 'ivory-search' );
1402
+ IS_Help::help_info( $content );
1403
+ echo '<div>' ;
1404
  $checked = ( isset( $settings['fuzzy_match'] ) ? $settings['fuzzy_match'] : '2' );
1405
  echo '<p class="check-radio"><label for="' . $id . '-whole" ><input class="_is_settings-fuzzy_match" type="radio" id="' . $id . '-whole" name="' . $id . '[fuzzy_match]" value="1" ' . checked( '1', $checked, false ) . '/>' ;
1406
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Whole - Search posts that include the whole search term", 'ivory-search' ) . '</label></p>' ;
1407
  echo '<p class="check-radio"><label for="' . $id . '-partial" ><input class="_is_settings-fuzzy_match" type="radio" id="' . $id . '-partial" name="' . $id . '[fuzzy_match]" value="2" ' . checked( '2', $checked, false ) . '/>' ;
1408
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Partial - Also search words in the posts that begins or ends with the search term", 'ivory-search' ) . '</label></p>' ;
1409
  if ( "2" !== $checked ) {
1410
  echo '<span class="ind-status ' . $id . '-fuzzy_match"></span>' ;
1411
  }
1428
  ?></a></span></h3>
1429
  <div>
1430
  <?php
1431
+ $content = __( 'Select whether to search the base word of a searched keyword.', 'ivory-search' );
1432
  $content .= '<p>' . __( 'For Example: If you search "doing" then it also searches base word of "doing" that is "do" in the specified post types.', 'ivory-search' ) . '</p>';
1433
+ $content .= '<p>' . __( 'Not recommended to use when Fuzzy Matching option is set to Whole.', 'ivory-search' ) . '</p>';
1434
  IS_Help::help_info( $content );
1435
  echo '<div>' ;
1436
  $stem_disable = ( is_fs()->is_plan_or_trial( 'pro_plus' ) && $this->is_premium_plugin ? '' : ' disabled ' );
1437
  $checked = ( isset( $settings['keyword_stem'] ) && $settings['keyword_stem'] ? 1 : 0 );
1438
  echo '<p class="check-radio"><label for="' . $id . '-keyword_stem" ><input class="_is_settings-keyword_stem" type="checkbox" id="' . $id . '-keyword_stem" ' . $stem_disable . ' name="' . $id . '[keyword_stem]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1439
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Also search base word of searched keyword", 'ivory-search' ) . '</label></p>' ;
1440
  echo IS_Admin::pro_link( 'pro_plus' ) ;
 
1441
  if ( $checked ) {
1442
  echo '<span class="ind-status ' . $id . '-keyword_stem"></span>' ;
1443
  }
1462
  <?php
1463
  $checked = ( isset( $settings['move_sticky_posts'] ) && $settings['move_sticky_posts'] ? 1 : 0 );
1464
  echo '<p class="check-radio"><label for="' . $id . '-move_sticky_posts" ><input class="_is_settings-move_sticky_posts" type="checkbox" id="' . $id . '-move_sticky_posts" name="' . $id . '[move_sticky_posts]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1465
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Display sticky posts to the start of the search results page", 'ivory-search' ) . '</label></p>' ;
1466
  if ( $checked ) {
1467
  echo '<span class="ind-status ' . $id . '-move_sticky_posts"></span>' ;
1468
  }
1474
  <label for="<?php
1475
  echo $id ;
1476
  ?>-empty_search"><?php
1477
+ echo esc_html( __( 'Empty Search Query', 'ivory-search' ) ) ;
1478
  ?></label>
1479
  <span class="actions"><span class="indicator <?php
1480
  echo $id ;
1483
  ?></a><a class="collapse" href="#" style="display:none;"><?php
1484
  esc_html_e( 'Collapse All', 'ivory-search' );
1485
  ?></a></span></h3>
1486
+ <div><?php
1487
+ $content = __( 'Select whether to display an error when user perform search without any search word.', 'ivory-search' );
1488
+ IS_Help::help_info( $content );
1489
+ echo '<div>' ;
1490
  $checked = ( isset( $settings['empty_search'] ) && $settings['empty_search'] ? 1 : 0 );
1491
  echo '<p class="check-radio"><label for="' . $id . '-empty_search" ><input class="_is_settings-empty_search" type="checkbox" id="' . $id . '-empty_search" name="' . $id . '[empty_search]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1492
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Display an error for empty search query", 'ivory-search' ) . '</label></p>' ;
1493
  if ( $checked ) {
1494
  echo '<span class="ind-status ' . $id . '-empty_search"></span>' ;
1495
  }
1514
  <?php
1515
  $checked = ( isset( $settings['exclude_from_search'] ) && $settings['exclude_from_search'] ? 1 : 0 );
1516
  echo '<p class="check-radio"><label for="' . $id . '-exclude_from_search" ><input class="_is_settings-exclude_from_search" type="checkbox" id="' . $id . '-exclude_from_search" name="' . $id . '[exclude_from_search]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1517
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Do not search post types which are excluded from search", 'ivory-search' ) . '</label></p>' ;
1518
  if ( $checked ) {
1519
  echo '<span class="ind-status ' . $id . '-exclude_from_search"></span>' ;
1520
  }
1526
  <label for="<?php
1527
  echo $id ;
1528
  ?>-demo"><?php
1529
+ echo esc_html( __( 'Demo Search', 'ivory-search' ) ) ;
1530
  ?></label>
1531
  <span class="actions"><span class="indicator <?php
1532
  echo $id ;
1539
  <?php
1540
  $checked = ( isset( $settings['demo'] ) && $settings['demo'] ? 1 : 0 );
1541
  echo '<p class="check-radio"><label for="' . $id . '-demo" ><input class="_is_settings-demo" type="checkbox" id="' . $id . '-demo" name="' . $id . '[demo]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1542
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Display search form only for site administrator", 'ivory-search' ) . '</label></p>' ;
1543
  if ( $checked ) {
1544
  echo '<span class="ind-status ' . $id . '-demo"></span>' ;
1545
  }
1551
  <label for="<?php
1552
  echo $id ;
1553
  ?>-disable"><?php
1554
+ echo esc_html( __( 'Disable Search', 'ivory-search' ) ) ;
1555
  ?></label>
1556
  <span class="actions"><span class="indicator <?php
1557
  echo $id ;
1564
  <?php
1565
  $checked = ( isset( $settings['disable'] ) && $settings['disable'] ? 1 : 0 );
1566
  echo '<p class="check-radio"><label for="' . $id . '-disable" ><input class="_is_settings-disable" type="checkbox" id="' . $id . '-disable" name="' . $id . '[disable]" value="1" ' . checked( 1, $checked, false ) . '/>' ;
1567
+ echo '<span class="toggle-check-text"></span>' . esc_html__( "Disable this search form", 'ivory-search' ) . '</label></p>' ;
1568
  if ( $checked ) {
1569
  echo '<span class="ind-status ' . $id . '-disable"></span>' ;
1570
  }
admin/class-is-list-table.php CHANGED
@@ -119,7 +119,7 @@ class IS_List_Table extends WP_List_Table {
119
  }
120
 
121
  function column_cb( $item ) {
122
- if ( 'Default Search Form' !== $item->title() ) {
123
  return sprintf(
124
  '<input type="checkbox" name="%1$s[]" value="%2$s" />',
125
  $this->_args['singular'],
@@ -162,7 +162,7 @@ class IS_List_Table extends WP_List_Table {
162
  ) );
163
  }
164
 
165
- if ( current_user_can( 'is_delete_search_form', $item->id() ) && 'Default Search Form' !== $item->title() ) {
166
  $delete_link = wp_nonce_url(
167
  add_query_arg( array( 'action' => 'delete' ), $url ),
168
  'is-delete-search-form_' . absint( $item->id() ) );
119
  }
120
 
121
  function column_cb( $item ) {
122
+ if ( 'Default Search Form' !== $item->title() || defined( 'DELETE_DEFAULT_SEARCH_FORM' ) ) {
123
  return sprintf(
124
  '<input type="checkbox" name="%1$s[]" value="%2$s" />',
125
  $this->_args['singular'],
162
  ) );
163
  }
164
 
165
+ if ( current_user_can( 'is_delete_search_form', $item->id() ) && ( 'Default Search Form' !== $item->title() || defined( 'DELETE_DEFAULT_SEARCH_FORM' ) ) ) {
166
  $delete_link = wp_nonce_url(
167
  add_query_arg( array( 'action' => 'delete' ), $url ),
168
  'is-delete-search-form_' . absint( $item->id() ) );
admin/class-is-settings-fields.php CHANGED
@@ -193,21 +193,21 @@ class IS_Settings_Fields
193
  );
194
  add_settings_field(
195
  'ivory_search_header',
196
- __( 'Header', 'ivory-search' ),
197
  array( $this, 'header' ),
198
  'ivory_search',
199
  'ivory_search_settings'
200
  );
201
  add_settings_field(
202
  'ivory_search_footer',
203
- __( 'Footer', 'ivory-search' ),
204
  array( $this, 'footer' ),
205
  'ivory_search',
206
  'ivory_search_settings'
207
  );
208
  add_settings_field(
209
  'ivory_search_display_in_header',
210
- __( 'Mobile Display', 'ivory-search' ),
211
  array( $this, 'menu_search_in_header' ),
212
  'ivory_search',
213
  'ivory_search_settings'
@@ -235,14 +235,14 @@ class IS_Settings_Fields
235
  );
236
  add_settings_field(
237
  'not_load_files',
238
- __( 'Not load files', 'ivory-search' ),
239
  array( $this, 'plugin_files' ),
240
  'ivory_search',
241
  'ivory_search_settings'
242
  );
243
  add_settings_field(
244
  'ivory_search_disable',
245
- __( 'Disable', 'ivory-search' ),
246
  array( $this, 'disable' ),
247
  'ivory_search',
248
  'ivory_search_settings'
@@ -266,7 +266,7 @@ class IS_Settings_Fields
266
  */
267
  function menu_search_section_desc()
268
  {
269
- echo '<h4 class="panel-desc">' . __( 'Use below options to display search in menu and configure it.', 'ivory-search' ) . '</h4>' ;
270
  }
271
 
272
  /**
@@ -274,7 +274,7 @@ class IS_Settings_Fields
274
  */
275
  function settings_section_desc()
276
  {
277
- echo '<h4 class="panel-desc">' . __( 'Use below options to make sitewide changes in search.', 'ivory-search' ) . '</h4>' ;
278
  }
279
 
280
  /**
@@ -282,7 +282,7 @@ class IS_Settings_Fields
282
  */
283
  function menu_locations()
284
  {
285
- $content = __( 'Select menu here where you want to display search form.', 'ivory-search' );
286
  IS_Help::help_info( $content );
287
  $html = '';
288
  $menus = get_registered_nav_menus();
@@ -301,7 +301,7 @@ class IS_Settings_Fields
301
  $html .= '<span class="toggle-check-text"></span> ' . esc_html( $description ) . '</label></p>';
302
  }
303
  } else {
304
- $html = __( 'No navigation menu registered on your site.', 'ivory-search' );
305
  }
306
 
307
  echo '<div>' . $html . '</div>' ;
@@ -312,7 +312,7 @@ class IS_Settings_Fields
312
  */
313
  function menu_search_form()
314
  {
315
- $content = __( 'Select search form that will control search performed using menu search.', 'ivory-search' );
316
  IS_Help::help_info( $content );
317
  $html = '<p>';
318
  $form_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? false : true );
@@ -358,7 +358,7 @@ class IS_Settings_Fields
358
  */
359
  function menu_form_style()
360
  {
361
- $content = __( 'Select form style for the search form displayed in the menu.', 'ivory-search' );
362
  IS_Help::help_info( $content );
363
  $styles = array(
364
  'default' => __( 'Default', 'ivory-search' ),
@@ -396,7 +396,7 @@ class IS_Settings_Fields
396
  */
397
  function menu_title()
398
  {
399
- $content = __( 'Displays the set menu title text in place of search icon in the navigation menu.', 'ivory-search' );
400
  IS_Help::help_info( $content );
401
  $this->opt['add_search_to_menu_title'] = ( isset( $this->opt['add_search_to_menu_title'] ) ? $this->opt['add_search_to_menu_title'] : '' );
402
  $this->opt['menu_title'] = ( isset( $this->opt['menu_title'] ) ? $this->opt['menu_title'] : $this->opt['add_search_to_menu_title'] );
@@ -409,12 +409,12 @@ class IS_Settings_Fields
409
  */
410
  function menu_classes()
411
  {
412
- $content = __( 'Adds set classes in the search navigation menu item.', 'ivory-search' );
413
  IS_Help::help_info( $content );
414
  $this->opt['add_search_to_menu_classes'] = ( isset( $this->opt['add_search_to_menu_classes'] ) ? $this->opt['add_search_to_menu_classes'] : '' );
415
  $this->opt['menu_classes'] = ( isset( $this->opt['menu_classes'] ) ? $this->opt['menu_classes'] : $this->opt['add_search_to_menu_classes'] );
416
  $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'] ) . '" />';
417
- $html .= '<br /><label for="is_menu_classes" style="font-size: 10px;">' . esc_html__( "Add classes seperated by space.", 'ivory-search' ) . '</label>';
418
  echo '<div>' . $html . '</div>' ;
419
  }
420
 
@@ -423,7 +423,7 @@ class IS_Settings_Fields
423
  */
424
  function menu_google_cse()
425
  {
426
- $content = __( 'Add only Google Custom Search( CSE ) search form code in the above text box that will replace default search form.', 'ivory-search' );
427
  IS_Help::help_info( $content );
428
  $this->opt['add_search_to_menu_gcse'] = ( isset( $this->opt['add_search_to_menu_gcse'] ) ? $this->opt['add_search_to_menu_gcse'] : '' );
429
  $this->opt['menu_gcse'] = ( isset( $this->opt['menu_gcse'] ) ? $this->opt['menu_gcse'] : $this->opt['add_search_to_menu_gcse'] );
@@ -445,7 +445,7 @@ class IS_Settings_Fields
445
  }
446
 
447
  $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 . ' />';
448
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display Search Form Close Icon', 'ivory-search' ) . '</label>';
449
  echo '<div>' . $html . '</div>' ;
450
  }
451
 
@@ -454,7 +454,7 @@ class IS_Settings_Fields
454
  */
455
  function header()
456
  {
457
- $content = __( 'Displays search form in site header using wp_head hook.', 'ivory-search' );
458
  IS_Help::help_info( $content );
459
  $html = '';
460
  $args = array(
@@ -488,7 +488,7 @@ class IS_Settings_Fields
488
  */
489
  function footer()
490
  {
491
- $content = __( 'Displays search form in site footer using wp_footer hook.', 'ivory-search' );
492
  IS_Help::help_info( $content );
493
  $html = '';
494
  $args = array(
@@ -522,8 +522,6 @@ class IS_Settings_Fields
522
  */
523
  function menu_search_in_header()
524
  {
525
- $content = __( 'Note: Does not work with caching as this functionality uses the WordPress wp_is_mobile function.', 'ivory-search' );
526
- IS_Help::help_info( $content );
527
  $check_value = ( isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0 );
528
  $check_string = checked( 'add_search_to_menu_display_in_header', $check_value, false );
529
 
@@ -533,10 +531,10 @@ class IS_Settings_Fields
533
  }
534
 
535
  $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 . ' />';
536
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display search form in header on mobile devices', 'ivory-search' ) . '</label>';
537
  echo '<div>' . $html . '</div><br />' ;
538
  $html = '';
539
- $content = __( 'Use this option to display search form in your site header and hide the search form on desktop using CSS code.', 'ivory-search' );
540
  IS_Help::help_info( $content );
541
  $check_value = ( isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0 );
542
  $check_string = checked( 'astm_site_uses_cache', $check_value, false );
@@ -556,7 +554,7 @@ class IS_Settings_Fields
556
  */
557
  function custom_css()
558
  {
559
- $content = __( 'Add custom css code if any to style search form.', 'ivory-search' );
560
  IS_Help::help_info( $content );
561
  $this->opt['add_search_to_menu_css'] = ( isset( $this->opt['add_search_to_menu_css'] ) ? $this->opt['add_search_to_menu_css'] : '' );
562
  $this->opt['custom_css'] = ( isset( $this->opt['custom_css'] ) ? $this->opt['custom_css'] : $this->opt['add_search_to_menu_css'] );
@@ -569,12 +567,11 @@ class IS_Settings_Fields
569
  */
570
  function stopwords()
571
  {
572
- $content = __( 'Enter words here to add them to the list of stopwords. The stopwords will not be searched.', 'ivory-search' );
573
- $content .= '<br />' . __( 'This works with search form.', 'ivory-search' );
574
  IS_Help::help_info( $content );
575
  $this->opt['stopwords'] = ( isset( $this->opt['stopwords'] ) ? $this->opt['stopwords'] : '' );
576
  $html = '<textarea class="ivory_search_stopwords" rows="4" id="stopwords" name="is_settings[stopwords]" >' . esc_attr( $this->opt['stopwords'] ) . '</textarea>';
577
- $html .= '<br /><label for="stopwords" style="font-size: 10px;">' . esc_html__( "Please separate words with commas.", 'ivory-search' ) . '</label>';
578
  echo '<div>' . $html . '</div>' ;
579
  }
580
 
@@ -585,11 +582,15 @@ class IS_Settings_Fields
585
  {
586
  $content = __( 'Add synonyms here to make the searches find better results.', 'ivory-search' );
587
  $content .= '<br /><br />' . __( 'If you add bird = crow to the list of synonyms, searches for bird automatically become a search for bird crow and will thus match to posts that include either bird or crow.', 'ivory-search' );
588
- $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' );
589
  IS_Help::help_info( $content );
590
  $this->opt['synonyms'] = ( isset( $this->opt['synonyms'] ) ? $this->opt['synonyms'] : '' );
591
  $html = '<textarea class="ivory_search_synonyms" rows="4" id="synonyms" name="is_settings[synonyms]" >' . esc_attr( $this->opt['synonyms'] ) . '</textarea>';
592
- $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>';
 
 
 
 
 
593
  $synonyms_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
594
  $check_value = ( isset( $this->opt['synonyms_and'] ) ? $this->opt['synonyms_and'] : 0 );
595
  $disable = checked( 1, $check_value, false );
@@ -601,8 +602,8 @@ class IS_Settings_Fields
601
  }
602
 
603
  $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 . ' />';
604
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable synonyms for the search forms having AND search terms relation.', 'ivory-search' ) . '</label>';
605
- echo '</p><div>' . $html . '</div>' ;
606
  }
607
 
608
  /**
@@ -610,11 +611,11 @@ class IS_Settings_Fields
610
  */
611
  function plugin_files()
612
  {
613
- $content = __( 'Configure to disable loading plugin CSS and JavaScript files.', 'ivory-search' );
614
  IS_Help::help_info( $content );
615
  $styles = array(
616
- 'css' => __( 'Plugin CSS File', 'ivory-search' ),
617
- 'js' => __( 'Plugin JavaScript File', 'ivory-search' ),
618
  );
619
  $html = '';
620
  foreach ( $styles as $key => $file ) {
@@ -651,7 +652,7 @@ class IS_Settings_Fields
651
  $check_value = ( isset( $this->opt['disable'] ) ? $this->opt['disable'] : 0 );
652
  $disable = checked( 1, $check_value, false );
653
  $html = '<label for="is_disable"><input class="ivory_search_disable" type="checkbox" id="is_disable" name="is_settings[disable]" value="1" ' . $disable . ' />';
654
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable search functionality on whole site.', 'ivory-search' ) . '</label>';
655
  echo '<div>' . $html . '</div>' ;
656
  }
657
 
@@ -663,7 +664,7 @@ class IS_Settings_Fields
663
  $check_value = ( isset( $this->opt['default_search'] ) ? $this->opt['default_search'] : 0 );
664
  $disable = checked( 1, $check_value, false );
665
  $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 . ' />';
666
- $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Do not use default search form to control WordPress default search functionality.', 'ivory-search' ) . '</label>';
667
  echo '<div>' . $html . '</div>' ;
668
  }
669
 
193
  );
194
  add_settings_field(
195
  'ivory_search_header',
196
+ __( 'Header Search', 'ivory-search' ),
197
  array( $this, 'header' ),
198
  'ivory_search',
199
  'ivory_search_settings'
200
  );
201
  add_settings_field(
202
  'ivory_search_footer',
203
+ __( 'Footer Search', 'ivory-search' ),
204
  array( $this, 'footer' ),
205
  'ivory_search',
206
  'ivory_search_settings'
207
  );
208
  add_settings_field(
209
  'ivory_search_display_in_header',
210
+ __( 'Mobile Search', 'ivory-search' ),
211
  array( $this, 'menu_search_in_header' ),
212
  'ivory_search',
213
  'ivory_search_settings'
235
  );
236
  add_settings_field(
237
  'not_load_files',
238
+ __( 'Do Not Load Plugin Files', 'ivory-search' ),
239
  array( $this, 'plugin_files' ),
240
  'ivory_search',
241
  'ivory_search_settings'
242
  );
243
  add_settings_field(
244
  'ivory_search_disable',
245
+ __( 'Disable Search', 'ivory-search' ),
246
  array( $this, 'disable' ),
247
  'ivory_search',
248
  'ivory_search_settings'
266
  */
267
  function menu_search_section_desc()
268
  {
269
+ echo '<h4 class="panel-desc">' . __( 'Display search in menu and configure it using below options.', 'ivory-search' ) . '</h4>' ;
270
  }
271
 
272
  /**
274
  */
275
  function settings_section_desc()
276
  {
277
+ echo '<h4 class="panel-desc">' . __( 'Make search changes on entire website using below options.', 'ivory-search' ) . '</h4>' ;
278
  }
279
 
280
  /**
282
  */
283
  function menu_locations()
284
  {
285
+ $content = __( 'Display search form on selected menu.', 'ivory-search' );
286
  IS_Help::help_info( $content );
287
  $html = '';
288
  $menus = get_registered_nav_menus();
301
  $html .= '<span class="toggle-check-text"></span> ' . esc_html( $description ) . '</label></p>';
302
  }
303
  } else {
304
+ $html = __( 'Navigation menu location is not registered on the site.', 'ivory-search' );
305
  }
306
 
307
  echo '<div>' . $html . '</div>' ;
312
  */
313
  function menu_search_form()
314
  {
315
+ $content = __( 'Select search form that will control menu search functionality.', 'ivory-search' );
316
  IS_Help::help_info( $content );
317
  $html = '<p>';
318
  $form_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? false : true );
358
  */
359
  function menu_form_style()
360
  {
361
+ $content = __( 'Select menu search form style.', 'ivory-search' );
362
  IS_Help::help_info( $content );
363
  $styles = array(
364
  'default' => __( 'Default', 'ivory-search' ),
396
  */
397
  function menu_title()
398
  {
399
+ $content = __( 'Add menu title to display in place of search icon.', 'ivory-search' );
400
  IS_Help::help_info( $content );
401
  $this->opt['add_search_to_menu_title'] = ( isset( $this->opt['add_search_to_menu_title'] ) ? $this->opt['add_search_to_menu_title'] : '' );
402
  $this->opt['menu_title'] = ( isset( $this->opt['menu_title'] ) ? $this->opt['menu_title'] : $this->opt['add_search_to_menu_title'] );
409
  */
410
  function menu_classes()
411
  {
412
+ $content = __( 'Add class to search form menu item.', 'ivory-search' );
413
  IS_Help::help_info( $content );
414
  $this->opt['add_search_to_menu_classes'] = ( isset( $this->opt['add_search_to_menu_classes'] ) ? $this->opt['add_search_to_menu_classes'] : '' );
415
  $this->opt['menu_classes'] = ( isset( $this->opt['menu_classes'] ) ? $this->opt['menu_classes'] : $this->opt['add_search_to_menu_classes'] );
416
  $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'] ) . '" />';
417
+ $html .= '<br /><label for="is_menu_classes" style="font-size: 10px;">' . esc_html__( "Add multiple classes seperated by space.", 'ivory-search' ) . '</label>';
418
  echo '<div>' . $html . '</div>' ;
419
  }
420
 
423
  */
424
  function menu_google_cse()
425
  {
426
+ $content = __( 'Add Google Custom Search( CSE ) search form code that will replace default search form.', 'ivory-search' );
427
  IS_Help::help_info( $content );
428
  $this->opt['add_search_to_menu_gcse'] = ( isset( $this->opt['add_search_to_menu_gcse'] ) ? $this->opt['add_search_to_menu_gcse'] : '' );
429
  $this->opt['menu_gcse'] = ( isset( $this->opt['menu_gcse'] ) ? $this->opt['menu_gcse'] : $this->opt['add_search_to_menu_gcse'] );
445
  }
446
 
447
  $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 . ' />';
448
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display search form close icon', 'ivory-search' ) . '</label>';
449
  echo '<div>' . $html . '</div>' ;
450
  }
451
 
454
  */
455
  function header()
456
  {
457
+ $content = __( 'Select search form to display in site header.', 'ivory-search' );
458
  IS_Help::help_info( $content );
459
  $html = '';
460
  $args = array(
488
  */
489
  function footer()
490
  {
491
+ $content = __( 'Select search form to display in site footer.', 'ivory-search' );
492
  IS_Help::help_info( $content );
493
  $html = '';
494
  $args = array(
522
  */
523
  function menu_search_in_header()
524
  {
 
 
525
  $check_value = ( isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0 );
526
  $check_string = checked( 'add_search_to_menu_display_in_header', $check_value, false );
527
 
531
  }
532
 
533
  $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 . ' />';
534
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Display search form in site header on mobile devices', 'ivory-search' ) . '</label>';
535
  echo '<div>' . $html . '</div><br />' ;
536
  $html = '';
537
+ $content = __( 'If this site uses cache then please select the below option to display search form on mobile.', 'ivory-search' );
538
  IS_Help::help_info( $content );
539
  $check_value = ( isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0 );
540
  $check_string = checked( 'astm_site_uses_cache', $check_value, false );
554
  */
555
  function custom_css()
556
  {
557
+ $content = __( 'Add custom css code.', 'ivory-search' );
558
  IS_Help::help_info( $content );
559
  $this->opt['add_search_to_menu_css'] = ( isset( $this->opt['add_search_to_menu_css'] ) ? $this->opt['add_search_to_menu_css'] : '' );
560
  $this->opt['custom_css'] = ( isset( $this->opt['custom_css'] ) ? $this->opt['custom_css'] : $this->opt['add_search_to_menu_css'] );
567
  */
568
  function stopwords()
569
  {
570
+ $content = __( 'Enter stopwords here that will not be searched.', 'ivory-search' );
 
571
  IS_Help::help_info( $content );
572
  $this->opt['stopwords'] = ( isset( $this->opt['stopwords'] ) ? $this->opt['stopwords'] : '' );
573
  $html = '<textarea class="ivory_search_stopwords" rows="4" id="stopwords" name="is_settings[stopwords]" >' . esc_attr( $this->opt['stopwords'] ) . '</textarea>';
574
+ $html .= '<br /><label for="stopwords" style="font-size: 10px;">' . esc_html__( "Please separate multiple words with commas.", 'ivory-search' ) . '</label>';
575
  echo '<div>' . $html . '</div>' ;
576
  }
577
 
582
  {
583
  $content = __( 'Add synonyms here to make the searches find better results.', 'ivory-search' );
584
  $content .= '<br /><br />' . __( 'If you add bird = crow to the list of synonyms, searches for bird automatically become a search for bird crow and will thus match to posts that include either bird or crow.', 'ivory-search' );
 
585
  IS_Help::help_info( $content );
586
  $this->opt['synonyms'] = ( isset( $this->opt['synonyms'] ) ? $this->opt['synonyms'] : '' );
587
  $html = '<textarea class="ivory_search_synonyms" rows="4" id="synonyms" name="is_settings[synonyms]" >' . esc_attr( $this->opt['synonyms'] ) . '</textarea>';
588
+ $html .= '<br /><label for="synonyms" style="font-size: 10px;">' . esc_html__( 'The format here is key = value;', 'ivory-search' ) . '</label>';
589
+ $html .= '<br /><label for="synonyms" style="font-size: 10px;">' . esc_html__( 'Please separate every synonyms key = value pairs with semicolon.', 'ivory-search' ) . '</label>';
590
+ echo '<div>' . $html . '</div>' ;
591
+ $html = '';
592
+ $content = __( 'This only works for search forms configured to search any of the search terms(OR) and not all search terms(AND).', 'ivory-search' );
593
+ IS_Help::help_info( $content );
594
  $synonyms_disable = ( is_fs()->is_plan_or_trial( 'pro' ) && $this->is_premium_plugin ? '' : ' disabled ' );
595
  $check_value = ( isset( $this->opt['synonyms_and'] ) ? $this->opt['synonyms_and'] : 0 );
596
  $disable = checked( 1, $check_value, false );
602
  }
603
 
604
  $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 . ' />';
605
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable synonyms for the search forms configured to search all search terms', 'ivory-search' ) . '</label></p>';
606
+ echo '<div>' . $html . '</div>' ;
607
  }
608
 
609
  /**
611
  */
612
  function plugin_files()
613
  {
614
+ $content = __( 'Enable below options to disable loading of plugin CSS and JavaScript files.', 'ivory-search' );
615
  IS_Help::help_info( $content );
616
  $styles = array(
617
+ 'css' => __( 'Plugin CSS files', 'ivory-search' ),
618
+ 'js' => __( 'Plugin JavaScript files', 'ivory-search' ),
619
  );
620
  $html = '';
621
  foreach ( $styles as $key => $file ) {
652
  $check_value = ( isset( $this->opt['disable'] ) ? $this->opt['disable'] : 0 );
653
  $disable = checked( 1, $check_value, false );
654
  $html = '<label for="is_disable"><input class="ivory_search_disable" type="checkbox" id="is_disable" name="is_settings[disable]" value="1" ' . $disable . ' />';
655
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Disable search functionality on entire website', 'ivory-search' ) . '</label>';
656
  echo '<div>' . $html . '</div>' ;
657
  }
658
 
664
  $check_value = ( isset( $this->opt['default_search'] ) ? $this->opt['default_search'] : 0 );
665
  $disable = checked( 1, $check_value, false );
666
  $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 . ' />';
667
+ $html .= '<span class="toggle-check-text"></span>' . esc_html__( 'Do not use Default Search Form to control WordPress default search functionality', 'ivory-search' ) . '</label>';
668
  echo '<div>' . $html . '</div>' ;
669
  }
670
 
admin/css/ivory-search-admin.css CHANGED
@@ -2,6 +2,19 @@ br {
2
  clear: both;
3
  }
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  #search-form-editor textarea,
6
  #search-form-editor input[type=text] {
7
  width: 99%;
@@ -26,7 +39,7 @@ br {
26
  position: relative;
27
  text-transform: uppercase;
28
  background: #CCC;
29
- padding: 3px 9px 3px 18px;
30
  border-radius: 15px;
31
  height: 12px;
32
  width: 8px;
@@ -43,11 +56,11 @@ br {
43
  content: ' ';
44
  display: block;
45
  background: #FFF;
46
- width: 12px;
47
- height: 12px;
48
  border-radius: 15px;
49
  position: absolute;
50
- left: 3px;
51
  top: 3px;
52
  transition: left 0.15s, margin-left 0.15s;
53
  }
@@ -58,9 +71,9 @@ br {
58
  }
59
 
60
  #search-form-editor input:checked ~ .toggle-check-text {
61
- background: #8ad869;
62
- padding-left: 10px;
63
- padding-right: 17px;
64
  }
65
 
66
  #search-form-editor input:checked ~ .toggle-check-text:before {
@@ -69,7 +82,7 @@ br {
69
 
70
  #search-form-editor input:checked ~ .toggle-check-text:after {
71
  left: 100%;
72
- margin-left: -16px;
73
  }
74
 
75
  #submitdiv.searchbox {
@@ -86,12 +99,9 @@ br {
86
  text-align: center;
87
  }
88
 
89
- #search-body input.button-primary,
90
  #submitdiv.searchbox input[type="submit"] {
91
- background: #00C366;
92
- border: 0;
93
  color: #FFF;
94
- padding: 4px 18px;
95
  vertical-align: middle;
96
  box-shadow: none;
97
  text-shadow: none;
@@ -107,16 +117,22 @@ br {
107
  color: #f1f1f1;
108
  }
109
 
110
- #submitdiv.searchbox input.delete {
111
- background: #b74c28;
 
 
 
 
 
 
112
  }
113
 
114
- #submitdiv.searchbox input.copy.button {
115
- background: #0073aa;
116
- }
117
-
118
- #submitdiv.searchbox input.reset.button {
119
- background: #009688;
120
  }
121
 
122
  #submitdiv.searchbox #delete-action {
@@ -124,9 +140,14 @@ br {
124
  margin-top: 10px;
125
  }
126
 
 
 
 
 
127
  #searchtbox-container-1 input.button-primary {
128
  width: auto;
129
  margin-top: 15px;
 
130
  }
131
 
132
  #minor-publishing-actions {
@@ -162,8 +183,7 @@ br {
162
  }
163
 
164
  span.shortcode > input {
165
- background: inherit;
166
- color: inherit;
167
  font-size: 12px;
168
  border: none;
169
  box-shadow: none;
@@ -171,12 +191,6 @@ span.shortcode > input {
171
  margin: 0;
172
  }
173
 
174
- .ivory-search_page_ivory-search-settings #wpcontent,
175
- .toplevel_page_ivory-search #wpcontent,
176
- .ivory-search_page_ivory-search-new #wpcontent {
177
- background: #FFF;
178
- }
179
-
180
  .is-search-image {
181
  font-size: 30px;
182
  line-height: 1;
@@ -201,17 +215,6 @@ h1.wp-heading-inline {
201
  font-size: 18px;
202
  }
203
 
204
- #search-body #titlediv #title {
205
- background: #f1f1f1;
206
- box-shadow: none;
207
- border: 0;
208
- }
209
-
210
- #search-body #titlediv #title:disabled {
211
- background: #1e8cbe;
212
- color: #FFFF;
213
- }
214
-
215
  #post-body-content {
216
  margin-bottom: 15px;
217
  }
@@ -240,6 +243,7 @@ h1.wp-heading-inline {
240
  font-size: 15px;
241
  }
242
 
 
243
  #informationdiv h3::before {
244
  font-family: dashicons;
245
  content: "\f534";
@@ -326,16 +330,18 @@ h1.wp-heading-inline {
326
  }
327
 
328
  .is-help {
 
329
  display: block;
330
- margin-bottom: 15px;
331
  font-size: 13px;
332
  position: relative;
 
 
 
 
333
  }
334
 
335
  .is-help .dashicons-warning {
336
- position: absolute;
337
- top: 0;
338
- left: 0;
339
  }
340
 
341
  .is-help .is-info {
@@ -368,7 +374,7 @@ h1.wp-heading-inline {
368
  }
369
 
370
  #search-form-editor-tabs li {
371
- border: 1px solid #e6f1f7;
372
  border-radius: 3px;
373
  display: block;
374
  padding: 0;
@@ -376,34 +382,32 @@ h1.wp-heading-inline {
376
  outline: 0;
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
 
385
  #search-form-editor-tabs li a {
 
 
386
  box-shadow: none;
387
  padding: 6px 10px;
388
  font-size: 14px;
389
  font-weight: normal;
390
  line-height: 30px;
391
  outline: 0;
392
- color: #0073aa;
393
  text-decoration: none;
394
  display: block;
395
  }
396
 
397
- #search-form-editor-tabs li:hover a,
398
- #search-form-editor-tabs li.active a {
399
- color: #FFF;
400
- }
401
-
402
  #search-form-editor-tabs li a::after {
403
  font-family: dashicons;
404
  content: "\f345";
405
  display: inline-block;
406
- color: #000;
407
  font-size: 20px;
408
  position: absolute;
409
  right: 5px;
@@ -411,7 +415,7 @@ h1.wp-heading-inline {
411
 
412
  #search-form-editor-tabs li.active a::after,
413
  #search-form-editor-tabs li:hover a::after {
414
- color: #FFF;
415
  }
416
 
417
  #search-form-editor-tabs li a span.dashicons {
@@ -444,17 +448,14 @@ h1.wp-heading-inline {
444
 
445
  .search-form-editor-box {
446
  background-color: #f1f1f1;
447
- padding: 16px;
448
  width: auto;
449
  }
450
 
451
  h4.panel-desc {
452
  margin-top: 0;
453
- background: #edf8fb;
454
- padding: 5px 15px;
455
- color: #006799;
456
  font-weight: 400;
457
- border: 1px solid #cee2e8;
458
  border-radius: 3px;
459
  }
460
 
@@ -465,12 +466,14 @@ h4.panel-desc {
465
  #search-body .form-table h3 {
466
  clear: both;
467
  cursor: pointer;
468
- background-color: #1390cc;
469
- color: #FFF;
 
470
  padding: 8px 10px;
471
  font-size: 1em;
472
  border-radius: 3px 3px 0 0;
473
- margin: 1.5em 0 0;
 
474
  }
475
 
476
  #search-body .search-form-editor-panel {
@@ -479,13 +482,36 @@ h4.panel-desc {
479
  color: #444;
480
  }
481
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
482
  .form-table h3 .actions {
483
  float: right;
484
  }
485
 
486
  .form-table h3 .actions .indicator {
487
  height: 10px;
488
- background-color: #0ede7b;
489
  width: 10px;
490
  display: none;
491
  border-radius: 100%;
@@ -494,10 +520,10 @@ h4.panel-desc {
494
  }
495
 
496
  .form-table h3 .actions a {
497
- color: #FFF;
498
  text-decoration: none;
499
  font-size: 11px;
500
- padding: 10px 10px 0 10px;
501
  outline: 0;
502
  box-shadow: none;
503
  }
@@ -508,22 +534,24 @@ h4.panel-desc {
508
 
509
  .form-table h3 .actions::after {
510
  font-family: dashicons;
511
- content: "\f140";
 
512
  display: inline-block;
513
  float: right;
514
- font-size: 20px;
515
- line-height: 1;
516
  }
517
 
518
  .form-table h3.ui-state-active .actions::after {
519
- content: "\f142";
520
  }
521
 
522
  .form-table > div {
523
  background-color: #FFF;
524
  padding: 15px;
525
- border: 1px solid #0073aa;
526
  border-radius: 0 0 3px 3px;
 
527
  }
528
 
529
  .form-table > div::after {
@@ -533,8 +561,7 @@ h4.panel-desc {
533
  }
534
 
535
  .form-table > div > div {
536
- background-color: #f1f1f1;
537
- padding: 15px;
538
  position: relative;
539
  }
540
 
@@ -552,6 +579,15 @@ h4.panel-desc {
552
  margin-bottom: 0;
553
  }
554
 
 
 
 
 
 
 
 
 
 
555
  .upgrade-parent {
556
  position: relative;
557
  padding: 1em;
@@ -588,6 +624,12 @@ h4.panel-desc {
588
  background: #03ad5c;
589
  }
590
 
 
 
 
 
 
 
591
  /*
592
  * Settings
593
  */
@@ -608,10 +650,6 @@ h4.panel-desc {
608
  z-index: 999999;
609
  }
610
 
611
- #search-form-editor .col-wrapper:nth-of-type(3n+0) {
612
- margin-right: 0;
613
- }
614
-
615
  .col-title {
616
  text-align: center;
617
  }
@@ -630,7 +668,7 @@ h4.panel-desc {
630
  }
631
 
632
  .col-wrapper.check-radio {
633
- margin: 0 15px 10px 0;
634
  }
635
 
636
  #wpbody .col-wrapper select[multiple],
2
  clear: both;
3
  }
4
 
5
+ .title_tooltip {
6
+ border: 1px solid #f7e58f;
7
+ color: #444;
8
+ background: #ffffdf;
9
+ box-shadow: 0 2px 3px #999;
10
+ position: absolute;
11
+ padding: 5px;
12
+ text-align: left;
13
+ border-radius: 5px;
14
+ -moz-border-radius: 5px;
15
+ -webkit-border-radius: 5px;
16
+ }
17
+
18
  #search-form-editor textarea,
19
  #search-form-editor input[type=text] {
20
  width: 99%;
39
  position: relative;
40
  text-transform: uppercase;
41
  background: #CCC;
42
+ padding: 3px 6px 1px 16px;
43
  border-radius: 15px;
44
  height: 12px;
45
  width: 8px;
56
  content: ' ';
57
  display: block;
58
  background: #FFF;
59
+ width: 10px;
60
+ height: 10px;
61
  border-radius: 15px;
62
  position: absolute;
63
+ left: 4px;
64
  top: 3px;
65
  transition: left 0.15s, margin-left 0.15s;
66
  }
71
  }
72
 
73
  #search-form-editor input:checked ~ .toggle-check-text {
74
+ background: #8daebf;
75
+ padding-left: 6px;
76
+ padding-right: 16px;
77
  }
78
 
79
  #search-form-editor input:checked ~ .toggle-check-text:before {
82
 
83
  #search-form-editor input:checked ~ .toggle-check-text:after {
84
  left: 100%;
85
+ margin-left: -14px;
86
  }
87
 
88
  #submitdiv.searchbox {
99
  text-align: center;
100
  }
101
 
 
102
  #submitdiv.searchbox input[type="submit"] {
 
 
103
  color: #FFF;
104
+ padding: 4px 8px;
105
  vertical-align: middle;
106
  box-shadow: none;
107
  text-shadow: none;
117
  color: #f1f1f1;
118
  }
119
 
120
+ #submitdiv.searchbox input.delete,
121
+ #submitdiv.searchbox input.copy.button,
122
+ #submitdiv.searchbox input.reset.button {
123
+ background: #f7f7f7;
124
+ color: #555;
125
+ box-shadow: 0 1px 0 #ccc;
126
+ border: 1px solid #ccc;
127
+ border-radius: 3px
128
  }
129
 
130
+ #submitdiv.searchbox input.delete:hover,
131
+ #submitdiv.searchbox input.copy.button:hover,
132
+ #submitdiv.searchbox input.reset.button:hover {
133
+ background: #fafafa;
134
+ border-color: #999;
135
+ color: #23282d;
136
  }
137
 
138
  #submitdiv.searchbox #delete-action {
140
  margin-top: 10px;
141
  }
142
 
143
+ #informationdiv.searchbox .inside {
144
+ background: #fff;
145
+ }
146
+
147
  #searchtbox-container-1 input.button-primary {
148
  width: auto;
149
  margin-top: 15px;
150
+ min-width: 100px;
151
  }
152
 
153
  #minor-publishing-actions {
183
  }
184
 
185
  span.shortcode > input {
186
+ background: #fff;
 
187
  font-size: 12px;
188
  border: none;
189
  box-shadow: none;
191
  margin: 0;
192
  }
193
 
 
 
 
 
 
 
194
  .is-search-image {
195
  font-size: 30px;
196
  line-height: 1;
215
  font-size: 18px;
216
  }
217
 
 
 
 
 
 
 
 
 
 
 
 
218
  #post-body-content {
219
  margin-bottom: 15px;
220
  }
243
  font-size: 15px;
244
  }
245
 
246
+ h4.panel-desc::before,
247
  #informationdiv h3::before {
248
  font-family: dashicons;
249
  content: "\f534";
330
  }
331
 
332
  .is-help {
333
+ color: #72777c;
334
  display: block;
 
335
  font-size: 13px;
336
  position: relative;
337
+ padding: 5px;
338
+ border: 1px solid #d4eff5;
339
+ border-radius: 3px;
340
+ background: #f2f6f9;
341
  }
342
 
343
  .is-help .dashicons-warning {
344
+ float: left;
 
 
345
  }
346
 
347
  .is-help .is-info {
374
  }
375
 
376
  #search-form-editor-tabs li {
377
+ border: 1px solid #ddd;
378
  border-radius: 3px;
379
  display: block;
380
  padding: 0;
382
  outline: 0;
383
  }
384
 
385
+ #search-form-editor-tabs li:hover a,
386
+ #search-form-editor-tabs li.active a,
387
+ #search-form-editor-tabs li.active:hover a {
388
+ background-color: #f3f3f5;
389
+ color: #0073aa;
390
  }
391
 
392
  #search-form-editor-tabs li a {
393
+ background: #fff;
394
+ border-radius: 3px;
395
  box-shadow: none;
396
  padding: 6px 10px;
397
  font-size: 14px;
398
  font-weight: normal;
399
  line-height: 30px;
400
  outline: 0;
401
+ color: #555d66;
402
  text-decoration: none;
403
  display: block;
404
  }
405
 
 
 
 
 
 
406
  #search-form-editor-tabs li a::after {
407
  font-family: dashicons;
408
  content: "\f345";
409
  display: inline-block;
410
+ color: #a0a5aa;
411
  font-size: 20px;
412
  position: absolute;
413
  right: 5px;
415
 
416
  #search-form-editor-tabs li.active a::after,
417
  #search-form-editor-tabs li:hover a::after {
418
+ color: #0073aa;
419
  }
420
 
421
  #search-form-editor-tabs li a span.dashicons {
448
 
449
  .search-form-editor-box {
450
  background-color: #f1f1f1;
 
451
  width: auto;
452
  }
453
 
454
  h4.panel-desc {
455
  margin-top: 0;
456
+ padding: 5px;
 
 
457
  font-weight: 400;
458
+ border: 1px solid #e5e5e5;
459
  border-radius: 3px;
460
  }
461
 
466
  #search-body .form-table h3 {
467
  clear: both;
468
  cursor: pointer;
469
+ background-color: #fff;
470
+ color: #23282d;
471
+ outline: 0;
472
  padding: 8px 10px;
473
  font-size: 1em;
474
  border-radius: 3px 3px 0 0;
475
+ margin: 0.5em 0 0;
476
+ border: 1px solid #e5e5e5;
477
  }
478
 
479
  #search-body .search-form-editor-panel {
482
  color: #444;
483
  }
484
 
485
+ #search-body #titlediv .inside .description {
486
+ margin-top: 15px;
487
+ }
488
+
489
+ #search-body #title-prompt-text {
490
+ font-size: 1.2em;
491
+ padding: 4px 10px;
492
+ }
493
+
494
+ #search-body #title {
495
+ font-size: 1.2em;
496
+ }
497
+
498
+ #search-body .shortcode {
499
+ display: block;
500
+ margin: 2px 0;
501
+ background-color: #fff;
502
+ }
503
+
504
+ #is-shortcode {
505
+ width: 100%;
506
+ }
507
+
508
  .form-table h3 .actions {
509
  float: right;
510
  }
511
 
512
  .form-table h3 .actions .indicator {
513
  height: 10px;
514
+ background-color: #8daebf;
515
  width: 10px;
516
  display: none;
517
  border-radius: 100%;
520
  }
521
 
522
  .form-table h3 .actions a {
523
+ color: #72777c;
524
  text-decoration: none;
525
  font-size: 11px;
526
+ padding: 10px;
527
  outline: 0;
528
  box-shadow: none;
529
  }
534
 
535
  .form-table h3 .actions::after {
536
  font-family: dashicons;
537
+ content: "\f345";
538
+ color: #72777c;
539
  display: inline-block;
540
  float: right;
541
+ font-size: 15px;
542
+ line-height: 1.5;
543
  }
544
 
545
  .form-table h3.ui-state-active .actions::after {
546
+ content: "\f347";
547
  }
548
 
549
  .form-table > div {
550
  background-color: #FFF;
551
  padding: 15px;
552
+ border: 1px solid #e5e5e5;
553
  border-radius: 0 0 3px 3px;
554
+ border-top: 0;
555
  }
556
 
557
  .form-table > div::after {
561
  }
562
 
563
  .form-table > div > div {
564
+ padding: 10px;
 
565
  position: relative;
566
  }
567
 
579
  margin-bottom: 0;
580
  }
581
 
582
+ .notice-is-info {
583
+ background-color: #fff8e5;
584
+ border: 1px solid #ffb900;
585
+ padding: 5px 15px;
586
+ font-size: 12px;
587
+ display: block;
588
+ border-radius: 2px;
589
+ }
590
+
591
  .upgrade-parent {
592
  position: relative;
593
  padding: 1em;
624
  background: #03ad5c;
625
  }
626
 
627
+ @media only screen and (min-width: 1213px) {
628
+ #search-form-editor .col-wrapper:nth-of-type(3n+0) {
629
+ margin-right: 0;
630
+ }
631
+ }
632
+
633
  /*
634
  * Settings
635
  */
650
  z-index: 999999;
651
  }
652
 
 
 
 
 
653
  .col-title {
654
  text-align: center;
655
  }
668
  }
669
 
670
  .col-wrapper.check-radio {
671
+ margin: 0 15px 15px 0;
672
  }
673
 
674
  #wpbody .col-wrapper select[multiple],
admin/js/ivory-search-admin.js CHANGED
@@ -154,6 +154,30 @@
154
  $( '#publishing-action .spinner' ).addClass( 'is-active' );
155
  }
156
  } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  } );
158
 
159
  ivory_search.titleHint = function() {
154
  $( '#publishing-action .spinner' ).addClass( 'is-active' );
155
  }
156
  } );
157
+
158
+ // Tooltip only Text
159
+ $('#search-body #titlewrap').hover(function(){
160
+ if($(this).find("#title[disabled]").length){
161
+ // Hover over code
162
+ var title = $(this).find("#title[disabled]").attr('title');
163
+ $(this).find("#title[disabled]").data('tipText', title).removeAttr('title');
164
+ $('<p class="title_tooltip"></p>')
165
+ .text(title)
166
+ .appendTo('body')
167
+ .fadeIn('slow');
168
+ }
169
+ }, function() {
170
+ // Hover out code
171
+ $(this).find("#title[disabled]").attr('title', $(this).find("#title[disabled]").data('tipText'));
172
+ $('.title_tooltip').remove();
173
+ }).mousemove(function(e) {
174
+ var mousex = e.pageX + 20; //Get X coordinates
175
+ var mousey = e.pageY - 40; //Get Y coordinates
176
+ $('.title_tooltip')
177
+ .css({ top: mousey, left: mousex })
178
+ });
179
+
180
+
181
  } );
182
 
183
  ivory_search.titleHint = function() {
admin/partials/search-form.php CHANGED
@@ -65,7 +65,7 @@ if ( ! defined( 'ABSPATH' ) ) {
65
  <div id="post-body-content">
66
  <div id="titlediv">
67
  <div id="titlewrap">
68
- <label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo esc_html( __( 'Enter search form name', 'ivory-search' ) ); ?></label>
69
  <?php
70
  $posttitle_atts = array(
71
  'type' => 'text',
@@ -77,7 +77,7 @@ if ( ! defined( 'ABSPATH' ) ) {
77
  'autocomplete' => 'off',
78
  'disabled' =>
79
  current_user_can( 'is_edit_search_form', $post_id ) && 'Default Search Form' !== $post->title() ? '' : 'disabled',
80
- 'title' => 'Default Search Form' !== $post->title() ? __( "Enter search form name.", 'ivory-search' ) : __( "Editing title of Default Search Form is prohibited.", 'ivory-search' ),
81
  );
82
 
83
  echo sprintf( '<input %s />', IS_Admin_Public::format_atts( $posttitle_atts ) );
@@ -184,10 +184,10 @@ if ( ! defined( 'ABSPATH' ) ) {
184
  <h3><?php echo esc_html( __( 'Information', 'ivory-search' ) ); ?></h3>
185
  <div class="inside">
186
  <ul>
187
- <li><a href="https://ivorysearch.com/documentation/" target="_blank"><?php _e( 'Docs', 'ivory-search' ); ?></a></li>
188
  <li><a href="https://ivorysearch.com/support/" target="_blank"><?php _e( 'Support', 'ivory-search' ); ?></a></li>
189
- <li><a href="https://ivorysearch.com/contact/" target="_blank"><?php _e( 'Contact', 'ivory-search' ); ?></a></li>
190
- <li><a href="https://wordpress.org/support/plugin/add-search-to-menu/reviews/?filter=5#new-post" target="_blank"><?php _e( 'Give us a rating', 'ivory-search' ); ?></a></li>
191
  </ul>
192
  </div>
193
  </div><!-- #informationdiv -->
65
  <div id="post-body-content">
66
  <div id="titlediv">
67
  <div id="titlewrap">
68
+ <label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo esc_html( __( 'Search form name', 'ivory-search' ) ); ?></label>
69
  <?php
70
  $posttitle_atts = array(
71
  'type' => 'text',
77
  'autocomplete' => 'off',
78
  'disabled' =>
79
  current_user_can( 'is_edit_search_form', $post_id ) && 'Default Search Form' !== $post->title() ? '' : 'disabled',
80
+ 'title' => 'Default Search Form' !== $post->title() ? __( "Search form name", 'ivory-search' ) : __( "Editing the title of Default Search Form is prohibited.", 'ivory-search' ),
81
  );
82
 
83
  echo sprintf( '<input %s />', IS_Admin_Public::format_atts( $posttitle_atts ) );
184
  <h3><?php echo esc_html( __( 'Information', 'ivory-search' ) ); ?></h3>
185
  <div class="inside">
186
  <ul>
187
+ <li><a href="https://ivorysearch.com/documentation/" target="_blank"><?php _e( 'Documentation', 'ivory-search' ); ?></a></li>
188
  <li><a href="https://ivorysearch.com/support/" target="_blank"><?php _e( 'Support', 'ivory-search' ); ?></a></li>
189
+ <li><a href="https://ivorysearch.com/contact/" target="_blank"><?php _e( 'Contact Us', 'ivory-search' ); ?></a></li>
190
+ <li><a href="https://wordpress.org/support/plugin/add-search-to-menu/reviews/?filter=5#new-post" target="_blank"><?php _e( 'Rate Ivory Search', 'ivory-search' ); ?></a></li>
191
  </ul>
192
  </div>
193
  </div><!-- #informationdiv -->
admin/partials/settings-form.php CHANGED
@@ -94,9 +94,9 @@ if ( ! defined( 'ABSPATH' ) ) {
94
  <h3><?php echo esc_html( __( 'Information', 'ivory-search' ) ); ?></h3>
95
  <div class="inside">
96
  <ul>
97
- <li><a href="https://ivorysearch.com/documentation/" target="_blank"><?php _e( 'Docs', 'ivory-search' ); ?></a></li>
98
  <li><a href="https://ivorysearch.com/support/" target="_blank"><?php _e( 'Support', 'ivory-search' ); ?></a></li>
99
- <li><a href="https://ivorysearch.com/contact/" target="_blank"><?php _e( 'Contact', 'ivory-search' ); ?></a></li>
100
  <li><a href="https://wordpress.org/support/plugin/add-search-to-menu/reviews/?filter=5#new-post" target="_blank"><?php _e( 'Give us a rating', 'ivory-search' ); ?></a></li>
101
  </ul>
102
  </div>
94
  <h3><?php echo esc_html( __( 'Information', 'ivory-search' ) ); ?></h3>
95
  <div class="inside">
96
  <ul>
97
+ <li><a href="https://ivorysearch.com/documentation/" target="_blank"><?php _e( 'Documentation', 'ivory-search' ); ?></a></li>
98
  <li><a href="https://ivorysearch.com/support/" target="_blank"><?php _e( 'Support', 'ivory-search' ); ?></a></li>
99
+ <li><a href="https://ivorysearch.com/contact/" target="_blank"><?php _e( 'Contact Us', 'ivory-search' ); ?></a></li>
100
  <li><a href="https://wordpress.org/support/plugin/add-search-to-menu/reviews/?filter=5#new-post" target="_blank"><?php _e( 'Give us a rating', 'ivory-search' ); ?></a></li>
101
  </ul>
102
  </div>
includes/class-is-deactivator.php CHANGED
@@ -26,5 +26,18 @@ class IS_Deactivator {
26
  unset( $is_notices['is_notices']['config'] );
27
  update_option( 'is_notices', $is_notices );
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  }
30
  }
26
  unset( $is_notices['is_notices']['config'] );
27
  update_option( 'is_notices', $is_notices );
28
  }
29
+ $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
30
+ $version = '1_0'; // replace all periods in 1.0 with an underscore
31
+ $prefix = 'is_admin_pointers_' . $version . '_';
32
+ if ( in_array( $prefix . 'is_pointers', $dismissed ) ) {
33
+ // Get the index in the array of the value we want to remove.
34
+ $index = array_search( $prefix . 'is_pointers', $dismissed );
35
+ // Remove it.
36
+ unset( $dismissed[$index] );
37
+ // Make the list a comma separated string again.
38
+ $pointers = implode( ',', $dismissed );
39
+ // Save the updated value.
40
+ update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $pointers );
41
+ }
42
  }
43
  }
includes/class-is.php CHANGED
@@ -113,6 +113,7 @@ class IS_Loader {
113
  add_action( 'admin_init', array( $admin, 'admin_init' ) );
114
  add_action( 'is_admin_notices', array( $admin, 'admin_updated_message' ) );
115
  add_filter( 'map_meta_cap', array( $admin, 'map_meta_cap' ), 10, 4 );
 
116
  }
117
 
118
  /**
@@ -135,6 +136,8 @@ class IS_Loader {
135
  add_action( 'wp_enqueue_scripts', array( $public, 'wp_enqueue_scripts' ) );
136
  add_filter( 'query_vars', array( $public, 'query_vars' ) );
137
 
 
 
138
  $header_menu_search = isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0;
139
  $header_menu_search = isset( $this->opt['header_menu_search'] ) ? $this->opt['header_menu_search'] : $header_menu_search;
140
  $site_cache = isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0;
113
  add_action( 'admin_init', array( $admin, 'admin_init' ) );
114
  add_action( 'is_admin_notices', array( $admin, 'admin_updated_message' ) );
115
  add_filter( 'map_meta_cap', array( $admin, 'map_meta_cap' ), 10, 4 );
116
+ add_filter( 'admin_footer_text', array( $admin, 'admin_footer_text' ), 1 );
117
  }
118
 
119
  /**
136
  add_action( 'wp_enqueue_scripts', array( $public, 'wp_enqueue_scripts' ) );
137
  add_filter( 'query_vars', array( $public, 'query_vars' ) );
138
 
139
+ add_filter( 'body_class', array( $public, 'is_body_classes' ) );
140
+
141
  $header_menu_search = isset( $this->opt['add_search_to_menu_display_in_header'] ) ? $this->opt['add_search_to_menu_display_in_header'] : 0;
142
  $header_menu_search = isset( $this->opt['header_menu_search'] ) ? $this->opt['header_menu_search'] : $header_menu_search;
143
  $site_cache = isset( $this->opt['astm_site_uses_cache'] ) ? $this->opt['astm_site_uses_cache'] : 0;
includes/freemius.php CHANGED
@@ -27,9 +27,9 @@ function is_fs()
27
  'has_paid_plans' => true,
28
  'has_affiliation' => 'selected',
29
  'menu' => array(
30
- 'slug' => 'ivory-search',
31
- 'support' => false,
32
- 'affiliation' => false,
33
  ),
34
  'is_live' => true,
35
  ) );
@@ -73,4 +73,4 @@ $is_fs->add_filter(
73
  'is_fs_connect_message_update',
74
  10,
75
  6
76
- );
27
  'has_paid_plans' => true,
28
  'has_affiliation' => 'selected',
29
  'menu' => array(
30
+ 'slug' => 'ivory-search',
31
+ 'support' => false,
32
+ 'affiliation' => false,
33
  ),
34
  'is_live' => true,
35
  ) );
73
  'is_fs_connect_message_update',
74
  10,
75
  6
76
+ );
languages/default.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ivory Search\n"
4
- "POT-Creation-Date: 2018-12-10 15:03+0530\n"
5
- "PO-Revision-Date: 2018-12-10 15:03+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Ivory Search <admin@ivorysearch.com>\n"
8
  "Language: en_US\n"
@@ -20,151 +20,173 @@ msgstr ""
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"
32
- "\">configuration page</a> and to get plugin support contact us on <a href="
33
- "\"%2$s\" target=\"_blank\">plugin support forum</a> or <a href=\"%3$s\" "
34
- "target=\"_blank\">contact us page</a>."
35
  msgstr ""
36
 
37
- #: ../admin/class-is-admin.php:115 ../admin/class-is-admin.php:136
38
  msgid "Dismiss"
39
  msgstr ""
40
 
41
- #: ../admin/class-is-admin.php:137
42
  msgid "Have you found Ivory Search plugin useful?"
43
  msgstr ""
44
 
45
- #: ../admin/class-is-admin.php:138
46
  msgid ""
47
  "We poured a lot of hours into creating it, and we'd love it if you could "
48
  "give us a nice rating on the official plugin directory."
49
  msgstr ""
50
 
51
- #: ../admin/class-is-admin.php:140
52
  msgid "Rate Ivory Search and Help Us Out"
53
  msgstr ""
54
 
55
- #: ../admin/class-is-admin.php:141
56
  msgid "Get Support"
57
  msgstr ""
58
 
59
- #: ../admin/class-is-admin.php:142
60
  msgid "Say Hi"
61
  msgstr ""
62
 
63
- #: ../admin/class-is-admin.php:180
64
  msgid "No posts found"
65
  msgstr ""
66
 
67
- #: ../admin/class-is-admin.php:283
68
  msgid "Search form created."
69
  msgstr ""
70
 
71
- #: ../admin/class-is-admin.php:285
72
  msgid "Search form saved."
73
  msgstr ""
74
 
75
- #: ../admin/class-is-admin.php:287
76
  msgid "Search form deleted."
77
  msgstr ""
78
 
79
- #: ../admin/class-is-admin.php:289
80
  msgid "Search form reset."
81
  msgstr ""
82
 
83
- #: ../admin/class-is-admin.php:298
84
  msgid "There was an error saving the search form."
85
  msgstr ""
86
 
87
- #: ../admin/class-is-admin.php:306
88
  msgid "There was a validation error saving the search form."
89
  msgstr ""
90
 
91
- #: ../admin/class-is-admin.php:308
92
  #, php-format
93
  msgid ""
94
  "Please make sure you have not selected similar %s fields in the search form "
95
  "Includes and Excludes sections."
96
  msgstr ""
97
 
98
- #: ../admin/class-is-admin.php:318 ../includes/class-is-widget.php:13
99
- #: ../includes/class-is-widget.php:45
100
- msgid "Ivory Search"
101
- msgstr ""
102
-
103
- #: ../admin/class-is-admin.php:320 ../admin/class-is-admin.php:358
104
  #: ../includes/class-is-search-form.php:59
105
  msgid "Search Forms"
106
  msgstr ""
107
 
108
- #: ../admin/class-is-admin.php:323 ../admin/partials/search-form.php:21
109
  msgid "Add New Search Form"
110
  msgstr ""
111
 
112
- #: ../admin/class-is-admin.php:323 ../admin/class-is-admin.php:365
113
  #: ../admin/partials/search-form.php:31
114
  msgid "Add New"
115
  msgstr ""
116
 
117
- #: ../admin/class-is-admin.php:326 ../admin/partials/settings-form.php:20
118
  msgid "Ivory Search Settings"
119
  msgstr ""
120
 
121
- #: ../admin/class-is-admin.php:326 ../admin/class-is-help.php:64
122
  msgid "Settings"
123
  msgstr ""
124
 
125
- #: ../admin/class-is-admin.php:371
126
  #, php-format
127
  msgid "Search results for &#8220;%s&#8221;"
128
  msgstr ""
129
 
130
- #: ../admin/class-is-admin.php:382
131
- msgid "Search Search Forms"
132
  msgstr ""
133
 
134
- #: ../admin/class-is-admin.php:426
135
  msgid "You are not allowed to edit this item."
136
  msgstr ""
137
 
138
- #: ../admin/class-is-admin.php:508
139
  msgid "You are not allowed to reset this item."
140
  msgstr ""
141
 
142
- #: ../admin/class-is-admin.php:542
143
  msgid "You are not allowed to copy this item."
144
  msgstr ""
145
 
146
- #: ../admin/class-is-admin.php:583
147
  msgid "You are not allowed to delete this item."
148
  msgstr ""
149
 
150
- #: ../admin/class-is-admin.php:587
151
  msgid "Error in deleting."
152
  msgstr ""
153
 
154
- #: ../admin/class-is-admin.php:799
155
  msgid "Save Form"
156
  msgstr ""
157
 
158
- #: ../admin/class-is-admin.php:811
159
- msgid "Upgrade To Access"
160
  msgstr ""
161
 
162
- #: ../admin/class-is-admin.php:818
163
- msgid "Install Pro Version To Access"
 
 
 
 
164
  msgstr ""
165
 
166
  #: ../admin/class-is-editor.php:99
167
- msgid "Configure the below options to make specific content searchable."
168
  msgstr ""
169
 
170
  #: ../admin/class-is-editor.php:107
@@ -172,55 +194,55 @@ msgid "Post Types"
172
  msgstr ""
173
 
174
  #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
175
- #: ../admin/class-is-editor.php:235 ../admin/class-is-editor.php:313
176
- #: ../admin/class-is-editor.php:349 ../admin/class-is-editor.php:391
177
- #: ../admin/class-is-editor.php:444 ../admin/class-is-editor.php:479
178
- #: ../admin/class-is-editor.php:530 ../admin/class-is-editor.php:583
179
- #: ../admin/class-is-editor.php:609 ../admin/class-is-editor.php:675
180
- #: ../admin/class-is-editor.php:739 ../admin/class-is-editor.php:785
181
- #: ../admin/class-is-editor.php:823 ../admin/class-is-editor.php:855
182
- #: ../admin/class-is-editor.php:901 ../admin/class-is-editor.php:946
183
- #: ../admin/class-is-editor.php:1008 ../admin/class-is-editor.php:1027
184
- #: ../admin/class-is-editor.php:1063 ../admin/class-is-editor.php:1088
185
- #: ../admin/class-is-editor.php:1106 ../admin/class-is-editor.php:1123
186
- #: ../admin/class-is-editor.php:1146 ../admin/class-is-editor.php:1161
187
- #: ../admin/class-is-editor.php:1176 ../admin/class-is-editor.php:1191
188
- #: ../admin/class-is-editor.php:1206 ../admin/class-is-settings-fields.php:118
189
  msgid "Expand All"
190
  msgstr ""
191
 
192
  #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
193
- #: ../admin/class-is-editor.php:235 ../admin/class-is-editor.php:313
194
- #: ../admin/class-is-editor.php:349 ../admin/class-is-editor.php:391
195
- #: ../admin/class-is-editor.php:444 ../admin/class-is-editor.php:479
196
- #: ../admin/class-is-editor.php:530 ../admin/class-is-editor.php:583
197
- #: ../admin/class-is-editor.php:609 ../admin/class-is-editor.php:675
198
- #: ../admin/class-is-editor.php:739 ../admin/class-is-editor.php:785
199
- #: ../admin/class-is-editor.php:823 ../admin/class-is-editor.php:855
200
- #: ../admin/class-is-editor.php:901 ../admin/class-is-editor.php:946
201
- #: ../admin/class-is-editor.php:1008 ../admin/class-is-editor.php:1027
202
- #: ../admin/class-is-editor.php:1063 ../admin/class-is-editor.php:1088
203
- #: ../admin/class-is-editor.php:1106 ../admin/class-is-editor.php:1123
204
- #: ../admin/class-is-editor.php:1146 ../admin/class-is-editor.php:1161
205
- #: ../admin/class-is-editor.php:1176 ../admin/class-is-editor.php:1191
206
- #: ../admin/class-is-editor.php:1206 ../admin/class-is-settings-fields.php:118
207
  msgid "Collapse All"
208
  msgstr ""
209
 
210
  #: ../admin/class-is-editor.php:113
211
- msgid "Select post types that you want to make searchable."
212
  msgstr ""
213
 
214
  #: ../admin/class-is-editor.php:142
215
- msgid "Search in post title."
216
  msgstr ""
217
 
218
  #: ../admin/class-is-editor.php:148
219
- msgid "Search in post content."
220
  msgstr ""
221
 
222
  #: ../admin/class-is-editor.php:154
223
- msgid "Search in post excerpt."
224
  msgstr ""
225
 
226
  #: ../admin/class-is-editor.php:160
@@ -229,450 +251,442 @@ msgstr ""
229
 
230
  #: ../admin/class-is-editor.php:164
231
  msgid ""
232
- "Display this post type in the search query URL and restrict search to it."
 
233
  msgstr ""
234
 
235
  #: ../admin/class-is-editor.php:169
236
  msgid "No post types registered on your site."
237
  msgstr ""
238
 
239
- #: ../admin/class-is-editor.php:176 ../admin/class-is-editor.php:674
240
- msgid "Posts"
241
- msgstr ""
242
-
243
- #: ../admin/class-is-editor.php:180 ../admin/class-is-editor.php:678
244
- msgid "The posts and pages of searchable post types display here."
245
- msgstr ""
246
-
247
- #: ../admin/class-is-editor.php:181
248
- msgid ""
249
- "Select the specific posts you wish to search or do not select any posts to "
250
- "make all posts searchable."
251
  msgstr ""
252
 
253
- #: ../admin/class-is-editor.php:182 ../admin/class-is-editor.php:680
254
- msgid "Selected post types display in BOLD."
255
  msgstr ""
256
 
257
- #: ../admin/class-is-editor.php:216 ../admin/class-is-editor.php:267
258
- #: ../admin/class-is-editor.php:326 ../admin/class-is-editor.php:623
259
- #: ../admin/class-is-editor.php:717 ../admin/class-is-editor.php:763
260
- #: ../admin/class-is-editor.php:799 ../admin/class-is-editor.php:959
261
  msgid "Search.."
262
  msgstr ""
263
 
264
- #: ../admin/class-is-editor.php:220 ../admin/class-is-editor.php:721
265
  msgid "Load All"
266
  msgstr ""
267
 
268
- #: ../admin/class-is-editor.php:229 ../admin/class-is-editor.php:276
269
- #: ../admin/class-is-editor.php:333 ../admin/class-is-editor.php:631
270
- #: ../admin/class-is-editor.php:730 ../admin/class-is-editor.php:772
271
- #: ../admin/class-is-editor.php:807 ../admin/class-is-editor.php:967
272
- msgid ""
273
- "Press CTRL key & Left Mouse button to select multiple terms or deselect them."
274
- msgstr ""
275
-
276
- #: ../admin/class-is-editor.php:234 ../admin/class-is-editor.php:738
277
- msgid "Taxonomy Terms"
278
  msgstr ""
279
 
280
- #: ../admin/class-is-editor.php:239
 
 
 
281
  msgid ""
282
- "Taxonomy terms that have no posts will not be visible below. Add a post with "
283
- "the taxonomy you want for it to be configurable."
284
  msgstr ""
285
 
286
- #: ../admin/class-is-editor.php:240
287
- msgid ""
288
- "Terms selected here will restrict the search to posts that have the selected "
289
- "terms."
290
  msgstr ""
291
 
292
- #: ../admin/class-is-editor.php:241
293
- msgid "Taxonomy terms selected display in BOLD"
294
  msgstr ""
295
 
296
- #: ../admin/class-is-editor.php:286
297
- msgid "AND - Search posts having all the above selected terms."
298
  msgstr ""
299
 
300
- #: ../admin/class-is-editor.php:288
301
- msgid "OR - Search posts having any one of the above selected terms."
302
  msgstr ""
303
 
304
- #: ../admin/class-is-editor.php:294
305
- msgid "Search in taxonomy terms title."
306
  msgstr ""
307
 
308
- #: ../admin/class-is-editor.php:300
309
- msgid "Search in taxonomy terms description."
310
  msgstr ""
311
 
312
- #: ../admin/class-is-editor.php:305 ../admin/class-is-editor.php:777
313
  msgid "No taxonomies registered for selected post types."
314
  msgstr ""
315
 
316
- #: ../admin/class-is-editor.php:312 ../admin/class-is-editor.php:784
317
- msgid "Custom Fields"
 
 
 
 
318
  msgstr ""
319
 
320
- #: ../admin/class-is-editor.php:316
321
- msgid "Select custom fields to make their values searchable."
322
  msgstr ""
323
 
324
- #: ../admin/class-is-editor.php:337
325
  msgid "Selected Custom Fields :"
326
  msgstr ""
327
 
328
- #: ../admin/class-is-editor.php:348 ../admin/class-is-editor.php:822
329
  msgid "WooCommerce"
330
  msgstr ""
331
 
332
- #: ../admin/class-is-editor.php:352
333
- msgid "Configure WooCommerce products search options here."
334
  msgstr ""
335
 
336
- #: ../admin/class-is-editor.php:368
337
- msgid "Search in WooCommerce products SKU."
338
  msgstr ""
339
 
340
- #: ../admin/class-is-editor.php:374
341
- msgid "Search in WooCommerce products variation."
342
  msgstr ""
343
 
344
- #: ../admin/class-is-editor.php:380 ../admin/class-is-editor.php:844
345
- msgid "WooCommerce product post type is not included in search."
 
346
  msgstr ""
347
 
348
- #: ../admin/class-is-editor.php:383 ../admin/class-is-editor.php:847
349
  msgid "Activate WooCommerce plugin to use this option."
350
  msgstr ""
351
 
352
- #: ../admin/class-is-editor.php:390 ../admin/class-is-editor.php:854
353
  msgid "Authors"
354
  msgstr ""
355
 
356
- #: ../admin/class-is-editor.php:394
357
- msgid "Make specific author posts searchable."
358
  msgstr ""
359
 
360
- #: ../admin/class-is-editor.php:427
361
  msgid ""
362
- "Search has been already limited by excluding specific authors posts in the "
363
- "Excludes section."
364
  msgstr ""
365
 
366
- #: ../admin/class-is-editor.php:435
367
- msgid ""
368
- "Search in author Display name and display the posts created by that author."
369
  msgstr ""
370
 
371
- #: ../admin/class-is-editor.php:443 ../admin/class-is-editor.php:900
372
  msgid "Post Status"
373
  msgstr ""
374
 
375
- #: ../admin/class-is-editor.php:447
376
- msgid "Configure options to search posts having specific post statuses."
377
  msgstr ""
378
 
379
- #: ../admin/class-is-editor.php:471
380
  msgid ""
381
- "Search has been already limited by excluding specific posts statuses from "
382
- "search in the Excludes section."
383
  msgstr ""
384
 
385
- #: ../admin/class-is-editor.php:478
386
  msgid "Comments"
387
  msgstr ""
388
 
389
- #: ../admin/class-is-editor.php:483
390
- msgid "Make posts searchable that have a specific number of comments."
391
  msgstr ""
392
 
393
- #: ../admin/class-is-editor.php:499
394
- msgid "The search operator to compare comments count."
395
  msgstr ""
396
 
397
- #: ../admin/class-is-editor.php:506
398
  msgid "NA"
399
  msgstr ""
400
 
401
- #: ../admin/class-is-editor.php:510
402
- msgid "The amount of comments your posts has to have."
403
  msgstr ""
404
 
405
- #: ../admin/class-is-editor.php:520
406
- msgid "Search in approved comments content."
407
  msgstr ""
408
 
409
- #: ../admin/class-is-editor.php:529 ../admin/class-is-list-table.php:34
410
- msgid "Date"
411
  msgstr ""
412
 
413
- #: ../admin/class-is-editor.php:533
414
- msgid "Make posts searchable that were created in the specified date range."
415
  msgstr ""
416
 
417
- #: ../admin/class-is-editor.php:546
 
 
 
 
418
  msgid "Day"
419
  msgstr ""
420
 
421
- #: ../admin/class-is-editor.php:557
422
  msgid "Month"
423
  msgstr ""
424
 
425
- #: ../admin/class-is-editor.php:568
426
  msgid "Year"
427
  msgstr ""
428
 
429
- #: ../admin/class-is-editor.php:582
430
- msgid "Password"
431
- msgstr ""
432
-
433
- #: ../admin/class-is-editor.php:586
434
- msgid "Configure options to search posts with or without password."
435
  msgstr ""
436
 
437
- #: ../admin/class-is-editor.php:591
438
- msgid "Search all posts with and without passwords."
439
  msgstr ""
440
 
441
- #: ../admin/class-is-editor.php:593
442
- msgid "Search only posts with passwords."
443
  msgstr ""
444
 
445
- #: ../admin/class-is-editor.php:595
446
- msgid "Search only posts without passwords."
447
  msgstr ""
448
 
449
- #: ../admin/class-is-editor.php:608 ../admin/class-is-editor.php:945
450
- msgid "File Types"
451
  msgstr ""
452
 
453
- #: ../admin/class-is-editor.php:612
454
  msgid ""
455
- "Configure searching to search based on posts that have a specific MIME type "
456
- "or files that have specific media attachments"
457
  msgstr ""
458
 
459
- #: ../admin/class-is-editor.php:634
460
  msgid ""
461
- "Search has been already limited by excluding specific File type in the "
462
- "Excludes section."
463
  msgstr ""
464
 
465
- #: ../admin/class-is-editor.php:637 ../admin/class-is-editor.php:973
466
- msgid "Attachment post type is not included in search."
467
  msgstr ""
468
 
469
- #: ../admin/class-is-editor.php:641
470
  msgid "Selected File Types :"
471
  msgstr ""
472
 
473
- #: ../admin/class-is-editor.php:667
474
- msgid "Configure the options to exclude specific content from search."
475
  msgstr ""
476
 
477
- #: ../admin/class-is-editor.php:679
478
- msgid "Select the posts you wish to exclude from the search."
479
  msgstr ""
480
 
481
- #: ../admin/class-is-editor.php:732
482
  msgid ""
483
- "Search is already limited to specific posts selected in Includes section."
 
484
  msgstr ""
485
 
486
- #: ../admin/class-is-editor.php:742
487
- msgid ""
488
- "The taxonomies and terms attached to searchable post types display here."
489
- msgstr ""
490
-
491
- #: ../admin/class-is-editor.php:743
492
- msgid "Exclude posts from search results that have specific terms"
493
  msgstr ""
494
 
495
- #: ../admin/class-is-editor.php:744
496
- msgid "Selected terms taxonomy title display in BOLD."
497
  msgstr ""
498
 
499
- #: ../admin/class-is-editor.php:788
500
- msgid "Exclude posts from the search having selected custom fields."
501
- msgstr ""
502
-
503
- #: ../admin/class-is-editor.php:811
504
  msgid "Excluded Custom Fields :"
505
  msgstr ""
506
 
507
- #: ../admin/class-is-editor.php:826
508
- msgid "Exclude specific WooCommerce products from the search."
509
  msgstr ""
510
 
511
- #: ../admin/class-is-editor.php:841
512
- msgid "Exclude 'out of stock' WooCommerce products."
513
  msgstr ""
514
 
515
- #: ../admin/class-is-editor.php:858
516
- msgid "Exclude posts from the search created by selected authors."
517
  msgstr ""
518
 
519
- #: ../admin/class-is-editor.php:893
520
  msgid ""
521
- "Search has been already limited to posts created by specific authors in the "
522
- "Includes section."
523
  msgstr ""
524
 
525
- #: ../admin/class-is-editor.php:904
526
- msgid "Exclude posts from the search having selected post statuses."
527
  msgstr ""
528
 
529
- #: ../admin/class-is-editor.php:927
530
  msgid ""
531
- "Search has been already limited to posts statuses set in the Includes "
532
- "section."
533
  msgstr ""
534
 
535
- #: ../admin/class-is-editor.php:935
536
- msgid "Exclude sticky posts from search."
537
  msgstr ""
538
 
539
- #: ../admin/class-is-editor.php:949
540
  msgid ""
541
- "Exclude posts specially media attachment posts from the search having "
542
- "selected file types."
543
  msgstr ""
544
 
545
- #: ../admin/class-is-editor.php:970
546
  msgid ""
547
- "Search has been already limited to specific File type set in the Includes "
548
- "section."
549
  msgstr ""
550
 
551
- #: ../admin/class-is-editor.php:977
552
  msgid "Excluded File Types :"
553
  msgstr ""
554
 
555
- #: ../admin/class-is-editor.php:1000
556
- msgid "Configure the options here to control search of this search form."
557
  msgstr ""
558
 
559
- #: ../admin/class-is-editor.php:1007
560
  msgid "Posts Per Page"
561
  msgstr ""
562
 
563
- #: ../admin/class-is-editor.php:1017
564
- msgid "Number of posts to display on search results page."
565
  msgstr ""
566
 
567
- #: ../admin/class-is-editor.php:1026
568
- msgid "Order By"
569
  msgstr ""
570
 
571
- #: ../admin/class-is-editor.php:1062
572
- msgid "Highlight Terms"
573
  msgstr ""
574
 
575
- #: ../admin/class-is-editor.php:1072
576
- msgid "Highlight searched terms on search results page."
577
  msgstr ""
578
 
579
- #: ../admin/class-is-editor.php:1078
580
- msgid "Set highlight color."
581
  msgstr ""
582
 
583
  #: ../admin/class-is-editor.php:1087
584
- msgid "Search Terms Relation"
585
  msgstr ""
586
 
587
- #: ../admin/class-is-editor.php:1094
588
- msgid "OR - Display content having any of the searched terms."
589
  msgstr ""
590
 
591
- #: ../admin/class-is-editor.php:1096
592
- msgid "AND - Display content having all the searched terms."
 
 
 
 
 
593
  msgstr ""
594
 
595
- #: ../admin/class-is-editor.php:1105
 
 
 
 
596
  msgid "Fuzzy Matching"
597
  msgstr ""
598
 
599
- #: ../admin/class-is-editor.php:1111
600
- msgid "Whole - Search posts that include the whole search term."
 
601
  msgstr ""
602
 
603
- #: ../admin/class-is-editor.php:1113
 
 
 
 
604
  msgid ""
605
  "Partial - Also search words in the posts that begins or ends with the search "
606
- "term."
607
  msgstr ""
608
 
609
- #: ../admin/class-is-editor.php:1122
610
  msgid "Keyword Stemming"
611
  msgstr ""
612
 
613
- #: ../admin/class-is-editor.php:1126
614
- msgid "Searches the base word of a searched keyword"
615
  msgstr ""
616
 
617
- #: ../admin/class-is-editor.php:1127
618
  msgid ""
619
  "For Example: If you search \"doing\" then it also searches base word of "
620
  "\"doing\" that is \"do\" in the specified post types."
621
  msgstr ""
622
 
623
- #: ../admin/class-is-editor.php:1128
624
- msgid ""
625
- "If you want to search whole exact searched term then do not use this options "
626
- "and in this case it is not recommended to use when Fuzzy Matching option is "
627
- "set to Whole."
628
- msgstr ""
629
-
630
- #: ../admin/class-is-editor.php:1134
631
- msgid "Also search base word of searched keyword."
632
- msgstr ""
633
-
634
- #: ../admin/class-is-editor.php:1136
635
  msgid "Not recommended to use when Fuzzy Matching option is set to Whole."
636
  msgstr ""
637
 
638
- #: ../admin/class-is-editor.php:1145
639
- msgid "Sticky Posts"
640
  msgstr ""
641
 
642
- #: ../admin/class-is-editor.php:1151
643
- msgid "Move sticky posts to the start of the search results page."
644
  msgstr ""
645
 
646
- #: ../admin/class-is-editor.php:1160
647
- msgid "Empty Search"
648
  msgstr ""
649
 
650
- #: ../admin/class-is-editor.php:1166
651
- msgid "Display an error for empty search query."
652
  msgstr ""
653
 
654
- #: ../admin/class-is-editor.php:1175
655
- msgid "Respect exclude_from_search"
 
 
656
  msgstr ""
657
 
658
  #: ../admin/class-is-editor.php:1181
659
- msgid "Do not search post types which are excluded from search."
660
  msgstr ""
661
 
662
  #: ../admin/class-is-editor.php:1190
663
- msgid "Demo"
664
  msgstr ""
665
 
666
  #: ../admin/class-is-editor.php:1196
667
- msgid "Display search form only for site administrator."
668
  msgstr ""
669
 
670
- #: ../admin/class-is-editor.php:1205 ../admin/class-is-settings-fields.php:163
671
- msgid "Disable"
672
  msgstr ""
673
 
674
  #: ../admin/class-is-editor.php:1211
675
- msgid "Disable this search form."
 
 
 
 
 
 
 
 
676
  msgstr ""
677
 
678
  #: ../admin/class-is-help.php:16 ../admin/class-is-help.php:30
@@ -815,13 +829,11 @@ msgstr ""
815
  msgid "For more information:"
816
  msgstr ""
817
 
818
- #: ../admin/class-is-help.php:110 ../admin/partials/search-form.php:187
819
- #: ../admin/partials/settings-form.php:97
820
  msgid "Docs"
821
  msgstr ""
822
 
823
- #: ../admin/class-is-help.php:112 ../admin/partials/search-form.php:190
824
- #: ../admin/partials/settings-form.php:100
825
  msgid "Give us a rating"
826
  msgstr ""
827
 
@@ -907,15 +919,15 @@ msgid "Close Icon"
907
  msgstr ""
908
 
909
  #: ../admin/class-is-settings-fields.php:156
910
- msgid "Header"
911
  msgstr ""
912
 
913
  #: ../admin/class-is-settings-fields.php:157
914
- msgid "Footer"
915
  msgstr ""
916
 
917
  #: ../admin/class-is-settings-fields.php:158
918
- msgid "Mobile Display"
919
  msgstr ""
920
 
921
  #: ../admin/class-is-settings-fields.php:159
@@ -931,7 +943,7 @@ msgid "Synonyms"
931
  msgstr ""
932
 
933
  #: ../admin/class-is-settings-fields.php:162
934
- msgid "Not load files"
935
  msgstr ""
936
 
937
  #: ../admin/class-is-settings-fields.php:164
@@ -939,24 +951,23 @@ msgid "Default Search"
939
  msgstr ""
940
 
941
  #: ../admin/class-is-settings-fields.php:174
942
- msgid "Use below options to display search in menu and configure it."
943
  msgstr ""
944
 
945
  #: ../admin/class-is-settings-fields.php:181
946
- msgid "Use below options to make sitewide changes in search."
947
  msgstr ""
948
 
949
  #: ../admin/class-is-settings-fields.php:189
950
- msgid "Select menu here where you want to display search form."
951
  msgstr ""
952
 
953
  #: ../admin/class-is-settings-fields.php:209
954
- msgid "No navigation menu registered on your site."
955
  msgstr ""
956
 
957
  #: ../admin/class-is-settings-fields.php:219
958
- msgid ""
959
- "Select search form that will control search performed using menu search."
960
  msgstr ""
961
 
962
  #: ../admin/class-is-settings-fields.php:253
@@ -966,7 +977,7 @@ msgid "Create New"
966
  msgstr ""
967
 
968
  #: ../admin/class-is-settings-fields.php:265
969
- msgid "Select form style for the search form displayed in the menu."
970
  msgstr ""
971
 
972
  #: ../admin/class-is-settings-fields.php:269
@@ -990,31 +1001,29 @@ msgid "Popup"
990
  msgstr ""
991
 
992
  #: ../admin/class-is-settings-fields.php:305
993
- msgid ""
994
- "Displays set menu title text in place of search icon displays in navigation "
995
- "menu."
996
  msgstr ""
997
 
998
  #: ../admin/class-is-settings-fields.php:317
999
- msgid "Adds set classes in the search navigation menu item."
1000
  msgstr ""
1001
 
1002
  #: ../admin/class-is-settings-fields.php:322
1003
- msgid "Add classes seperated by space."
1004
  msgstr ""
1005
 
1006
  #: ../admin/class-is-settings-fields.php:330
1007
  msgid ""
1008
- "Add only Google Custom Search( CSE ) search form code in the above text box "
1009
- "that will replace default search form."
1010
  msgstr ""
1011
 
1012
  #: ../admin/class-is-settings-fields.php:353
1013
- msgid "Display Search Form Close Icon"
1014
  msgstr ""
1015
 
1016
  #: ../admin/class-is-settings-fields.php:362
1017
- msgid "Displays search form in site header using wp_head hook."
1018
  msgstr ""
1019
 
1020
  #: ../admin/class-is-settings-fields.php:374
@@ -1023,52 +1032,40 @@ msgid "none"
1023
  msgstr ""
1024
 
1025
  #: ../admin/class-is-settings-fields.php:394
1026
- msgid "Displays search form in site footer using wp_footer hook."
1027
  msgstr ""
1028
 
1029
- #: ../admin/class-is-settings-fields.php:425
1030
- msgid ""
1031
- "Note: Does not work with caching as this functionality uses the WordPress "
1032
- "wp_is_mobile function."
1033
  msgstr ""
1034
 
1035
  #: ../admin/class-is-settings-fields.php:438
1036
- msgid "Display search form in header on mobile devices"
1037
- msgstr ""
1038
-
1039
- #: ../admin/class-is-settings-fields.php:441
1040
  msgid ""
1041
- "Use this option to display search form in your site header and hide the "
1042
- "search form on desktop using CSS code."
1043
  msgstr ""
1044
 
1045
- #: ../admin/class-is-settings-fields.php:454
1046
  msgid "This site uses cache"
1047
  msgstr ""
1048
 
1049
- #: ../admin/class-is-settings-fields.php:462
1050
- msgid "Add custom css code if any to style search form."
1051
  msgstr ""
1052
 
1053
- #: ../admin/class-is-settings-fields.php:475
1054
- msgid ""
1055
- "Enter words here to add them to the list of stopwords. The stopwords will "
1056
- "not be searched."
1057
  msgstr ""
1058
 
1059
  #: ../admin/class-is-settings-fields.php:476
1060
- msgid "This works with search form."
1061
  msgstr ""
1062
 
1063
- #: ../admin/class-is-settings-fields.php:480
1064
- msgid "Please separate words with commas."
1065
- msgstr ""
1066
-
1067
- #: ../admin/class-is-settings-fields.php:488
1068
  msgid "Add synonyms here to make the searches find better results."
1069
  msgstr ""
1070
 
1071
- #: ../admin/class-is-settings-fields.php:489
1072
  msgid ""
1073
  "If you add bird = crow to the list of synonyms, searches for bird "
1074
  "automatically become a search for bird crow and will thus match to posts "
@@ -1076,32 +1073,35 @@ msgid ""
1076
  msgstr ""
1077
 
1078
  #: ../admin/class-is-settings-fields.php:490
1079
- msgid ""
1080
- "This only works for search forms and in OR searches. In AND searches the "
1081
- "synonyms only restrict the search, as now the search only finds posts that "
1082
- "contain both bird and crow."
1083
  msgstr ""
1084
 
1085
- #: ../admin/class-is-settings-fields.php:495
 
 
 
 
1086
  msgid ""
1087
- "The format here is key = value;. Please separate every synonyms key = value "
1088
- "pairs with semicolon."
1089
  msgstr ""
1090
 
1091
  #: ../admin/class-is-settings-fields.php:505
1092
- msgid "Disable synonyms for the search forms having AND search terms relation."
 
1093
  msgstr ""
1094
 
1095
  #: ../admin/class-is-settings-fields.php:514
1096
- msgid "Configure to disable loading plugin CSS and JavaScript files."
 
1097
  msgstr ""
1098
 
1099
  #: ../admin/class-is-settings-fields.php:518
1100
- msgid "Plugin CSS File"
1101
  msgstr ""
1102
 
1103
  #: ../admin/class-is-settings-fields.php:519
1104
- msgid "Plugin JavaScript File"
1105
  msgstr ""
1106
 
1107
  #: ../admin/class-is-settings-fields.php:539
@@ -1117,29 +1117,21 @@ msgid ""
1117
  msgstr ""
1118
 
1119
  #: ../admin/class-is-settings-fields.php:558
1120
- msgid "Disable search functionality on whole site."
1121
  msgstr ""
1122
 
1123
  #: ../admin/class-is-settings-fields.php:569
1124
  msgid ""
1125
- "Do not use default search form to control WordPress default search "
1126
- "functionality."
1127
- msgstr ""
1128
-
1129
- #: ../admin/partials/search-form.php:23
1130
- msgid "Edit Search Form"
1131
- msgstr ""
1132
-
1133
- #: ../admin/partials/search-form.php:68
1134
- msgid "Enter search form name"
1135
  msgstr ""
1136
 
1137
- #: ../admin/partials/search-form.php:80
1138
- msgid "Enter search form name."
1139
  msgstr ""
1140
 
1141
  #: ../admin/partials/search-form.php:80
1142
- msgid "Editing title of Default Search Form is prohibited."
1143
  msgstr ""
1144
 
1145
  #: ../admin/partials/search-form.php:92
@@ -1166,8 +1158,16 @@ msgstr ""
1166
  msgid "Information"
1167
  msgstr ""
1168
 
 
 
 
 
1169
  #: ../admin/partials/search-form.php:189 ../admin/partials/settings-form.php:99
1170
- msgid "Contact"
 
 
 
 
1171
  msgstr ""
1172
 
1173
  #: ../includes/class-is-search-form.php:111
@@ -1186,12 +1186,12 @@ msgstr ""
1186
  msgid "Displays ivory search form."
1187
  msgstr ""
1188
 
1189
- #: ../includes/freemius.php:55
1190
  #, php-format
1191
  msgid "Hey %1$s"
1192
  msgstr ""
1193
 
1194
- #: ../includes/freemius.php:55
1195
  #, php-format
1196
  msgid ""
1197
  "Please help us improve %2$s by securely sharing some usage data with %5$s. "
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ivory Search\n"
4
+ "POT-Creation-Date: 2019-03-07 09:51+0530\n"
5
+ "PO-Revision-Date: 2019-03-07 09:51+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Ivory Search <admin@ivorysearch.com>\n"
8
  "Language: en_US\n"
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:134 ../admin/partials/search-form.php:23
24
+ msgid "Edit Search Form"
25
+ msgstr ""
26
+
27
+ #: ../admin/class-is-admin.php:135
28
+ msgid "Click on the search form link to edit it."
29
+ msgstr ""
30
+
31
+ #: ../admin/class-is-admin.php:136
32
+ msgid "Edit the Default Search Form to manage the default WordPress search."
33
+ msgstr ""
34
+
35
+ #: ../admin/class-is-admin.php:160 ../admin/class-is-help.php:111
36
  #: ../admin/partials/search-form.php:188 ../admin/partials/settings-form.php:98
37
  msgid "Support"
38
  msgstr ""
39
 
40
+ #: ../admin/class-is-admin.php:179
41
+ #, php-format
42
+ msgid ""
43
+ "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
44
+ msgstr ""
45
+
46
+ #: ../admin/class-is-admin.php:180 ../admin/class-is-admin.php:405
47
+ #: ../includes/class-is-widget.php:13 ../includes/class-is-widget.php:45
48
+ msgid "Ivory Search"
49
+ msgstr ""
50
+
51
+ #: ../admin/class-is-admin.php:203
52
  #, php-format
53
  msgid ""
54
+ "Thank you for using <strong>Ivory Search</strong> plugin. Please configure "
55
+ "its <a href=\"%1$s\">search form</a> and get support on <a href=\"%2$s\" "
56
+ "target=\"_blank\">support forum</a> or <a href=\"%3$s\" target=\"_blank"
57
+ "\">contact us</a>."
58
  msgstr ""
59
 
60
+ #: ../admin/class-is-admin.php:204 ../admin/class-is-admin.php:225
61
  msgid "Dismiss"
62
  msgstr ""
63
 
64
+ #: ../admin/class-is-admin.php:226
65
  msgid "Have you found Ivory Search plugin useful?"
66
  msgstr ""
67
 
68
+ #: ../admin/class-is-admin.php:227
69
  msgid ""
70
  "We poured a lot of hours into creating it, and we'd love it if you could "
71
  "give us a nice rating on the official plugin directory."
72
  msgstr ""
73
 
74
+ #: ../admin/class-is-admin.php:229
75
  msgid "Rate Ivory Search and Help Us Out"
76
  msgstr ""
77
 
78
+ #: ../admin/class-is-admin.php:230
79
  msgid "Get Support"
80
  msgstr ""
81
 
82
+ #: ../admin/class-is-admin.php:231
83
  msgid "Say Hi"
84
  msgstr ""
85
 
86
+ #: ../admin/class-is-admin.php:269
87
  msgid "No posts found"
88
  msgstr ""
89
 
90
+ #: ../admin/class-is-admin.php:371
91
  msgid "Search form created."
92
  msgstr ""
93
 
94
+ #: ../admin/class-is-admin.php:373
95
  msgid "Search form saved."
96
  msgstr ""
97
 
98
+ #: ../admin/class-is-admin.php:375
99
  msgid "Search form deleted."
100
  msgstr ""
101
 
102
+ #: ../admin/class-is-admin.php:377
103
  msgid "Search form reset."
104
  msgstr ""
105
 
106
+ #: ../admin/class-is-admin.php:386
107
  msgid "There was an error saving the search form."
108
  msgstr ""
109
 
110
+ #: ../admin/class-is-admin.php:394
111
  msgid "There was a validation error saving the search form."
112
  msgstr ""
113
 
114
+ #: ../admin/class-is-admin.php:395
115
  #, php-format
116
  msgid ""
117
  "Please make sure you have not selected similar %s fields in the search form "
118
  "Includes and Excludes sections."
119
  msgstr ""
120
 
121
+ #: ../admin/class-is-admin.php:407 ../admin/class-is-admin.php:445
 
 
 
 
 
122
  #: ../includes/class-is-search-form.php:59
123
  msgid "Search Forms"
124
  msgstr ""
125
 
126
+ #: ../admin/class-is-admin.php:410 ../admin/partials/search-form.php:21
127
  msgid "Add New Search Form"
128
  msgstr ""
129
 
130
+ #: ../admin/class-is-admin.php:410 ../admin/class-is-admin.php:452
131
  #: ../admin/partials/search-form.php:31
132
  msgid "Add New"
133
  msgstr ""
134
 
135
+ #: ../admin/class-is-admin.php:413 ../admin/partials/settings-form.php:20
136
  msgid "Ivory Search Settings"
137
  msgstr ""
138
 
139
+ #: ../admin/class-is-admin.php:413 ../admin/class-is-help.php:64
140
  msgid "Settings"
141
  msgstr ""
142
 
143
+ #: ../admin/class-is-admin.php:458
144
  #, php-format
145
  msgid "Search results for &#8220;%s&#8221;"
146
  msgstr ""
147
 
148
+ #: ../admin/class-is-admin.php:469
149
+ msgid "Find Search Forms"
150
  msgstr ""
151
 
152
+ #: ../admin/class-is-admin.php:513
153
  msgid "You are not allowed to edit this item."
154
  msgstr ""
155
 
156
+ #: ../admin/class-is-admin.php:601
157
  msgid "You are not allowed to reset this item."
158
  msgstr ""
159
 
160
+ #: ../admin/class-is-admin.php:642
161
  msgid "You are not allowed to copy this item."
162
  msgstr ""
163
 
164
+ #: ../admin/class-is-admin.php:683
165
  msgid "You are not allowed to delete this item."
166
  msgstr ""
167
 
168
+ #: ../admin/class-is-admin.php:687
169
  msgid "Error in deleting."
170
  msgstr ""
171
 
172
+ #: ../admin/class-is-admin.php:899
173
  msgid "Save Form"
174
  msgstr ""
175
 
176
+ #: ../admin/class-is-admin.php:911
177
+ msgid "Upgrade to Pro to Access"
178
  msgstr ""
179
 
180
+ #: ../admin/class-is-admin.php:918
181
+ msgid "Install Premium Version to Access"
182
+ msgstr ""
183
+
184
+ #: ../admin/class-is-admin.php:920
185
+ msgid "Upgrade to Pro Plus to Access"
186
  msgstr ""
187
 
188
  #: ../admin/class-is-editor.php:99
189
+ msgid "This search form searches the below configured content."
190
  msgstr ""
191
 
192
  #: ../admin/class-is-editor.php:107
194
  msgstr ""
195
 
196
  #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
197
+ #: ../admin/class-is-editor.php:240 ../admin/class-is-editor.php:315
198
+ #: ../admin/class-is-editor.php:353 ../admin/class-is-editor.php:395
199
+ #: ../admin/class-is-editor.php:448 ../admin/class-is-editor.php:483
200
+ #: ../admin/class-is-editor.php:534 ../admin/class-is-editor.php:588
201
+ #: ../admin/class-is-editor.php:612 ../admin/class-is-editor.php:678
202
+ #: ../admin/class-is-editor.php:747 ../admin/class-is-editor.php:791
203
+ #: ../admin/class-is-editor.php:827 ../admin/class-is-editor.php:859
204
+ #: ../admin/class-is-editor.php:905 ../admin/class-is-editor.php:950
205
+ #: ../admin/class-is-editor.php:1012 ../admin/class-is-editor.php:1034
206
+ #: ../admin/class-is-editor.php:1072 ../admin/class-is-editor.php:1097
207
+ #: ../admin/class-is-editor.php:1118 ../admin/class-is-editor.php:1137
208
+ #: ../admin/class-is-editor.php:1159 ../admin/class-is-editor.php:1174
209
+ #: ../admin/class-is-editor.php:1191 ../admin/class-is-editor.php:1206
210
+ #: ../admin/class-is-editor.php:1221 ../admin/class-is-settings-fields.php:118
211
  msgid "Expand All"
212
  msgstr ""
213
 
214
  #: ../admin/class-is-editor.php:108 ../admin/class-is-editor.php:177
215
+ #: ../admin/class-is-editor.php:240 ../admin/class-is-editor.php:315
216
+ #: ../admin/class-is-editor.php:353 ../admin/class-is-editor.php:395
217
+ #: ../admin/class-is-editor.php:448 ../admin/class-is-editor.php:483
218
+ #: ../admin/class-is-editor.php:534 ../admin/class-is-editor.php:588
219
+ #: ../admin/class-is-editor.php:612 ../admin/class-is-editor.php:678
220
+ #: ../admin/class-is-editor.php:747 ../admin/class-is-editor.php:791
221
+ #: ../admin/class-is-editor.php:827 ../admin/class-is-editor.php:859
222
+ #: ../admin/class-is-editor.php:905 ../admin/class-is-editor.php:950
223
+ #: ../admin/class-is-editor.php:1012 ../admin/class-is-editor.php:1034
224
+ #: ../admin/class-is-editor.php:1072 ../admin/class-is-editor.php:1097
225
+ #: ../admin/class-is-editor.php:1118 ../admin/class-is-editor.php:1137
226
+ #: ../admin/class-is-editor.php:1159 ../admin/class-is-editor.php:1174
227
+ #: ../admin/class-is-editor.php:1191 ../admin/class-is-editor.php:1206
228
+ #: ../admin/class-is-editor.php:1221 ../admin/class-is-settings-fields.php:118
229
  msgid "Collapse All"
230
  msgstr ""
231
 
232
  #: ../admin/class-is-editor.php:113
233
+ msgid "Search selected post types."
234
  msgstr ""
235
 
236
  #: ../admin/class-is-editor.php:142
237
+ msgid "Search post title"
238
  msgstr ""
239
 
240
  #: ../admin/class-is-editor.php:148
241
+ msgid "Search post content"
242
  msgstr ""
243
 
244
  #: ../admin/class-is-editor.php:154
245
+ msgid "Search post excerpt"
246
  msgstr ""
247
 
248
  #: ../admin/class-is-editor.php:160
251
 
252
  #: ../admin/class-is-editor.php:164
253
  msgid ""
254
+ "Add this selected post type in the search results URL and search only its "
255
+ "content"
256
  msgstr ""
257
 
258
  #: ../admin/class-is-editor.php:169
259
  msgid "No post types registered on your site."
260
  msgstr ""
261
 
262
+ #: ../admin/class-is-editor.php:176 ../admin/class-is-editor.php:677
263
+ msgid "Posts, Pages & Custom Posts"
 
 
 
 
 
 
 
 
 
 
264
  msgstr ""
265
 
266
+ #: ../admin/class-is-editor.php:180
267
+ msgid "Search only selected posts."
268
  msgstr ""
269
 
270
+ #: ../admin/class-is-editor.php:216 ../admin/class-is-editor.php:269
271
+ #: ../admin/class-is-editor.php:328 ../admin/class-is-editor.php:626
272
+ #: ../admin/class-is-editor.php:719 ../admin/class-is-editor.php:769
273
+ #: ../admin/class-is-editor.php:801 ../admin/class-is-editor.php:963
274
  msgid "Search.."
275
  msgstr ""
276
 
277
+ #: ../admin/class-is-editor.php:220 ../admin/class-is-editor.php:723
278
  msgid "Load All"
279
  msgstr ""
280
 
281
+ #: ../admin/class-is-editor.php:231 ../admin/class-is-editor.php:734
282
+ msgid "No posts created for selected post types."
 
 
 
 
 
 
 
 
283
  msgstr ""
284
 
285
+ #: ../admin/class-is-editor.php:233 ../admin/class-is-editor.php:278
286
+ #: ../admin/class-is-editor.php:335 ../admin/class-is-editor.php:634
287
+ #: ../admin/class-is-editor.php:736 ../admin/class-is-editor.php:778
288
+ #: ../admin/class-is-editor.php:809 ../admin/class-is-editor.php:971
289
  msgid ""
290
+ "Press CTRL key & Left Mouse button to select multiple terms or deselect them."
 
291
  msgstr ""
292
 
293
+ #: ../admin/class-is-editor.php:239 ../admin/class-is-editor.php:746
294
+ msgid "Category & Taxonomy Terms"
 
 
295
  msgstr ""
296
 
297
+ #: ../admin/class-is-editor.php:243
298
+ msgid "Search posts of only selected categories, taxonomies & terms."
299
  msgstr ""
300
 
301
+ #: ../admin/class-is-editor.php:288
302
+ msgid "AND - Search posts having all the above selected terms"
303
  msgstr ""
304
 
305
+ #: ../admin/class-is-editor.php:290
306
+ msgid "OR - Search posts having any one of the above selected terms"
307
  msgstr ""
308
 
309
+ #: ../admin/class-is-editor.php:296
310
+ msgid "Search term title"
311
  msgstr ""
312
 
313
+ #: ../admin/class-is-editor.php:302
314
+ msgid "Search term description"
315
  msgstr ""
316
 
317
+ #: ../admin/class-is-editor.php:307 ../admin/class-is-editor.php:783
318
  msgid "No taxonomies registered for selected post types."
319
  msgstr ""
320
 
321
+ #: ../admin/class-is-editor.php:314 ../admin/class-is-editor.php:790
322
+ msgid "Custom Fields & Metadata"
323
+ msgstr ""
324
+
325
+ #: ../admin/class-is-editor.php:318
326
+ msgid "Search values of selected custom fields."
327
  msgstr ""
328
 
329
+ #: ../admin/class-is-editor.php:337 ../admin/class-is-editor.php:811
330
+ msgid "No custom fields created for selected post types."
331
  msgstr ""
332
 
333
+ #: ../admin/class-is-editor.php:341
334
  msgid "Selected Custom Fields :"
335
  msgstr ""
336
 
337
+ #: ../admin/class-is-editor.php:352 ../admin/class-is-editor.php:826
338
  msgid "WooCommerce"
339
  msgstr ""
340
 
341
+ #: ../admin/class-is-editor.php:356
342
+ msgid "Search WooCommerce products."
343
  msgstr ""
344
 
345
+ #: ../admin/class-is-editor.php:372
346
+ msgid "Search product SKU"
347
  msgstr ""
348
 
349
+ #: ../admin/class-is-editor.php:378
350
+ msgid "Search product variation"
351
  msgstr ""
352
 
353
+ #: ../admin/class-is-editor.php:384 ../admin/class-is-editor.php:848
354
+ msgid ""
355
+ "This search form is not configured to search WooCommerce product post type."
356
  msgstr ""
357
 
358
+ #: ../admin/class-is-editor.php:387 ../admin/class-is-editor.php:851
359
  msgid "Activate WooCommerce plugin to use this option."
360
  msgstr ""
361
 
362
+ #: ../admin/class-is-editor.php:394 ../admin/class-is-editor.php:858
363
  msgid "Authors"
364
  msgstr ""
365
 
366
+ #: ../admin/class-is-editor.php:398
367
+ msgid "Search posts of selected authors."
368
  msgstr ""
369
 
370
+ #: ../admin/class-is-editor.php:431
371
  msgid ""
372
+ "This search form is already configured in the Excludes section to not search "
373
+ "for specific author posts."
374
  msgstr ""
375
 
376
+ #: ../admin/class-is-editor.php:439
377
+ msgid "Search author Display Name and display the posts created by that author"
 
378
  msgstr ""
379
 
380
+ #: ../admin/class-is-editor.php:447 ../admin/class-is-editor.php:904
381
  msgid "Post Status"
382
  msgstr ""
383
 
384
+ #: ../admin/class-is-editor.php:451
385
+ msgid "Search posts having selected post statuses."
386
  msgstr ""
387
 
388
+ #: ../admin/class-is-editor.php:475
389
  msgid ""
390
+ "This search form is already configured in the Excludes section to not search "
391
+ "posts of specific post statuses."
392
  msgstr ""
393
 
394
+ #: ../admin/class-is-editor.php:482
395
  msgid "Comments"
396
  msgstr ""
397
 
398
+ #: ../admin/class-is-editor.php:487
399
+ msgid "Search posts by comments."
400
  msgstr ""
401
 
402
+ #: ../admin/class-is-editor.php:494
403
+ msgid "Search posts having number of comments"
404
  msgstr ""
405
 
406
+ #: ../admin/class-is-editor.php:510
407
  msgid "NA"
408
  msgstr ""
409
 
410
+ #: ../admin/class-is-editor.php:524
411
+ msgid "Search approved comment content"
412
  msgstr ""
413
 
414
+ #: ../admin/class-is-editor.php:533 ../admin/class-is-list-table.php:34
415
+ msgid "Date"
416
  msgstr ""
417
 
418
+ #: ../admin/class-is-editor.php:537
419
+ msgid "Search posts created in the specified date range."
420
  msgstr ""
421
 
422
+ #: ../admin/class-is-editor.php:543
423
+ msgid "From"
424
  msgstr ""
425
 
426
+ #: ../admin/class-is-editor.php:543
427
+ msgid "To"
428
+ msgstr ""
429
+
430
+ #: ../admin/class-is-editor.php:551
431
  msgid "Day"
432
  msgstr ""
433
 
434
+ #: ../admin/class-is-editor.php:562
435
  msgid "Month"
436
  msgstr ""
437
 
438
+ #: ../admin/class-is-editor.php:573
439
  msgid "Year"
440
  msgstr ""
441
 
442
+ #: ../admin/class-is-editor.php:587
443
+ msgid "Password Protected"
 
 
 
 
444
  msgstr ""
445
 
446
+ #: ../admin/class-is-editor.php:594
447
+ msgid "Search posts with or without passwords"
448
  msgstr ""
449
 
450
+ #: ../admin/class-is-editor.php:596
451
+ msgid "Search posts with passwords"
452
  msgstr ""
453
 
454
+ #: ../admin/class-is-editor.php:598
455
+ msgid "Search posts without passwords"
456
  msgstr ""
457
 
458
+ #: ../admin/class-is-editor.php:611 ../admin/class-is-editor.php:949
459
+ msgid "Attachments, Media, Files & MIME Types"
460
  msgstr ""
461
 
462
+ #: ../admin/class-is-editor.php:615
463
  msgid ""
464
+ "Search selected media, attachments, images, documents, videos, files or MIME "
465
+ "types."
466
  msgstr ""
467
 
468
+ #: ../admin/class-is-editor.php:637
469
  msgid ""
470
+ "This search form is already configured in the Excludes section to not search "
471
+ "specific file & MIME types."
472
  msgstr ""
473
 
474
+ #: ../admin/class-is-editor.php:640 ../admin/class-is-editor.php:977
475
+ msgid "This search form is not configured to search Attachment post type."
476
  msgstr ""
477
 
478
+ #: ../admin/class-is-editor.php:644
479
  msgid "Selected File Types :"
480
  msgstr ""
481
 
482
+ #: ../admin/class-is-editor.php:670
483
+ msgid "This search form excludes the below configured content from search."
484
  msgstr ""
485
 
486
+ #: ../admin/class-is-editor.php:681
487
+ msgid "Exclude selected posts from search."
488
  msgstr ""
489
 
490
+ #: ../admin/class-is-editor.php:740
491
  msgid ""
492
+ "This search form is already configured in the Includes section to search "
493
+ "specific posts."
494
  msgstr ""
495
 
496
+ #: ../admin/class-is-editor.php:750
497
+ msgid "Exclude posts of selected categories, taxonomies & terms from search."
 
 
 
 
 
498
  msgstr ""
499
 
500
+ #: ../admin/class-is-editor.php:794
501
+ msgid "Exclude posts having selected custom fields from search."
502
  msgstr ""
503
 
504
+ #: ../admin/class-is-editor.php:815
 
 
 
 
505
  msgid "Excluded Custom Fields :"
506
  msgstr ""
507
 
508
+ #: ../admin/class-is-editor.php:830
509
+ msgid "Exclude selected WooCommerce products from search."
510
  msgstr ""
511
 
512
+ #: ../admin/class-is-editor.php:845
513
+ msgid "Exclude 'Out of Stock' products"
514
  msgstr ""
515
 
516
+ #: ../admin/class-is-editor.php:862
517
+ msgid "Exclude posts created by selected authors from search."
518
  msgstr ""
519
 
520
+ #: ../admin/class-is-editor.php:897
521
  msgid ""
522
+ "This search form is already configured in the Includes section to search "
523
+ "posts created by specific authors."
524
  msgstr ""
525
 
526
+ #: ../admin/class-is-editor.php:908
527
+ msgid "Exclude posts having selected post statuses from search."
528
  msgstr ""
529
 
530
+ #: ../admin/class-is-editor.php:931
531
  msgid ""
532
+ "This search form is already configured in the Includes section to search "
533
+ "posts of specific post statuses."
534
  msgstr ""
535
 
536
+ #: ../admin/class-is-editor.php:939
537
+ msgid "Exclude sticky posts from search"
538
  msgstr ""
539
 
540
+ #: ../admin/class-is-editor.php:953
541
  msgid ""
542
+ "Exclude selected media, attachments, images, documents, videos, files or "
543
+ "MIME types from search."
544
  msgstr ""
545
 
546
+ #: ../admin/class-is-editor.php:974
547
  msgid ""
548
+ "This search form is already configured in the Includes section to search "
549
+ "specific Attachments, Media or Files."
550
  msgstr ""
551
 
552
+ #: ../admin/class-is-editor.php:981
553
  msgid "Excluded File Types :"
554
  msgstr ""
555
 
556
+ #: ../admin/class-is-editor.php:1004
557
+ msgid "Configure below options to manage functionality of this search form."
558
  msgstr ""
559
 
560
+ #: ../admin/class-is-editor.php:1011
561
  msgid "Posts Per Page"
562
  msgstr ""
563
 
564
+ #: ../admin/class-is-editor.php:1015
565
+ msgid "Display selected number of posts on search results page."
566
  msgstr ""
567
 
568
+ #: ../admin/class-is-editor.php:1033
569
+ msgid "Order Search Results"
570
  msgstr ""
571
 
572
+ #: ../admin/class-is-editor.php:1036
573
+ msgid "Display posts on search results page ordered by selected options."
574
  msgstr ""
575
 
576
+ #: ../admin/class-is-editor.php:1071
577
+ msgid "Highlight Search Terms"
578
  msgstr ""
579
 
580
+ #: ../admin/class-is-editor.php:1081
581
+ msgid "Highlight searched terms on search results page"
582
  msgstr ""
583
 
584
  #: ../admin/class-is-editor.php:1087
585
+ msgid "Set highlight color in Hex format"
586
  msgstr ""
587
 
588
+ #: ../admin/class-is-editor.php:1096
589
+ msgid "Search All Or Any Search Terms"
590
  msgstr ""
591
 
592
+ #: ../admin/class-is-editor.php:1100
593
+ msgid ""
594
+ "Select whether to search posts having all or any of the words being searched."
595
+ msgstr ""
596
+
597
+ #: ../admin/class-is-editor.php:1106
598
+ msgid "OR - Display content having any of the search terms"
599
  msgstr ""
600
 
601
+ #: ../admin/class-is-editor.php:1108
602
+ msgid "AND - Display content having all the search terms"
603
+ msgstr ""
604
+
605
+ #: ../admin/class-is-editor.php:1117
606
  msgid "Fuzzy Matching"
607
  msgstr ""
608
 
609
+ #: ../admin/class-is-editor.php:1120
610
+ msgid ""
611
+ "Select whether to search posts having whole or partial word being searched."
612
  msgstr ""
613
 
614
+ #: ../admin/class-is-editor.php:1125
615
+ msgid "Whole - Search posts that include the whole search term"
616
+ msgstr ""
617
+
618
+ #: ../admin/class-is-editor.php:1127
619
  msgid ""
620
  "Partial - Also search words in the posts that begins or ends with the search "
621
+ "term"
622
  msgstr ""
623
 
624
+ #: ../admin/class-is-editor.php:1136
625
  msgid "Keyword Stemming"
626
  msgstr ""
627
 
628
+ #: ../admin/class-is-editor.php:1140
629
+ msgid "Select whether to search the base word of a searched keyword."
630
  msgstr ""
631
 
632
+ #: ../admin/class-is-editor.php:1141
633
  msgid ""
634
  "For Example: If you search \"doing\" then it also searches base word of "
635
  "\"doing\" that is \"do\" in the specified post types."
636
  msgstr ""
637
 
638
+ #: ../admin/class-is-editor.php:1142
 
 
 
 
 
 
 
 
 
 
 
639
  msgid "Not recommended to use when Fuzzy Matching option is set to Whole."
640
  msgstr ""
641
 
642
+ #: ../admin/class-is-editor.php:1148
643
+ msgid "Also search base word of searched keyword"
644
  msgstr ""
645
 
646
+ #: ../admin/class-is-editor.php:1158
647
+ msgid "Sticky Posts"
648
  msgstr ""
649
 
650
+ #: ../admin/class-is-editor.php:1164
651
+ msgid "Display sticky posts to the start of the search results page"
652
  msgstr ""
653
 
654
+ #: ../admin/class-is-editor.php:1173
655
+ msgid "Empty Search Query"
656
  msgstr ""
657
 
658
+ #: ../admin/class-is-editor.php:1176
659
+ msgid ""
660
+ "Select whether to display an error when user perform search without any "
661
+ "search word."
662
  msgstr ""
663
 
664
  #: ../admin/class-is-editor.php:1181
665
+ msgid "Display an error for empty search query"
666
  msgstr ""
667
 
668
  #: ../admin/class-is-editor.php:1190
669
+ msgid "Respect exclude_from_search"
670
  msgstr ""
671
 
672
  #: ../admin/class-is-editor.php:1196
673
+ msgid "Do not search post types which are excluded from search"
674
  msgstr ""
675
 
676
+ #: ../admin/class-is-editor.php:1205
677
+ msgid "Demo Search"
678
  msgstr ""
679
 
680
  #: ../admin/class-is-editor.php:1211
681
+ msgid "Display search form only for site administrator"
682
+ msgstr ""
683
+
684
+ #: ../admin/class-is-editor.php:1220 ../admin/class-is-settings-fields.php:163
685
+ msgid "Disable Search"
686
+ msgstr ""
687
+
688
+ #: ../admin/class-is-editor.php:1226
689
+ msgid "Disable this search form"
690
  msgstr ""
691
 
692
  #: ../admin/class-is-help.php:16 ../admin/class-is-help.php:30
829
  msgid "For more information:"
830
  msgstr ""
831
 
832
+ #: ../admin/class-is-help.php:110
 
833
  msgid "Docs"
834
  msgstr ""
835
 
836
+ #: ../admin/class-is-help.php:112 ../admin/partials/settings-form.php:100
 
837
  msgid "Give us a rating"
838
  msgstr ""
839
 
919
  msgstr ""
920
 
921
  #: ../admin/class-is-settings-fields.php:156
922
+ msgid "Header Search"
923
  msgstr ""
924
 
925
  #: ../admin/class-is-settings-fields.php:157
926
+ msgid "Footer Search"
927
  msgstr ""
928
 
929
  #: ../admin/class-is-settings-fields.php:158
930
+ msgid "Mobile Search"
931
  msgstr ""
932
 
933
  #: ../admin/class-is-settings-fields.php:159
943
  msgstr ""
944
 
945
  #: ../admin/class-is-settings-fields.php:162
946
+ msgid "Do Not Load Plugin Files"
947
  msgstr ""
948
 
949
  #: ../admin/class-is-settings-fields.php:164
951
  msgstr ""
952
 
953
  #: ../admin/class-is-settings-fields.php:174
954
+ msgid "Display search in menu and configure it using below options."
955
  msgstr ""
956
 
957
  #: ../admin/class-is-settings-fields.php:181
958
+ msgid "Make search changes on entire website using below options."
959
  msgstr ""
960
 
961
  #: ../admin/class-is-settings-fields.php:189
962
+ msgid "Display search form on selected menu."
963
  msgstr ""
964
 
965
  #: ../admin/class-is-settings-fields.php:209
966
+ msgid "Navigation menu location is not registered on the site."
967
  msgstr ""
968
 
969
  #: ../admin/class-is-settings-fields.php:219
970
+ msgid "Select search form that will control menu search functionality."
 
971
  msgstr ""
972
 
973
  #: ../admin/class-is-settings-fields.php:253
977
  msgstr ""
978
 
979
  #: ../admin/class-is-settings-fields.php:265
980
+ msgid "Select menu search form style."
981
  msgstr ""
982
 
983
  #: ../admin/class-is-settings-fields.php:269
1001
  msgstr ""
1002
 
1003
  #: ../admin/class-is-settings-fields.php:305
1004
+ msgid "Add menu title to display in place of search icon."
 
 
1005
  msgstr ""
1006
 
1007
  #: ../admin/class-is-settings-fields.php:317
1008
+ msgid "Add class to search form menu item."
1009
  msgstr ""
1010
 
1011
  #: ../admin/class-is-settings-fields.php:322
1012
+ msgid "Add multiple classes seperated by space."
1013
  msgstr ""
1014
 
1015
  #: ../admin/class-is-settings-fields.php:330
1016
  msgid ""
1017
+ "Add Google Custom Search( CSE ) search form code that will replace default "
1018
+ "search form."
1019
  msgstr ""
1020
 
1021
  #: ../admin/class-is-settings-fields.php:353
1022
+ msgid "Display search form close icon"
1023
  msgstr ""
1024
 
1025
  #: ../admin/class-is-settings-fields.php:362
1026
+ msgid "Select search form to display in site header."
1027
  msgstr ""
1028
 
1029
  #: ../admin/class-is-settings-fields.php:374
1032
  msgstr ""
1033
 
1034
  #: ../admin/class-is-settings-fields.php:394
1035
+ msgid "Select search form to display in site footer."
1036
  msgstr ""
1037
 
1038
+ #: ../admin/class-is-settings-fields.php:435
1039
+ msgid "Display search form in site header on mobile devices"
 
 
1040
  msgstr ""
1041
 
1042
  #: ../admin/class-is-settings-fields.php:438
 
 
 
 
1043
  msgid ""
1044
+ "If this site uses cache then please select the below option to display "
1045
+ "search form on mobile."
1046
  msgstr ""
1047
 
1048
+ #: ../admin/class-is-settings-fields.php:451
1049
  msgid "This site uses cache"
1050
  msgstr ""
1051
 
1052
+ #: ../admin/class-is-settings-fields.php:459
1053
+ msgid "Add custom css code."
1054
  msgstr ""
1055
 
1056
+ #: ../admin/class-is-settings-fields.php:472
1057
+ msgid "Enter stopwords here that will not be searched."
 
 
1058
  msgstr ""
1059
 
1060
  #: ../admin/class-is-settings-fields.php:476
1061
+ msgid "Please separate multiple words with commas."
1062
  msgstr ""
1063
 
1064
+ #: ../admin/class-is-settings-fields.php:484
 
 
 
 
1065
  msgid "Add synonyms here to make the searches find better results."
1066
  msgstr ""
1067
 
1068
+ #: ../admin/class-is-settings-fields.php:485
1069
  msgid ""
1070
  "If you add bird = crow to the list of synonyms, searches for bird "
1071
  "automatically become a search for bird crow and will thus match to posts "
1073
  msgstr ""
1074
 
1075
  #: ../admin/class-is-settings-fields.php:490
1076
+ msgid "The format here is key = value;"
 
 
 
1077
  msgstr ""
1078
 
1079
+ #: ../admin/class-is-settings-fields.php:491
1080
+ msgid "Please separate every synonyms key = value pairs with semicolon."
1081
+ msgstr ""
1082
+
1083
+ #: ../admin/class-is-settings-fields.php:494
1084
  msgid ""
1085
+ "This only works for search forms configured to search any of the search "
1086
+ "terms(OR) and not all search terms(AND)."
1087
  msgstr ""
1088
 
1089
  #: ../admin/class-is-settings-fields.php:505
1090
+ msgid ""
1091
+ "Disable synonyms for the search forms configured to search all search terms"
1092
  msgstr ""
1093
 
1094
  #: ../admin/class-is-settings-fields.php:514
1095
+ msgid ""
1096
+ "Enable below options to disable loading of plugin CSS and JavaScript files."
1097
  msgstr ""
1098
 
1099
  #: ../admin/class-is-settings-fields.php:518
1100
+ msgid "Plugin CSS files"
1101
  msgstr ""
1102
 
1103
  #: ../admin/class-is-settings-fields.php:519
1104
+ msgid "Plugin JavaScript files"
1105
  msgstr ""
1106
 
1107
  #: ../admin/class-is-settings-fields.php:539
1117
  msgstr ""
1118
 
1119
  #: ../admin/class-is-settings-fields.php:558
1120
+ msgid "Disable search functionality on entire website"
1121
  msgstr ""
1122
 
1123
  #: ../admin/class-is-settings-fields.php:569
1124
  msgid ""
1125
+ "Do not use Default Search Form to control WordPress default search "
1126
+ "functionality"
 
 
 
 
 
 
 
 
1127
  msgstr ""
1128
 
1129
+ #: ../admin/partials/search-form.php:68 ../admin/partials/search-form.php:80
1130
+ msgid "Search form name"
1131
  msgstr ""
1132
 
1133
  #: ../admin/partials/search-form.php:80
1134
+ msgid "Editing the title of Default Search Form is prohibited."
1135
  msgstr ""
1136
 
1137
  #: ../admin/partials/search-form.php:92
1158
  msgid "Information"
1159
  msgstr ""
1160
 
1161
+ #: ../admin/partials/search-form.php:187 ../admin/partials/settings-form.php:97
1162
+ msgid "Documentation"
1163
+ msgstr ""
1164
+
1165
  #: ../admin/partials/search-form.php:189 ../admin/partials/settings-form.php:99
1166
+ msgid "Contact Us"
1167
+ msgstr ""
1168
+
1169
+ #: ../admin/partials/search-form.php:190
1170
+ msgid "Rate Ivory Search"
1171
  msgstr ""
1172
 
1173
  #: ../includes/class-is-search-form.php:111
1186
  msgid "Displays ivory search form."
1187
  msgstr ""
1188
 
1189
+ #: ../includes/freemius.php:56
1190
  #, php-format
1191
  msgid "Hey %1$s"
1192
  msgstr ""
1193
 
1194
+ #: ../includes/freemius.php:56
1195
  #, php-format
1196
  msgid ""
1197
  "Please help us improve %2$s by securely sharing some usage data with %5$s. "
public/class-is-public.php CHANGED
@@ -132,6 +132,15 @@ class IS_Public
132
  add_shortcode( 'ivory-search', array( $this, 'search_form_shortcode' ) );
133
  }
134
 
 
 
 
 
 
 
 
 
 
135
  /**
136
  * Displays search form by processing shortcode.
137
  */
@@ -548,8 +557,6 @@ class IS_Public
548
  break;
549
  case 'comment_count':
550
  break;
551
- case 'post_file_type':
552
- break;
553
  }
554
  }
555
  }
132
  add_shortcode( 'ivory-search', array( $this, 'search_form_shortcode' ) );
133
  }
134
 
135
+ /**
136
+ * Add classes to body element.
137
+ */
138
+ function is_body_classes( $classes )
139
+ {
140
+ $classes[] = get_template();
141
+ return $classes;
142
+ }
143
+
144
  /**
145
  * Displays search form by processing shortcode.
146
  */
557
  break;
558
  case 'comment_count':
559
  break;
 
 
560
  }
561
  }
562
  }
public/css/ivory-search.css CHANGED
@@ -45,7 +45,7 @@
45
 
46
  }
47
 
48
- .is-menu.full-width-menu input.search-field {
49
  width: 75%;
50
  }
51
 
45
 
46
  }
47
 
48
+ .twentynineteen .is-menu.full-width-menu input.search-field {
49
  width: 75%;
50
  }
51
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: search, woocommerce search, image search, search shortcode, exclude from
5
  Requires at least: 3.9
6
  Tested up to: 5.0
7
  Requires PHP: 5.2.4
8
- Stable tag: 4.1.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -165,19 +165,24 @@ Yes we do. We try our best to help free users with customisation requests and we
165
 
166
  == Screenshots ==
167
 
168
- 1. Includes section controls what content on the site to make searchable for the search form.
169
- 2. Excludes section controls what content on the site to exclude from search for the search form.
170
- 3. Options section customizes overall behavior of the search form.
171
- 4. Ivory Search plugin options in the admin menu.
172
- 5. Menu Search section provides options to customize the behavior of search form added in the site navigation menu.
173
- 6. Settings section provides options to configure sitewide search functionality that affects all search forms.
174
- 7. Displays default search form in the menu.
175
- 8. Displays dropdown search form in the menu.
176
- 9. Displays sliding search form in the menu.
177
- 10. Displays full width search form in the menu.
178
 
179
  == Changelog ==
180
 
 
 
 
 
 
 
 
181
  = 4.1.6 =
182
  * Fixed - Post type issue when reset search form.
183
  * Styled - Twenty Nineteen theme search form.
@@ -248,4 +253,4 @@ Yes we do. We try our best to help free users with customisation requests and we
248
  * This is a major update.
249
  * Renamed plugin from "Add Search To Menu" to "Ivory Search".
250
  * Changed old settings page from Settings -> Add Search To Menu to Ivory Search -> Settings
251
- * Developed lot of options to enhance search functionality.
5
  Requires at least: 3.9
6
  Tested up to: 5.0
7
  Requires PHP: 5.2.4
8
+ Stable tag: 4.2
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
165
 
166
  == Screenshots ==
167
 
168
+ 1. Default Search Form
169
+ 2. Dropdown Search Form
170
+ 3. Sliding Search Form
171
+ 4. Full Width Search Form
172
+ 5. Popup Search Form
173
+ 6. Search Forms
174
+ 7. Search Form
175
+ 8. Plugin Settings
 
 
176
 
177
  == Changelog ==
178
 
179
+ = 4.2 =
180
+ * Enhanced plugin admin settings user interface.
181
+ * Developed functionality to search posts and pages along with media.
182
+
183
+ = 4.1.7 =
184
+ * Fixed - Post title and content options saving issue.
185
+
186
  = 4.1.6 =
187
  * Fixed - Post type issue when reset search form.
188
  * Styled - Twenty Nineteen theme search form.
253
  * This is a major update.
254
  * Renamed plugin from "Add Search To Menu" to "Ivory Search".
255
  * Changed old settings page from Settings -> Add Search To Menu to Ivory Search -> Settings
256
+ * Developed lot of options to enhance search functionality.