Atualmente, estou tentando criar uma função de pesquisa wordpress que mostra resultados ao vivo abaixo da barra de pesquisa. Há um exemplo no Banco Mundial site (telas abaixo). Não estou procurando um preenchimento automático, como você encontraria no Google.com.br, que completa as palavras digitadas, mas quero que ele encontre postagens reais no site.
Eu tentei fazer uma limpeza através do Wordpress Answers e outros recursos semelhantes, mas só consegui implementar uma pesquisa de tipo do Google que não é o que estou procurando. Qualquer ajuda ou orientação na direção certa seria muito apreciada.
Respostas:
O seguinte usa o preenchimento automático da interface do usuário do jQuery, incluído no WordPress desde a versão 3.3. ( Emprestei o formato do @Rarst : D).
Ainda não é exatamente o que você procura, mas oferece um bom ponto de partida. A seguir, é utilizado o estilo básico da interface do usuário do jQuery, mas você pode usar o que está atualmente elaborado no trac e chamar isso da sua pasta de plug-in.
fonte
Ok, isso seria um exemplo de código muito básico que usa o
suggest.js
núcleo WP nativo do Ajax e vincula ao formulário de pesquisa padrão (deget_search_form()
chamada não modificada ). Não é exatamente o que você pediu, mas a pesquisa incremental é uma grande dor para se aperfeiçoar. :)fonte
Você deve fazer isso usando o Ajax, é claro, mas aqui há um problema. Como o WordPress usa o MySQL, você pode sobrecarregar o servidor com a pesquisa, se tentar preencher a pesquisa com as consultas reais do banco de dados através do Ajax, mas o que você pode fazer é desenvolver um sistema no qual todas as postagens sejam salvas em uma grande "wp_options" campo e, quando uma pesquisa é concluída, você consulta a partir dele em vez de fazer uma pesquisa real. Mas lembre-se de que você precisa atualizar esse pedaço de texto / variável serializada toda vez que criar ou editar uma postagem.
Se você não estiver disposto a gastar algum tempo para desenvolver essa solução, não recomendo que você faça esse tipo de "pesquisa ao vivo".
fonte