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

Consultas de banco de dados para atualizar dados rapidamente, parte 1

6

Esta não é a primeira vez que mencionei isso, mas um dos desafios que surgem ao falar sobre escrever consultas diretas ao banco de dados para atualizar informações no banco de dados do WordPress é que você se deixa aberto a algo como:

Sim, mas há uma API para fazer algo assim.

E, em muitos casos, isso mesmo. Eu sou um grande fã de usá-los também. Mas há momentos em que consultas diretas e parametrizadas ao banco de dados podem ser uma escolha mais ideal.

Consultas de banco de dados para atualizar dados rapidamente, parte 1

Não, não é um banco de dados, mas não seria incrível se eles fossem assim? Foto de Tobias Fischer no Unsplash

Isso, é claro, depende do ambiente no qual você está trabalhando com os requisitos do seu projeto.

Portanto, este é mais um post que será uma ilustração de como usar $wpdb para atualizar informações rapidamente com base em metadados (sem usar algo como WP_Query ou WP_Meta_Query para lidar com isso).

Consultas de banco de dados para atualizar dados rapidamente, parte 1

Vou dividir isso em duas partes porque a função inicial que vou mostrar a você está fazendo mais de uma coisa.

Eu não sou fã disso.

Em segundo lugar, é também uma oportunidade de como você pode redesenhar funções para se comportarem de uma maneira mais orientada a objetos (que é algo que sou fã e do qual estou sempre feliz em promover ).

Por enquanto, porém, deixe-me expor o problema em questão

  1. Estou importando um pouco de informação de uma API de terceiros.
  2. As informações são mapeadas para a tabela wp_posts e também para a tabela wp_postmeta.
  3. Existem certos metadados que são critérios para ditar o status de uma postagem. Ou, mais diretamente, se um pedaço de metadados estiver presente, uma postagem deve ter seu status de postagem definido como rascunho para que não apareça na consulta principal.

Para resolver isso, duas coisas precisam acontecer:

  1. Precisamos dos IDs das postagens,
  2. E precisamos mudar o status das postagens.

Antes de configurarmos as consultas e o restante do código, digamos que a meta-chave que estamos usando seja criativamente chamada acme-status. E com isso, vamos começar.

1 Pegue os IDs de postagem com a meta-chave associada

Primeiro, vamos criar uma função chamada setInactivePosts. Isso é mais genérico do que seria se você estivesse trabalhando em um domínio específico, mas você entendeu.

Em seguida, vamos configurar uma consulta que recuperará todos os IDs de postagem que possuem essa meta-chave específica :

Aqui, temos uma série de resultados. Mas antes de fazermos qualquer coisa, precisamos ter certeza de que temos dados para operar.

2 Sair mais cedo?

Antes de prosseguirmos com a atualização das informações, porém, devemos verificar se há algum resultado. E se não houver?

Então podemos nos esquivar.

3 Atualizar o status da postagem

Mas se houver resultados, devemos iterar por eles e atualizar seu status de postagem :

Então, como é tudo junto?

4 Todos Juntos

Quando juntamos essa função maior do que o necessário, é isso que você vê :

Mas no próximo post, vamos reorganizar isso um pouco para torná-lo mais orientado a objetos.

Uma observação para administradores de banco de dados

Para aqueles de vocês são bem versados ​​em SQL-fu, então você sabe que isso provavelmente pode ser resolvido em uma única consulta; no entanto, o objetivo deste post e do post seguinte é duplo:

  1. Para mostrar como usar $wpdb para conseguir algo rapidamente,
  2. Mostrar como quebrar um método procedural de fazer algo em um método orientado a objetos de fazer algo.

Dito isso, obrigado por todas as perguntas. 👍🏻

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