SearchWP

Automatic “Did you mean” (search query corrections)

As of version 3.1, SearchWP supports “did you mean?”-style search corrections when a search yields no results and SearchWP can determine what the visitor likely meant to search for.

To enable this functionality, tick the appropriate checkbox on the Advanced tab of the SearchWP settings screen:

Screenshot of SearchWP settings screen Advanced tab

(Alternatively you can also enable this behavior using this hook: searchwp_do_suggestions)

When this feature is enabled, SearchWP will automatically attempt to correct any searches that provide zero results in addition to outputting a notice above The Loop of your search results:

⚠️ Style (CSS) customization is likely required ⚠️

Screenshot of SearchWP's "Did you mean?" automatic output

If you would like to prevent the automatic output of this notice you can use the searchwp_auto_output_revised_search_query hook to disable it. Subsequently you can use the searchwp_revised_search_query to implement your own in place of the automatic output.

The above screenshot outlines the automatic output in Twenty Nineteen, a default WordPress theme. The following CSS can be added to improve its appearance:

Note: (You can add Custom CSS to your site by navigating to Appearance > Customize > Additional CSS in your WordPress Dashboard)

.searchwp-revised-search-notice {
margin: 0 calc(10% + 60px) 1em;
padding: 0.6em;
background: #f7f7f7;
border: 1px solid #e7e7e7;
border-radius: 2px;
}
.searchwp-suggested-revision-query {
font-style: italic;
font-weight: bold;
}
view raw style.css hosted with ❤ by GitHub

Which results in a notification that better matches the site design:

Screenshot of customized styling of SearchWP's "Did you mean?" automatic output

You can override the default output by adding something like this to your theme’s functions.php:

<?php
// Override SearchWP's "Did you mean?" output.
class MySearchwpDidYouMean {
private $args;
function __construct() {
// Prevent SearchWP's automatic "Did you mean?" output.
add_filter( 'searchwp_auto_output_revised_search_query', '__return_false' );
// Grab the "Did you mean?" arguments to use later.
add_action( 'searchwp_revised_search_query', function( $args ) {
$this->args = $args;
} );
// Output custom "Did you mean?" message at the top of The Loop.
add_action( 'loop_start', function() {
if ( empty( $this->args ) ) {
return '';
}
$phrase_query = str_replace( array( '”', '“' ), '"', SWP()->original_query ); // Accommodate curly quotes.
echo '<p class="searchwp-revised-search-notice">';
echo wp_kses(
sprintf(
// Translators: First placeholder is the quoted search string. Second placeholder is the search string without quotes.
__( 'No results found for <em class="searchwp-revised-search-original">%s</em>. Showing results for <em class="searchwp-suggested-revision-query">%s</em>', 'searchwp' ),
esc_html( $phrase_query ),
esc_html( str_replace( '"', '', implode( ' ', $this->args['terms'] ) ) )
),
array(
'em' => array(
'class' => array(),
),
)
);
echo '</p>';
} );
}
}
new MySearchwpDidYouMean();
view raw functions.php hosted with ❤ by GitHub

Interoperability with partial matches

When “Did you mean?” functionality is enabled and partial matching is enabled, SearchWP will first attempt to find exact partial matches and utilize partial match functionality.

If no partial matches are found, SearchWP will then utilize its “Did you mean?” functionality, determining the best search correction it can. If no search correction can be determined, SearchWP will show zero results.

Want to make your search awesome right now?

More than 30,000 sites have chosen SearchWP!

You can utilize all of the content that’s gone unrecognized by native WordPress keyword search instantly with SearchWP.

Get SearchWP for just $99

  • Committed Support
    If you need help, support is fast, friendly, and here for you
  • Streamlined Setup
    Installation and setup that’s optimized for speed
  • Great Documentation
    Helpful, clear, and usable documentation is a priority

See what SearchWP customers have to say

  • “I approached the support team with an idea for a customised implementation of the SearchWP weighting system. I was really just looking for a point in the right direction, but Jon went above and beyond all expectations to help me.”

  • “My website contains an archive of digitised historic journals – hundreds of PDFs. Using Search WP allowed me to build an advanced search, index all PDF content, and returning matching results in a highly customisable format. Top notch support too!”

  • “Love SearchWP. Love your service. Couldn’t recommend it enough, as I often drop the name SearchWP when talking to my WordPress Developer Associates. The plugin is updated often, it’s reliable and support is amazing. It’s very easy to use and setup!!”