Vários blogs construídos em WordPress utilizam um recurso chamado post formats. O recurso foi lançado a partir da versão 3.1 e foi baseado no Tumblr.
Os formatos de posts podem ser classificados como:
- Aside – um simples post, sem título, como o Facebook
- Gallery – uma galeria ou um álbuns de fotos
- Link – apenas um texto linkando para uma URL
- Image – apenas uma imagem
- Quote – uma citação, pode ser explicada com o uso do <blockquote>
- Status – um estilo de update parecido com o Twitter, mas sem levar a frase \”What\’s happening?\” à śerio.
- Audio – uma música
- Video – um vídeo
- Chat – uma conversa
Mais informações do post formats aqui.
Mas o foco principal do post não é esse e sim como criar um limite na pesquisa pra certos formatos de posts. Por exemplo: digamos que eu possua dois formatos cadastrados (sim, eles são cadastrados) em meu WordPress: o padrão (texto) e galeria (gallery) e eu queira que mostre apenas o resultados do formato texto, independentemente se os termos pesquisados entram nos valores do formato galeria.
Ou seja, se eu pesquisar por \”wordpress\” e este termo tiver tanto em texto, tanto em galeria, será mostrado apenas o que está no formato texto.
Para adaptar o seu site/blog com este recurso, siga os procedimentos:
1. Acesse seu painel administrativo.
2. Na barra lateral, vá em \”Aparência\” > \”Editor\”.
3. Na listagem de arquivos, selecione o arquivo functions.php, caso seu tema não possua um arquivo de funções, basta criar um, nomeá-lo como \”functions.php\” (sem aspas) e colocá-lo na pasta de seu tema.
Após abrir a primeira tag do PHP (<?php), cole o seguinte código:
function filtropesquisa($query) {
if ($query->is_search) {
$query->set(\'post_type\',array(\'post\',\'page\'));
}
return $query;
}
add_filter(\'pre_get_posts\',\'filtropesquisa\');
Observe que a terceira linha é formada por este trecho:
$query->set(\'post_type\',array(\'post\',\'page\'));
\'post\',\'page\' são os formatos que serão mostrados na pesquisa, os demais não.
Se quiser adicionar, por exemplo, a galeria ao filtro de pesquisa, o trecho ficará assim:
$query->set(\'post_type\',array(\'post\',\'page\',\'gallery\'));
Salve as configurações.
É isso. Se não der certo, poste um comentário que ajudarei.