Dominando WP_Meta_Query y WP_Date_Query

Bienvenido a la parte final de la serie. Bueno, técnicamente, la parte final será "Series Finale", pero entiendes la idea. En esta parte, aprenderá acerca de dos clases para hermanos llamadas WP_Meta_Query y WP_Date_Query.

Sin más preámbulos, comencemos.!

Trabajar con todo tipo de metadatos a través de la clase WP_Meta_Query

los WP_Meta_Query clase es una "clase de ayuda", ayudando WP_Query Para realizar consultas con metadatos..

Como usted sabe, WordPress almacena tres tipos de metadatos en la base de datos: meta del usuario, meta del usuario y meta del comentario. Vimos en los tutoriales anteriores que podemos ejecutar consultas de metadatos dentro de las consultas que hacemos con el WP_Query, WP_User_Query y WP_Comment_Query clases (con la 'meta_query' parámetro). los WP_Meta_Query En realidad se ejecuta cuando haces esas consultas.

Resulta que, puede obtener los SQL para estas consultas meta-relacionadas con la ayuda del WP_Meta_Query clase. Esta clase realmente no obtiene los resultados de la consulta dada, sino que prepara los comandos SQL para que los use en otro lugar.

Ejemplo de uso de la clase WP_Meta_Query

No podemos decir que es un tutorial si no hacemos un ejemplo, ¿verdad? Con un ejemplo simple, vamos a ver cómo podemos usar el WP_Meta_Query Clase en la vida real. (Por supuesto, es una cosa muy específica obtener el código SQL para una consulta relacionada con el metadatos, pero intentaré dar un ejemplo del mundo real).

Imaginemos que desea crear un "complemento de publicaciones relacionadas" especial para su propio sitio web, donde listará las publicaciones que tienen el mismo valor meta para una clave de metadatos.-o otro valor meta para otra meta clave. Y en lugar de hacer una meta consulta dentro de un WP_Query Por ejemplo, desea obtener el código SQL de la consulta para usarlo dinámicamente en bloques de código separados. Aquí están los pasos para preparar ese código SQL:

 'OR', array ('meta_key' => 'Some_Key', 'meta_value' => 'Some_Value', 'compare' => '='), array ('meta_key' => 'Some_Other_Key', 'meta_value' => 'Some_Other_Value', 'compare' => '=')); $ my_meta_query = new WP_Meta_Query; $ my_meta_query-> parse_query_vars ($ my_meta_query_args); $ my_meta_query_sql = $ my_meta_query-> get_sql ('post', $ wpdb-> posts, 'ID'); ?>

Ahí tienes: el $ my_meta_sql la variable almacena el código SQL para su consulta especial, y puede usar este código SQL en cualquier lugar que desee dentro de su proyecto.

Gestión de consultas de fecha con la clase WP_Date_Query

Al igual que WP_Meta_Query, la WP_Date_Query es una clase de ayuda para el WP_Query, WP_User_Query y WP_Comment_Query clases Esta clase de ayuda se introdujo en WordPress versión 3.7. En aquel entonces, la clase no apoyaba. WP_User_Query, pero desde la versión 4.1, puede consultar dentro de la tabla de usuarios (la usuario_registrado columna específicamente).

Similar a WP_Meta_Query y su capacidad para consultar meta claves y valores, la WP_Date_Query La clase nos permite consultar los campos de fecha dentro de las publicaciones, comentarios y tablas de usuarios. Y exactamente como WP_Meta_Query, esta clase auxiliar también le permite devolver el código SQL preparado para ejecutar una consulta relacionada con la fecha.

Ejemplo de uso de la clase WP_Date_Query

Para entender completamente cómo WP_Date_Query La clase funciona, veamos un ejemplo con ella. Será otro ejemplo innecesariamente específico, pero no se sentiría bien dejar esta parte sin un ejemplo..

Imaginemos que, por alguna razón, necesitamos consultar los comentarios que se realizan en el mes actual y antes del mediodía. (Por favor envíeme un comentario si encuentra un buen caso para obtener los comentarios realizados en el mes actual y antes del mediodía!) Aquí le indicamos cómo obtener el código SQL para esta consulta extraña:

 date ('n'),), array ('before' => 'mediodía'), 'relationship' => 'AND'); $ my_date_query = new WP_Date_Query ($ my_date_query_args, 'comment_date'); $ my_date_query_sql = $ my_date_query-> get_sql (); ?>

Hay que ir Tenga en cuenta que puede usar los formatos de fecha relativos de PHP, que son realmente útiles.

Consejo rápido: Christian Bruckner tiene un gran publicación en MarketPress.com sobre cómo WP_Date_Query trabajos. Está un poco desactualizado (porque fue escrito antes de que se lanzara WordPress 4.1) pero está muy bien escrito y sigue siendo una buena lectura. Asegúrate de comprobarlo.

Envolviendo todo

Con estas dos clases de ayudantes, estamos terminando el largo viaje de disección del WP_Query clase. Esta fue una de las series de tutoriales más largas en la historia de Tuts +, ¡así que gracias por continuar con nosotros hasta el final! En la siguiente (y última) parte, vamos a resumir lo que pasamos por última vez y cerrar la serie..

¿Tienes algo que añadir a este artículo? Si es así, no dude en compartir sus pensamientos en la sección de Comentarios a continuación. Y si te gustó el artículo, no olvides compartirlo con tus amigos.!