Pesquisar tipos de postagem personalizados no WordPress

Estou tentando pesquisar apenas por um tipo de postagem personalizado no WordPress.

Na minha pesquisa, eu tenho:

 

Nas minhas funções, eu tenho:

  function template_chooser($template) { global $wp_query; $post_type = get_query_var('post_type'); if( $wp_query->is_search && $post_type == 'customposttype' ) { return locate_template('customposttype-search.php'); } return $template; } add_filter('template_include', 'template_chooser'); 

Isso me leva ao modelo de pesquisa correto. No entanto, ainda estou obtendo todos os resultados do WordPress nos resultados reais da pesquisa. Preciso modificar:

   ... 

de alguma forma também no meu “customposttype-search.php”?

Solutions Collecting From Web of "Pesquisar tipos de postagem personalizados no WordPress"

Sim eu fiz:

eu precisei

 < ?php if($post->post_type == 'customposttype' ){ ?> 

Na próxima linha. Várias fonts que eu vi omitiram isso.

Não seria mais fácil apenas usar pré mensagens e alterar a consulta para pesquisar apenas o tipo de postagem personalizado escolhido? Algo assim :

 add_action( 'pre_get_posts', 'custom_post_type_search', 9999 ); function custom_post_type_search( $query ) { if ( is_admin() ) { return; } if ( ! $query->is_main_query() ) { return; } if( ! $query->is_search() ) { return; } $is_custom_post_type_search = isset( $_GET['customposttype'] ); if ( ! $is_course_search ) { return; } $query->set( 'post_type', $is_custom_post_type_search ); return $query; }