Live search:

$the_query = new WP_Query( array( 's' => esc_attr( $_POST['keyword'] ), 'post_type' => 'custom_type', 'sentence' => 'true' ));
if( $the_query->have_posts() ) :
    while( $the_query->have_posts() ): $the_query->the_post(); ?>

        <a href="<?php echo esc_url( post_permalink() ); ?>"><?php the_title();?></a>

    <?php endwhile;

I created a custom post type "custom_type" and 2 taxonomies "custom_cat" (hierarchical = true) for categories and "custom_tags" (hierarchical = false) for tags.

I need to create a live search by custom tags.

I tried to set 'taxonomy'=>'custom_tags' but this parameter was ignored and search returned all "custom_type" posts by keyword. Does anyone know solution?

  • When you tried to set 'taxonomy'=>'custom_tags', did you add it just like that to the WP_Query arguments array? Or did you try it like 'tax_query' => array( array( 'taxonomy' => 'custom_tags' ) )? Mar 14, 2019 at 21:44

1 Answer 1


'post_type' => 'custom_type' is a reference to your post type.

You need to change custom_type to the actual post type that you created / registered.

So, if your post type was my_cool_dregs then the line would be:

'post_type' => 'my_cool_dregs'

The same holds true with 'taxonomy'=>'custom_tags'

You need use the actual taxonomy name that you registered. If your taxonomy was my_dreg_types then that line would be:

  • I know that. I wrote 'custom_tags', 'custom_type' and 'custom_cat' for example
    – Crispy
    Mar 14, 2019 at 20:36
  • Clearly that's not how you wrote it in your code above. Or did you actually name your custom_post_type "custom_type"??
    – rudtek
    Mar 15, 2019 at 14:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.