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' ) )? – Antti Koskinen Mar 14 '19 at 21:44

'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 '19 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 '19 at 14:46

Your Answer

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

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