SearchWP Documentation

Veja o guia de instalação, navegue pela Base de Conhecimento, descubra os muitos hooks do SearchWP

Como exibir o rótulo do Tipo de Postagem nos Resultados da Pesquisa

Ao usar a pesquisa padrão do WordPress, os resultados são exibidos através do arquivo de modelo de pesquisa integrado do seu tema (geralmente chamado search.php). A maioria dos temas do WordPress não inclui informações sobre o tipo de post em suas exibições de resultados de pesquisa por padrão, mostrando apenas o título do post, o resumo e outros elementos padrão. Se você deseja mostrar o rótulo do tipo de post (por exemplo, "Post", "Página", "Produto", etc.) ao lado de cada resultado da pesquisa, você precisará fazer uma pequena personalização editando o arquivo de modelo de pesquisa do seu tema ou usando os ganchos do WordPress.

A primeira abordagem é editar manualmente o arquivo de modelo de pesquisa do seu tema. Dentro do loop de pesquisa principal, você pode usar a função get_post_type_object() para recuperar e exibir o rótulo do tipo de post para cada resultado. Isso lhe dá controle total sobre onde e como as informações do tipo de post aparecem no layout do resultado da pesquisa. Alternativamente, você pode usar um gancho de filtro do WordPress para adicionar automaticamente o rótulo do tipo de post antes do título de cada resultado da pesquisa. Essa abordagem é mais fácil e não requer a modificação dos arquivos do seu tema. Você pode adicionar o seguinte trecho preparando um Plugin de Personalizações SearchWP ou usando um gerenciador de trechos de código como WPCode:

<?php
// Prepend post type label to title for native main search
add_filter( 'the_title', function( $title, $post_id ) {
if ( in_the_loop() && ( is_search() || isset( $_REQUEST['swps'] ) ) ) {
$post_type_obj = get_post_type_object( get_post_type( $post_id ) );
if ( $post_type_obj && ! empty( $post_type_obj->labels->singular_name ) ) {
$label = esc_html( $post_type_obj->labels->singular_name );
$title = sprintf( '<span class="search-post-type">%s:</span> %s', $label, $title );
}
}
return $title;
}, 10, 2 );

Este código garante que sempre que um usuário realizar uma pesquisa, o nome do tipo de post (como "Página" ou "Produto") seja exibido antes do título de cada resultado na lista de resultados da pesquisa. Ele usa o filtro the_title() do WordPress e verifica se o loop atual faz parte de uma consulta de pesquisa antes de aplicar a modificação.

Se você estiver usando os resultados de modelo personalizados do SearchWP ou a Pesquisa ao Vivo, o gancho acima não se aplicará automaticamente porque esses resultados são gerados de forma diferente. Em vez disso, você pode usar os próprios ganchos de filtro do SearchWP para modificar a saída de cada entrada de resultado. O exemplo a seguir mostra como adicionar o rótulo do tipo de post antes do título para os resultados do modelo SearchWP e da Pesquisa ao Vivo:

Aqui está um exemplo usando uma imagem de fallback:

<?php
// Display post type label before title for SearchWP template and live search results
function prepend_post_type_to_title( $data, $result ) {
if ( $result instanceof \WP_Post ) {
$post_type_obj = get_post_type_object( get_post_type( $result ) );
if ( $post_type_obj && ! empty( $post_type_obj->labels->singular_name ) ) {
$label = esc_html( $post_type_obj->labels->singular_name );
$data['title'] = $label . ' - ' . $data['title'];
}
}
return $data;
}
// Hook for SearchWP template
add_filter( 'searchwp\results\entry\data', function( $data, $result ) {
return prepend_post_type_to_title( $data, $result );
}, 20, 2 );
// Hook for SearchWP Live Search
add_filter( 'searchwp_live_search_results_entry_data', function( $data, $result ) {
return prepend_post_type_to_title( $data, $result );
}, 20, 2 );

Com essa personalização implementada, o SearchWP exibirá automaticamente o nome do tipo de post antes do título nos resultados do modelo de pesquisa personalizado e no dropdown de pesquisa ao vivo. Este método fornece uma maneira flexível e amigável ao código de dar aos usuários contexto adicional sobre o tipo de conteúdo que eles estão visualizando nos resultados da pesquisa sem modificar diretamente os arquivos do seu tema.

Crie uma Experiência de Pesquisa WordPress Melhor Hoje

Nunca mais perca visitantes para resultados de pesquisa inúteis. O SearchWP torna a criação de sua própria pesquisa inteligente do WordPress rápida e fácil.

Get SearchWP Now
Ícone de Múltiplos Mecanismos de Busca