Uso de WP_QUEY para expandir las funciones de su sitio de WordPress

La publicación de hoy en el blog invitada fue escrita por Isaac Castillo. Isaac es el fundador de Echo Design Solutions, una empresa de desarrollo de WordPress y WooCommerce con sede en San Antonio.


Los desarrolladores de WordPress buscan constantemente formas de mejorar la funcionalidad y el rendimiento de los sitios de sus clientes. Para ayudar a este esfuerzo, WordPress incluye una extensa biblioteca de funciones que se pueden usar para agregar características y funcionalidad a un sitio. Si, por ejemplo, desea obtener el título de una publicación de blog en el bucle, que es el código PHP que WordPress procesa y muestra en la página actual, puede usar la función_itle (). Del mismo modo, puede usar la función The_Content () para hacerse cargo de una publicación de blog o para recuperar publicaciones usando get_categories ().
Aunque WordPress tiene funciones para casi todo lo que quiera hacer con un sitio, inevitablemente llegará un momento en que tendrá que realizar una tarea que no se puede manejar utilizando las funciones construidas de WordPress. Considere, por ejemplo, cómo puede interrogar los datos que llegan al complemento avanzado de campos personalizados y devolver esos datos para una publicación. Para realizar la consulta de este ejemplo, debe buscar fuera de las funciones construidas de WordPress. WordPress incluye una clase que le permite tomar información de la base de datos de WordPress en el bucle utilizando un interrogatorio personalizado con parámetros personalizados. Esta clase se llama WP_QUEY y, a medida que avanza en el desarrollo de WordPress, debe familiarizarse con esta valiosa herramienta de desarrollador.
Mi equipo y yo hemos completado recientemente una migración de Python a WordPress para un cliente. El proyecto requirió tantas personalizaciones y tipos de publicaciones personalizadas que buscamos fuera de las funciones incorporadas de WordPress para apuntar a la información que necesitábamos. En este caso, el cliente necesitaba su sitio para mostrar solo eventos actuales, lo que significa que tuvo que consultar la fecha en que se llevará a cabo un evento. WordPress 24/7 de True WordPress Expert

La interfaz del sitio permite a los visitantes ver una lista de eventos después de la fecha en que WordPress incluye una función, get_the_date (); que devuelve la fecha en que se creó o introdujo un evento. Debido a que esta función es limitada en la fecha de creación del evento, no sería suficiente para nuestro proyecto. Utilizamos campos personalizados avanzados para crear un campo personalizado que nos permita seguir la fecha en que se lleva a cabo un evento en particular. Usando WP_QUEY, logramos escribir una consulta personalizada que extrajo eventos basados ​​en el campo de eventos personalizados. El resultado final fue que los visitantes del sitio pudieron ver una lista de eventos que estaban presentes o que tenían lugar en el futuro.

El principio básico de trabajo con WP_Query es obtener información de la base de datos de una manera que pueda renovarse como si se tomaran utilizando funciones incorporadas de WordPress. Una ventaja adicional de escribir consultas personalizadas utilizando WP_QUEY es que al configurar las funciones de ayuda, puede expandir significativamente la funcionalidad de WordPress. Para darle una idea de wp_quuery en acción, distribuí a continuación un ejemplo de la consulta basada en el reciente proyecto de Python al proyecto de migración de WordPress. $ args = matrix (‘ordenby’ => ‘date’,
‘post_type’ => ‘post’,
‘post_status’ => ‘publicación’,
‘Post_per_page’ => -1,
);
$ the_query = new WP_Query ($ args);
if ($ the_query-> have_posts ()) {
While ($ the_query-> have_posts ()) {
$ the_query-> the_post ();
el contenido();
}
wp_reset_postata ();
} de lo contrario {
Echou ‘lo sentimos, no hay publicaciones para mostrar
‘; } Es posible notar que la consulta de este ejemplo es muy parecida a una consulta regular posterior al bucle. La diferencia clave está en la matriz $ Args, que le permite especificar la información que la consulta extraerá de la base de datos. Dentro de $ Args, podemos pasar todo tipo de criterios que cambiarán el resultado del bucle. Una vez que se hayan establecido la consulta y el bucle, debemos completar la matriz $ Args para que pasen los argumentos correctos. Si, por ejemplo, desea obtener el tipo de publicación personalizada para los eventos que describí en mi ejemplo, puede usar los siguientes argumentos:
$ args = matriz (

‘Orderby’ => ‘date’,
‘post_type’ => ‘eventos’, ‘post_status’ => ‘publicación’,
‘Post_per_page’ => -1,
);
$ the_query = new WP_Query ($ args); Con este código, le decimos a WordPress que cuestione la base de datos para un tipo de publicación llamada eventos (el tipo de publicación personalizada que creé) y que recupere solo los eventos que tienen un estado publicado. La variable POSTS_PER _PAGE se puede usar para especificar el número de registros que se devolverán. Dejarlo en -1 devolverá cada registro aplicable.
En este momento, me hice cargo del tipo de publicación de publicación, pero aún no he terminado. También debemos procesar los datos para que solo se muestren eventos con datos actuales y/o futuros y de modo que se ignoren los eventos de datos anteriores. Esta funcionalidad se puede hacer utilizando la siguiente consulta ajustada: $ TIME = Current_Time (‘Time Time’); // Obtener la marca temporal UNIX actual
$ args = matriz (
‘post_type’ => ‘eventos’,
‘post_status’ => ‘publicación’,
‘Post_per_page’ => -1,
‘Met_key’ => ‘start_date’,
‘meta_value’ => $ TIME,
‘Met_compare’ => ‘> =’,
‘Orderby’ => ‘Meta_Value’,
‘Orden’ => ‘ASC’
);
$ the_query new WP_Query ($ args); Al igual que antes, nuestra consulta se hace cargo del tipo de publicación de eventos que se publican y los devuelven todos. La magia entra en juego cuando interrogamos los valores en los campos personalizados avanzados, para que podamos cambiar los resultados. En este ejemplo, los siguientes argumentos se utilizan para lograr esta funcionalidad:
$ Tiempo al comienzo del script, empaté el tiempo cargado con el script con una variable llamada $ TIME como una marca temporal de Unix.La fecha de inicio queremos apuntar a “meta_key” => “start_date”.El campo START_DATE, que se establece en campos personalizados avanzados, está relacionado con nuestro tipo de meta_key personalizado.Necesitamos que este campo pueda interrogar los datos de los campos personalizados avanzados.Meta_valoare aquí decimos que estamos buscando eventos con Start_Dates igual a la variable $ tiempo que hemos pasado.Pero este no es nuestro resultado deseado, porque estamos interesados ​​en más que los eventos que están programados para hoy.Queremos eventos enumerados para hoy, así como para el futuro.¿Qué hacemos en este caso?

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *