✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Pesquisar metadados de postagem na área de administração do WordPress

20

Depois de trabalhar com o WordPress por um longo período de tempo, é provável que você tenha trabalhado com metadados de postagem de alguma forma. Talvez você tenha simplesmente lido metadados do banco de dados, ou talvez tenha escrito e lido da tabela de banco de dados também.

Pode ser uma API realmente poderosa sempre que você precisar associar certas informações às suas postagens (ou, se você quiser abstrair ainda mais as coisas, aos seus modelos).

Dito isso, o que acontece quando você deseja incluir informações da tabela de metadados, mas não tem a conveniência de plugins como SearchWP ou Relevanssi?

Além disso, suponha que o caso de uso seja apenas para administradores e apenas para a área de administração do WordPress. Ou seja, você deseja pesquisar suas postagens na tela Todas as postagens, mas também deseja incluir os metadados da postagem nos critérios de pesquisa.

O que então?

Pesquisar metadados de postagem

Fora da caixa, sempre que você pesquisar postagens na área de administração do WordPress, ele procurará uma frase no título da postagem, no trecho da postagem e no conteúdo da postagem e retornará esses resultados.

Portanto, para expandir a pesquisa para incluir metadados de postagem, precisamos atualizar a consulta executada de forma que ela incorpore as tabelas de metadados de postagem. Mas há mais do que isso. Especificamente, para maior flexibilidade e a melhor experiência do usuário, você desejará:

  • incluir partes de uma frase para que ela não procure apenas por algo literal no artigo,
  • e, é claro, lidar adequadamente com o caso de nenhum termo de pesquisa ser inserido para que a tela Todas as postagens ainda possa ser visualizada em seu formato padrão.

Isso significa que não precisamos apenas modificar a consulta de pesquisa para incluir uma meta-chave e um meta valor, mas precisamos escapar adequadamente de frases inteiras para que possamos usar uma LIKEoperação em vez de uma INoperação ou =operação.

Pesquisar metadados de postagem na área de administração do WordPress

Algumas das coisas que são importantes saber antes de ler o resto deste artigo incluem:

Por fim, precisaremos usar dois ganchos com duas funções personalizadas. E como não posso fornecer um exemplo completo de como isso pode ser no seu caso de uso, o código precisa ser um pouco generalizado.

Conectando-se à pesquisa

Na essência a seguir, você verá três coisas:

  1. Verificação de que o usuário está na área de administração e na página de edição.
  2. O usuário inseriu uma pesquisa.
  3. A frase de pesquisa foi convertida em uma matriz, escapou e adicionada à propriedade de meta consulta da instância de WP_Query.

Veja abaixo :

Supondo que todos os itens acima sejam verdadeiros, isso atualizará a consulta executada no banco de dados do WordPress antes que a próxima página seja renderizada para que os resultados incluam as informações de metadados.

Atualizando a cláusula WHERE

Antes de terminarmos, porém, também precisamos nos certificar de que atualizamos a consulta executada.

Por padrão, a consulta é construída usando uma ANDoperação e isso nos impede de olhar corretamente através de títulos de postagens, trechos, conteúdos e metadados; no entanto, a consulta precisa ser atualizada para que use uma ORoperação.

Literalmente, isso significa que ele aparecerá no título, conteúdo, trecho ou nos metadados.

Optei por usar uma expressão regular em minha implementação, mas sua implementação pode funcionar com a substituição de substrings. Assim, há um pouco comentado para lhe dar mais flexibilidade.

Isso atualiza a WHEREcláusula que é acionada para concluir o trabalho definido na parte inicial do artigo onde adicionamos metadados.

Existem outras maneiras

Observe que existem algumas maneiras incrivelmente flexíveis de trabalhar com WP_Query para obter os resultados de que você precisa. E sua implementação irá variar dependendo do que você está fazendo.

Portanto, considere esta uma das muitas maneiras que podem ser usadas; no entanto, saiba que se você tiver:

  1. uma única chave,
  2. um valor (ou um valor que pode ser dividido em uma matriz),
  3. e você deseja pesquisar metadados junto com o conteúdo de postagem tradicional

Então isso vai funcionar.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação