Wordpress: WP_Query how to apply search criteria with custom post type

32,163

Solution 1

Add the "s" key to your existing arguments array:

$loop = new WP_Query( array(
    'post_type' => 'photo',
    'posts_per_page' => 12,
    'orderby' => 'post_date',
    's' => 'search_term'
));

Documentation can be found at: http://codex.wordpress.org/Class_Reference/WP_Query#Search_Parameter

Solution 2

Pass your search string here example like this ( 's'=>'test' )

 <?php

 /*pass your search string here example like this ( 's'=>'test' ) */
 $args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));

   $query=new WP_Query($args);

  if( $query->have_posts()): 

  while( $query->have_posts()): $query->the_post();

 {
   echo $post->post_title;
   echo $post->post_content;
 }

 endwhile; 
 else:
 endif;

 ?>
Share:
32,163
Samik Chattopadhyay
Author by

Samik Chattopadhyay

Updated on July 09, 2022

Comments

  • Samik Chattopadhyay
    Samik Chattopadhyay almost 2 years

    I have a custom post type, photo, and need to search for photos matching the title or description with the search keyword with various criteria: contains LIKE %$search_term%, starts with LIKE $search_term% etc. I have the following query, but this doesn't filter records according to $search_term. Please direct me to the right direction to embed this requirement with this query.

    $search_term = $_GET['term'];
    $search_criteria = $_GET['type'];
    
    $loop = new WP_Query( array(
        'post_type' => 'photo',
        'posts_per_page' => 12,
        'orderby'=> 'post_date'
    ));
    

    Please be nice with me, I am a newbie in Wordpress and don't even know if I am asking a foolish question. But I am really stuck with it and need a solution. Any help will be appreciated a lot. Thank you everybody.