Eu tenho duas taxonomias personalizadas aplicadas a dois tipos de postagem personalizados. a lista de termos na barra lateral é ótima e lista todas as postagens associadas a ela. No entanto, se você pesquisar um dos termos em específico, ele não exibirá uma postagem com esse termo.
Exemplo: http://dev.andrewnorcross.com/das/all-case-studies/ Procure pelo termo "PQRI"
Eu não recebo nada. Alguma ideia? Eu tentei usar vários plugins de pesquisa, mas eles quebram meus parâmetros de pesquisa personalizados ou simplesmente não funcionam.
custom-post-types
custom-taxonomy
search
Norcross
fonte
fonte
Respostas:
Eu recomendaria o plug-in Search Everything também, mas se você quiser implementar isso usando a função de pesquisa do WP, aqui está o código que estou usando no meu tema Atom:
É baseado no plug-in Tag-Search: http://projects.jesseheap.com/all-projects/wordpress-plugin-tag-search-in-wordpress-23
fonte
is_search()
ou outras chamadas do método WP_Query (is_search()
is_home()
etc.) devem sempre ser chamadas diretamente na instância de consulta (por exemplo,$query->is_search()
assumindo que o nome da variável de instância esteja$query
na assinatura de retorno de chamada), em vez da função de modelo que sempre se refere à consulta principal , não a consulta para a qual o filtro está sendo executado.Essa é a pesquisa padrão do WordPress? Porque isso não parece incluir taxonomias (nem mesmo padrão, como categorias e tags) na pesquisa. O código pesquisa
post_title
epost_content
, mas, se você deseja incluir mais alguma coisa, deve conectar-se aoposts_search
filtro.fonte
Tentei a solução do Onetrickpony acima https://wordpress.stackexchange.com/a/5404/37612 , o que é ótimo, mas encontrei um problema lá, que não funcionou para mim, e eu faria uma pequena modificação:
se a taxonomia tiver caracteres especiais, por exemplo, com "Umlauts" em alemão (ö, ä, ü) e uma pesquisa por oe, ae, ue insteda de usar o caractere especial - você precisará adicionar a pesquisa na lesma da taxonomia -
OR t.slug LIKE '%".get_search_query()."%'
se você procurar uma combinação de uma consulta de pesquisa e um filtro de taxonomia - isso também funciona bem
Mas o problema é que, quando você tenta usar apenas o filtro de taxonomia - o gancho de pesquisa anexa uma string vazia à consulta se nenhum texto for pesquisado e, por esse motivo, você obtém TODAS as postagens no resultado, em vez de apenas as do taxonomia filtrada. Uma simples instrução IF resolve o problema. Portanto, todo o código modificado seria este (funciona perfeitamente para mim!)
fonte
Eu tenho o mesmo nível de informações como Jan. Eu sei que é possível estender a pesquisa com plugins também.
Provavelmente, procure tudo (Wordpress Plugin) é o que você está procurando. De acordo com a lista de recursos, agora ele suporta taxonomias personalizadas.
fonte
Achei a resposta do onetrickpony ótima, mas trata qualquer pesquisa como um único termo e também não lida com uma frase de pesquisa entre aspas. Eu modifiquei seu código (especificamente, a
atom_search_where
função) um pouco para lidar com essas duas situações. Aqui está minha versão modificada de seu código:fonte
Tenho o mesmo problema com o plug-in do carrinho do WooCommerce. Meus resultados de pesquisa não incluem o termo de taxonomia personalizado, 'product_tag', porque não é uma tag de postagem padrão. Encontrei uma solução neste outro thread do StackOverflow sobre o assunto:
https://stackoverflow.com/questions/13491828/how-to-amend-wordpress-search-so-it-queries-taxonomy-terms-and-category-terms
O exemplo de código de tkelly funcionou para mim ao substituir o termo
author
em seu exemploproduct_tag
por nossas necessidades de plug-ins de carrinho.fonte