Cómo usar una sola consulta para ejecutar múltiples bucles

Escribí algunas publicaciones aquí en el blog sobre la clase WP_QUEY y cómo usarla para crear más consultas y más bucles. Soy un gran admirador de WP_Query y a menudo lo uso en los sitios de clientes y en mi propio sitio para crear consultas avanzadas y personalizadas. Sin embargo, tiene sus desventajas si exageres con las cosas. Un lector ha comentado correctamente sobre mi publicación reciente sobre el uso del bucle para estilar la primera publicación diferente, que la técnica que demostré podría hacerse de manera más eficiente. Entonces, en esta publicación, le mostraré cómo usar WP_QUEY para crear más bucles, pero de la manera más eficiente, es decir, ejecutar una sola consulta, pero luego usarla para crear más bucles.
La ventaja de hacer esto es que acceda a la base de datos solo una vez. Luego puede usar todos los datos que toma WP_QUEY para ejecutar tantos bucles. Así que nos lanzemos y veamos cómo funciona. Lo que haremos en esta publicación, crearé una sección en la parte superior de la página de inicio de mi sitio, que muestra recientemente y contenido específico de varios tipos de publicaciones. Específicamente, se mostrará:
Mi última publicación de un tipo de post-post personalizado
Dos posiciones posteriores a la poste: una de cada una de las dos categorías.
Una página en particular.
La forma obvia de hacer esto sería escribir cuatro (o tal vez tres si solo puede usar una para ambas publicaciones) instancias de WP_Query, cada una devolviendo una publicación. Pero en cambio, ejecutaré WP_Query una vez para hacerse cargo de todas las publicaciones que necesito, luego ejecutaré el bucle cuatro veces para eliminar las publicaciones necesarias. Cada vez que ruede el bucle, usaré una variable llamada $ Count y aumentaré su valor en 1, por lo que puedo verificar esto en el siguiente bucle. ¿Por qué necesitará seguir esta publicación? Necesitará algunas cosas:
Una instalación de instalación de desarrollo de WordPress
Un editor de código
Configuración del interrogatorio Lo primero que debe hacer es ejecutar la consulta. Puse esta publicación en mi archivo de plantilla de tema para la página de inicio, front-page.php. Pero podría poner en cualquier lugar de su tema donde desee ejecutar más bucles. Nota: Si trabaja con un tema de terceros, ponlo todo esto en un tema secundario, no en el tercero. Si no sabe cómo configurar un tema para niños, consulte nuestra guía. Aquí está mi pregunta:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Esta consulta tomará publicaciones de tres tipos de publicaciones: publicaciones, páginas y libros personalizados con tipos de publicaciones. Entonces, ahora hemos tomado las publicaciones de la base de datos, debemos comenzar a configurar el código para eliminarlas. Configuración de la salida después de su consulta y dentro de los aparatos ortopédicos, agregue eso:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Esto crea un elemento de sección que contendrá todas nuestras publicaciones. También define una variable llamada $ Count y la establece en cero. Haremos esto para crecer uno después de cada bucle. Ejecución del primer bucle Mi primer bucle mostrará mi tipo de publicación personalizado. Entonces, en el bucle, incluiremos una etiqueta condicional que verificará el tipo de publicación respectivo. También verificará si el valor de $ Count es 0 y después de ejecutar, ese valor aumentará en 1 para detener el ciclo nuevamente. Aquí está el código:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Tenga en cuenta que esto incluye la función get_post_type () para identificar cuál es el tipo de publicación y ejecutar el bucle solo si se trata de un libro y el valor del valor es 0. Entonces, al final, $ count ++ aumentará el valor del $ cuenta por 1.
El elemento final de este bucle es rewind_posts (). No omita esto o descubrirá que sus bucles no se ejecutan correctamente, ya que saltarán cualquier publicación de los otros tipos de publicaciones que se han publicado después de esta publicación de “libro”. Ejecutando el segundo bucle ahora para el segundo bucle. Es similar al primero: verifica el valor de $ Count y el tipo de publicación, pero también verifica una categoría.
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Tenga en cuenta que verificamos que el valor de $ Count es 1 antes de ejecutar este bucle, que será si el primer bucle se ejecutará para la publicación “Libro”.
La ejecución del tercer bucle es muy similar al segundo: verifica una publicación en la categoría “Noticias”, pero no en la categoría “WordPress”, porque ya he publicado la última publicación en esa categoría. Si no incluía este cheque, entonces la misma publicación podría mostrarse dos veces. Cargue la idea 93772B5F9A86936ABE4D03B530C3D89
Ejecutar el cuarto bucle y el último bucle elimina una página: para mí esta es mi página de registro en el boletín. Aquí está el código:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89

Tenga en cuenta que, además de verificar el tipo de publicación, también verifique el valor post_name.
Después del cuarto bucle, debemos cerrar el elemento de sección y luego terminados. El contenido del bucle: el uso de una parte de la plantilla puede haber notado que en cada bucle, tengo esta línea:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Esto llama al archivo incluye con el contenido de mi bucle. Usar este archivo significa que tengo que escribir el código una vez en su lugar cuatro veces. Puede estar más familiarizado con el uso de la función get_template_part () para llamar al bucle. La razón por la que utilicé incluye (localate_template ()) Por otro lado, es posible pasar una variable hacia adelante y hacia atrás a la plantilla usando esa función, pero no con get_template_part (). Por lo tanto, deberá usar la función que utilicé.
Aquí está el contenido de mi plantilla:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Echemos un vistazo a algunos de los aspectos más avanzados de ese código:
Utilizo una variable llamada $ Title para definir el título que aparecerá por encima de la publicación en cada bucle. Esto no está relacionado con la publicación en sí, sino con la categoría o tipo de publicación. En lugar de tratar de traerlos dinámicamente, solo proporciono valor a esa variable, dependiendo del valor de $ Count. Para cada publicación. El valor del título $ se mostrará en un elemento H3, seguido de la imagen presentada, el título y el fragmento.
Tanto la imagen presentada como el título actúa como un enlace a la publicación o la página.
Deberá crear su propia parte de la plantilla para el contenido del bucle. Cámbielo para que funcione como desee.
Aquí está mi lista de publicaciones en mi página inicial:
Aparecen, pero no se ve tan bien. Agreguemos algo de estilo. Dominando sus publicaciones para agregar algunas clases al elemento del elemento en cada bucle, para que podamos diseñarlo. Editar el elemento del artículo en el archivo incluye para que se vea así:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89
Ahora agregue un poco de estilo a la hoja de estilo de su base:
Cargue la idea 93772B5F9A86936AEBE4D03B530C3D89

Ahora guárdelo y refresca su página. Aquí está el mío con mis publicaciones en la cuadrícula:
Creo que estarás de acuerdo en que se ve mucho mejor que una mera lista de publicaciones y es más fuerte que la mera enumeración de las publicaciones del blog. Me da mucha más flexibilidad.
Ejecutar una consulta para múltiples bucles trae beneficios a su código y su uso del sitio de esta técnica, o su propia versión, para ejecutar más bucles mientras solo interroga la base de datos tiene una serie de ventajas:
Significa que solo tiene una consulta para actualizarse y actualizarse, lo que hace que el COD sea más efectivo.Esto se hace aún más eficientemente mediante el uso de la parte de la plantilla. Al interrogar la base de datos una vez, evite cualquier retraso y acelere el tiempo de carga.
Tener una página que se carga rápidamente mejorará la experiencia del usuario y la clasificación en sus motores de búsqueda.

¿Qué no es agradable?Pruebe esta técnica hoy con las publicaciones, categorías y tipos de publicaciones personalizadas y vea lo que puede hacer.
¿Cómo puede usar esta técnica en su sitio?¡Dinos en los comentarios!
Etiquetas:
CSS
personalización
Php

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 *