Code Snippet
By default WordPress will search all posts including pages. You may wish to have the search function only search posts, excluding pages in the search results, and not show your privacy page, contact page, etc. in the results.
PHP
Place the following code anywhere in your child theme’s functions.php document.
// remove pages from search results
function only_search_posts( $query ) {
if ( $query->is_search() && $query->is_main_query() ) {
$query->set( 'post_type', 'post' );
}
}
add_filter( 'pre_get_posts','only_search_posts' );
Note
All modifications to a theme or plugin should be made by creating a child theme and placing the changes there. Changes made to the parent theme will be overwritten the next time it updates.
WordPress Notes:
- All modifications to a theme or plugin should be made by creating a child theme and placing the changes there; changes made to the parent theme will be overwritten the next time it updates
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.