Limit WordPress Search to Only Post Titles

Restrict WordPress search functionality to post titles using posts_search filter modifying SQL search condition. Check if on search page with is_search conditional and not in admin with !is_admin, access global wpdb object for database operations, prepare SQL query with wpdb->prepare for security using post_title LIKE clause with search terms, use wpdb->esc_like to escape special characters preventing SQL injection, exclude post content, excerpts, and custom fields from search, focus results on title matches only providing more relevant search outcomes, improve search performance by limiting database columns searched, and implement focused search functionality for better content discovery in WordPress sites.

How To Limit Search To Only Post Titles?

Code Snippets Coding Blog Content Management Hooks PHP PHP Snippets Theme Development Woocommerce Woocommerce Hooks Wordpress WordPress Development WordPress How-To WordPress Tips

How To Limit Search To Only Post Titles? Tutorial/Guide

To limit the search in WordPress to only post titles, you can modify the main search query using the `posts_search` filter. Here's an example of how you can achieve this: 1. Open the theme's functions.php file in your WordPress theme directory. 2. Add the following code to the file:  

function limit_search_to_post_titles($search, $wp_query) {
    if (is_search() && !is_admin()) {
        $search_terms = $wp_query->query_vars['s'];
        
        if (!empty($search_terms)) {
            global $wpdb;
            
            // Modify the search query to search only in post titles
            $search = $wpdb->prepare(" AND {$wpdb->posts}.post_title LIKE %s", '%' . $wpdb->esc_like($search_terms) . '%');
        }
    }
    
    return $search;
}
add_filter('posts_search', 'limit_search_to_post_titles', 10, 2);

  3. Save the changes and upload the modified functions.php file back to your server. This code adds a filter to the `posts_search` hook, which allows you to modify the SQL query's search condition. It modifies the search query to include a condition that searches for the given search terms only in the post titles. After making these changes, when performing a search in WordPress, the search results will be limited to only include posts whose titles match the search terms, excluding other content such as pages or post content.

๐Ÿ’ก Have a Coding Problem?

Search our archives or reach out to our team for solutions and expert advice.