Soy un gran admirador de la clase WP_Query: la uso en varios sitios web de clientes para buscar y mostrar datos de forma personalizada.

Si desea utilizar varios bucles en una página, la mejor manera de hacerlo es ejecutar "WP_Query" siempre que necesite un bucle.

Pero hay un inconveniente: cada vez que WordPress ejecuta un bucle, envía consultas a la base de datos, lo que lleva más tiempo y puede ralentizar su sitio web.

En este tutorial, le mostraré cómo usar una consulta para más de un ciclo. Puede hacer esto con la consulta principal o puede usar la misma técnica con WP_Query.

Exploraremos los aspectos de 3:

 

  • Cree un tema secundario y un archivo de plantilla.
  • Cree una pieza de plantilla para el contenido del bucle.
  • Crea nuestros bucles.

 

Pero antes descubrimos juntos ¿Cómo instalar un blog de WordPress pasos 7 et ¿Cómo encontrar, instalar y activar un tema de WordPress en tu blog 

Luego de vuelta a por qué estamos aquí.

Que necesitas

Para seguir este tutorial, necesitará:

 

  • Desde una instalación de WordPress para desarrollo (localmente).
  • Un editor de código.
  • Artículos en su sitio web con múltiples categorías asignadas
  • el tema veintiséis de WordPress
  • Un tema secundario de veintiséis años instalado y activado

 

Esta técnica también se adapta a tu situación, y a tu tema de WordPress.

Crear un tema hijo

Primero, vamos a crear el tema hijo de veintiséis. Hago esto porque no quiero cambiar el tema principal.

Descubre Cómo instalar un tema de WordPress niño

En su carpeta "wp-content / themes", cree una nueva carpeta vacía, que llamará "tutor-theme". Más tarde puede elegir el nombre que más le convenga.

En esta carpeta, cree un archivo llamado style.css y agregue el siguiente código:

/*

Nombre del tema: Tuto Theme

URI del tema: https://blogpascher.com

Descripción: Tema para admitir Tutorial sobre la ejecución de múltiples bucles mientras consulta la base de datos solo una vez. Tema infantil para el tema Veintiséis.

Autor: Hervé

Autor URI: https://blogpascher.com

Plantilla: veinte y seis

Version: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Ahora guarde este archivo y active su nuevo tema de WordPress.

El siguiente paso es crear un archivo de plantilla para las categorías, en eso estaremos trabajando.

Haga una copia del archivo “archive.php” del tema de WordPress "Veintiséis". No lo muevas, pero haz una copia. Cámbiele el nombre a "categoría.php".

Para ir más lejos, descubre Cómo gestionar archivos y carpetas de WordPress

Este será ahora el archivo de plantilla para las categorías de su sitio web.

Crear un nuevo archivo de plantilla

El primer paso es crear un nuevo archivo de plantilla en nuestro tema que contendrá una versión modificada del bucle "veintiséis".

Consultemos también juntos Cómo poner su sitio web de WordPress en modo de mantenimiento

En la carpeta del tema secundario, cree una subcarpeta llamada "incluye". Y dentro, cree un nuevo archivo llamado "loop-category.php".

A continuación, abra el archivo "template-parts / content.php" de las carpetas de temas principales (veintiséis) y busque el siguiente código:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 

 / * traductores:% s: Nombre de la publicación actual * /

 the_content (sprintf (

 __ ('Continuar leyendo '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'antes' => ' '. __ ('Páginas:', 'veintiséis'). ' ',

 'después' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Página', 'veintiséis'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * traductores:% s: Nombre de la publicación actual * /

 __ ('Editar '% s ' ', 'twentysixteen'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Copie este código en el nuevo archivo "loop-category.php" del tema secundario.

Edición del archivo de parte de plantilla

El ciclo "veintiséis" muestra más de lo que necesito, así que voy a modificar este código. Solo quiero mostrar el fragmento y no el contenido, así que eliminaremos el contenido.

¿Cuál es la diferencia entre H1 y el título de SEO de un artículo de WordPress? Descúbrelo consultando este artículo.

En su nuevo archivo loop-category.php, busque este código y elimínelo:

<div class = "contenido de entrada">

 

 / * traductores:% s: Nombre de la publicación actual * /

 the_content (sprintf (

 __ ('Continuar leyendo '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'antes' => ' '. __ ('Páginas:', 'veintiséis'). ' ',

 'después' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Página', 'veintiséis'). ' %',

 'separator' => ' , ',

 ));

 ?>

El otro paso es reemplazar la función "twenty_sixteen_excerpt ()" con la función "the_excerpt ()", porque la versión de veinte dieciséis no proporciona un enlace al artículo completo.

Ver tambien Cómo ver los artículos recientes en una categoría específica

Encuentra esta línea:

Reemplácelo con esto:

También necesitamos hacer algunos cambios en las etiquetas de título.

En la parte del modelo, cambie la línea:

', esc_url (get_permalink ())),' '); ?>

Edite las etiquetas H2 para H3:

', esc_url (get_permalink ())),' '); ?>

Registra tu modelo. Luego regrese a su archivo category.php, continuaremos con él.

Crear bucles

En primer lugar, vamos a eliminar la inclusión del código para "veintiséis dieciséis" de nuestro archivo "category.php", ya que necesitaremos usar el nuevo archivo.

En su archivo category.php encuentre este código:

get_template_part ('partes de plantilla / contenido', get_post_format ());

Y eliminar el.

Luego crearemos los bucles.

En este ejemplo, mostraré todas las publicaciones con la etiqueta "contenido", usando la etiqueta condicional "has_tag ()". Esto significa que tendré que pasar por tres ciclos:

 

  • La primera verificación si la consulta ha publicado elementos con esta etiqueta.
  • Si es así, el segundo muestra los artículos con esta etiqueta.
  • Un tercero muestra artículos sin esta etiqueta.

 

Entre cada ciclo, usaré rewind_posts () para rebobinar mensajes sin restablecer la consulta: siempre trabajamos con la consulta principal cada vez.

El primer bucle: verificación de artículos

En su archivo "category.php", encuentre el comienzo del ciclo:

while (have_posts ()): the_post ();

Sobre esta línea, defina una nueva variable llamada $ count:

$ Count = 0;

Luego, dentro de ese bucle, agregue este código:

// comprobar si hay publicaciones con la etiqueta »

$ etiqueta = 'contenido';

if (has_tag ($ etiqueta)) {

 $ cuenta + = 1;

}

Este código verifica si los mensajes tienen la etiqueta "contenido" y luego agrega 1 al contador si es así.

El interior del bucle será similar a esto:

// Busca publicaciones en el primer bucle.

$ Count = 0;

while (have_posts ()): the_post ();

 

// comprobar si hay publicaciones con la etiqueta »

$ etiqueta = 'contenido';

if (has_tag ($ etiqueta)) {

 $ cuenta + = 1;

}

 

Al final

El segundo bucle: restaurar artículos con la etiqueta

El siguiente paso es realizar un ciclo para mostrar artículos con esa etiqueta, solo si hay alguna.

Por ejemplo, si el valor de $ count es mayor que 0.

Descubrir también Cómo personalizar el panel de WordPress para un cliente

Agregue esta condición al bucle:

if ($ count> 0) {

 

 rewind_posts ();

 

 eco ' Publicaciones etiquetadas con '. $ etiqueta. ' ';

 

 

 while (have_posts ()): the_post ();

 

 if (has_tag ($ etiqueta)) { 

 get_template_part ('incluye / bucle', 'categoría'); 

 }

 

 // Fin del ciclo.

 Al final

 

}

Este código verifica que $ count es mayor que cero y, de ser así, rebobina los elementos y ejecuta el ciclo nuevamente. Para cada elemento, verifica si posee nuestra etiqueta y, de ser así, llama a la parte de la plantilla que acabamos de crear.

El tercer ciclo: ver el resto de los artículos

La salida será un ciclo final de los artículos restantes. Si esta categoría no tiene un artículo con la etiqueta "contenido", entonces mostrará todos los artículos de la categoría.

Aprende también Cómo crear un blog de varios autores y permitir a sus lectores publicar artículos en tu blog

En su segundo ciclo, agregue esto:

rewind_posts ();

 

 

// Segundo bucle: publicaciones que no tienen la etiqueta 'contenido'

while (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('incluye / bucle', 'categoría'); 

 }

 

// Fin del ciclo.

end while; ?>

Este último código rebobina los artículos y luego vuelve a ejecutar el ciclo. Esta vez, comprueba si un artículo no tiene la etiqueta "contenido", por lo que muestra el contenido en la "parte de la plantilla".

También te sugerimos que descubras Cómo agregar una impresión de artículos de opción en WordPress

Ahora puede probar la página de artículos de su blog. Recuerda que puedes cambiar los filtros. En este tutorial usamos "contenido" como filtro de etiquetas, pero puede usar el que prefiera.

Descubre también algunos complementos premium de WordPress  

Puedes usar otros plugins de WordPress para dar una apariencia moderna y optimizar el manejo de tu blog o sitio web.

Aquí le ofrecemos algunos complementos premium de WordPress que lo ayudarán a hacerlo.

1. Complemento de pared social para UserPro

UserPro puede ser mucho más divertido con un muro social. Esto es lo que aporta su extensión Social Wall. Con el complemento Social Wall, puede crear un muro en su sitio web y proporcionar a sus miembros una forma refrescante de interactuar con la comunidad.

Le Plugin de WordPress Social Wall permite a sus usuarios: compartir mensajes entre ellos, compartir imágenes, comentar las publicaciones de otras personas, a los usuarios les puede gustar o no un mensaje, pueden optar por mostrar el muro solo para los usuarios registrados o para todos los usuarios, los administradores pueden eliminar publicaciones o comentarios de usuarios, etc.

Descargar | Demo | alojamiento web

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus es un Plugin de WordPress módulo que conecta su sitio web de WordPress con la API de afiliados de Flipkart. 

Ce Plugin de WordPress Hace que sea muy fácil importar datos de productos desde Flipkart y actualizarlos directamente en su sitio web. Flipkart Affiliate Plus es el primer complemento de WordPress para la API oficial de Flipkart. Al usarlo, no necesitará utilizar una API de terceros. De este modo se beneficiará plenamente de su trabajo.

Descargar | Demo | alojamiento web

3. Actionable Google Analytics para WooCommerce

Accionable Google Analytics es un complemento de WordPress que le permite utilizar algunas de las mejores funciones de Universal Analytics, que incluyen: Comercio electrónico mejorado y seguimiento de ID de usuario. Además, este complemento admite la anonimización de direcciones IP, reembolsos de productos, agrupación de contenido, seguimiento de formularios, etc.

Al usar este complemento de WordPress, ahorrará tiempo en la integración del código complejo de Google Analytics, para que pueda concentrarse en administrar sus datos.

Sus principales características son: instalación rápida y sencilla, acceso a 9 informes de comercio electrónico mejorados, la capacidad de estudiar cómo los diferentes dispositivos son utilizados por un mismo usuario y cómo se realizan las compras, la capacidad de analizar qué productos se reembolsan con más frecuencia, finalmente para tomar medidas correctivas y más.

Descargar | Demo | alojamiento web

Otros recursos recomendados

También lo invitamos a consultar los recursos a continuación para avanzar en el control y agarre de su sitio web y blog.

 

 

Conclusión

Listo ! Eso es todo por este tutorial bastante técnico. Espero haber sido explícitos sobre cómo usar correctamente WP_Query en WordPress. no dude en comparte el consejo con tus amigos en tus redes sociales.

Sin embargo, también podrá consultar nuestra Recursos, si necesita más elementos para llevar a cabo sus proyectos de creación de sitios de Internet, consulte nuestra guía sobre Creación de blog de WordPress.

Pero mientras tanto, cuéntanos sobre tu comentarios y sugerencias en la sección dedicada.

...