✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Consultas de bases de datos para actualizar datos rápidamente, parte 1

5

Esta no es la primera vez que menciono esto, pero uno de los desafíos que surgen al hablar sobre escribir consultas directas a la base de datos para actualizar la información en la base de datos de WordPress es que te dejas abierto a algo como:

Sí, pero hay una API para hacer algo así.

Y, en muchos casos, así es. Yo también soy un gran fan de usarlos. Pero hay ocasiones en las que las consultas de base de datos parametrizadas directas pueden ser una opción más óptima.

Consultas de bases de datos para actualizar datos rápidamente, parte 1

No, no es una base de datos, pero ¿no sería increíble si se vieran así? Foto de Tobias Fischer en Unsplash

Esto, por supuesto, depende del entorno en el que esté trabajando y de los requisitos de su proyecto.

Entonces, esta es otra publicación más que será una ilustración de cómo usar $wpdb para actualizar rápidamente la información basada en metadatos (sin usar algo como WP_Query o WP_Meta_Query para manejarlo).

Consultas de bases de datos para actualizar datos rápidamente, parte 1

Voy a dividir esto en dos partes porque la función inicial que les voy a mostrar está haciendo más de una cosa.

No soy fanático de eso.

En segundo lugar, también es una oportunidad para rediseñar funciones para que se comporten de una manera más orientada a objetos (que es algo de lo que soy fanático y de lo que siempre estoy feliz de promover ).

Por ahora, sin embargo, permítanme exponer el problema en cuestión

  1. Estoy importando un poco de información de una API de terceros.
  2. La información se asigna a la tabla wp_posts, así como a la tabla wp_postmeta.
  3. Hay ciertos metadatos que son criterios para dictar el estado de una publicación. O, más directamente, si hay una pieza de metadatos, entonces una publicación debe tener su estado de publicación configurado como borrador para que no aparezca en la consulta principal.

Para abordar esto, deben suceder dos cosas:

  1. Necesitamos los ID de las publicaciones,
  2. Y necesitamos cambiar el estado de las publicaciones.

Antes de configurar las consultas y el resto del código, digamos que la clave meta que estamos usando se llama creativamente acme-status. Y con eso, comencemos.

1 Tome las ID de publicación con la clave meta asociada

Primero, crearemos una función llamada setInactivePosts. Esto es más genérico de lo que sería si estuvieras trabajando en un dominio específico, pero entiendes el punto.

Luego, configuraremos una consulta que recuperará todas las ID de publicación que tienen esa clave meta específica :

Aquí, tenemos una serie de resultados. Pero antes de hacer nada, debemos asegurarnos de tener datos sobre los cuales operar.

2 ¿Salir temprano?

Sin embargo, antes de continuar con la actualización de la información, debemos verificar si hay algún resultado. ¿Y si no los hay?

Entonces podemos escabullirnos.

3 Actualizar el estado de la publicación

Pero si hay resultados, debemos iterarlos y actualizar su estado de publicación :

Entonces, ¿cómo se ve todo junto?

4 todos juntos

Cuando juntamos esta función más grande de lo necesario, esto es lo que ves :

Pero en la próxima publicación, reorganizaremos esto un poco para hacerlo más orientado a objetos.

Una nota para los administradores de bases de datos

Para aquellos de ustedes que están bien versados ​​​​en SQL-fu, entonces saben que esto probablemente se puede abordar en una sola consulta; sin embargo, el propósito de esta publicación y la publicación posterior es doble:

  1. Para mostrar cómo usar $wpdb para lograr algo rápidamente,
  2. Mostrar cómo dividir un método procedimental para hacer algo en un método orientado a objetos para hacer algo.

Dicho esto, gracias por todas las consultas. 👍🏻

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More