I'm trying to create a WP query to search a Custom post type by its title. By using the following code, I get all portfolio posts:

$search_query = array(
    'post_type' => 'portfolio',
    'posts_per_page' => 9,
    'paged' => $paged,
    'post_status' => 'publish'

If I add the 's' parameter to the query ($search_query['s'] = $keyword;), it ignores the 'post_type' and returns blog posts instead of portfolio posts.

  • 3
    Check your Theme / Plugins for a pre_get_posts hook that modifies the post type if is_search() is true. – Daniel Morell Feb 26 '20 at 17:34
  • Thank you very much! That was the problem. – kool Feb 26 '20 at 17:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.