WordPress Loop es una pieza de código muy fuerte. Úselo para acceder a la base de datos, para encontrar contenido en función de los criterios dados y luego para mostrar el contenido respectivo de cualquier manera que necesite. Esta es la quinta publicación en nuestro desarrollo de WordPress para la serie de usuarios intermedios. Esta serie sigue nuestros populares tutoriales de desarrollo de WordPress para principiantes, que le han introducido en los elementos básicos de los sitios web de WordPress, cómo comenzar a codificar con PHP y construir temas y complementos. En esta parte de la serie, pasaremos al elemento WordPress que hace que el contenido en la base de datos aparezca en las páginas de su sitio: consulta y bucles. Echaremos un vistazo rápido al bucle estándar, luego nos moveremos para identificar las formas de personalizarlo y escribir sus propias consultas personalizadas. Aprenderás sobre:
El bucle estándar, qué hace y por qué debe tratarlo con respeto.
Los componentes de una consulta y un bucle.
Métodos para crear interrogatorios personalizados y cuando se usa cada uno (incluido uno que no debe usar).
Cambiar el bucle en un archivo de pieza de plantilla.
Uso de WP_QUEY para crear consultas personalizadas avanzadas, incluidos ejemplos funcionales que creará utilizando complementos que se conectan al tema que ya hemos codificado.
Así que comencemos con el bucle estándar. ¿Se ha perdido un tutorial en nuestra serie de usuarios de WordPress para el desarrollo de WordPress? Puedes mantenerte al día con las siete publicaciones aquí:
Desarrollo de WordPress para usuarios intermedios: desarrollo del tema en detalle
Desarrollo de WordPress para usuarios intermedios: preparación de temas para personalizar WordPress para usuarios intermedios: creación de complementos
Desarrollo de WordPress para usuarios intermedios: tipos de publicaciones y taxonomías personalizadas
Desarrollo de WordPress para usuarios intermedios: consulta y bucles
Desarrollo de WordPress para usuarios intermedios: campos personalizados y de metadatos
Desarrollo de WordPress para usuarios intermedios: internacionalización
Así es, toneladas de conocimiento de WordPress, evaluación de pares, comentarios e certificación de instructores, gratis para los miembros de WPMU Dev. Comience a aprender el bucle definido aquí es cómo el códice define el bucle:
Loop es un código PHP utilizado por WordPress para mostrar publicaciones. Usando el bucle, WordPress procesa cada publicación que se mostrará en la página actual y la formatea dependiendo de cómo coincida con los criterios especificados en las etiquetas del bucle. El bucle hace cinco cosas:
Ejecuta una consulta para tomar contenido de la base de datos en función de un conjunto de criterios (más pronto).
Compruebe si la consulta ha encontrado contenido.
Pasa por la primera publicación (otro elemento de contenido) y elimina el contenido de esa publicación definida por el código en el bucle.
El paso tres se pasa nuevamente para cada publicación que se ha tomado (donde es relevante).
Se detiene y (a veces) se reinicia.
Ya ha trabajado con un bucle si siguió con esta serie: en la primera parte de esta serie, creamos un archivo Loop.php para que nuestro tema contenga el bucle y editamos una versión. Se verá a partir de ese ejemplo que su tema no solo debe ejecutar una versión del bucle; puede ejecutar varias versiones dependiendo del contenido que se ve. Entonces podría tener un bucle para publicaciones individuales, una para archivos, otro para páginas, etc. También puede definir bucles de acuerdo con la categoría, el tipo de publicación y otros, utilizando el archivo de plantilla relevante. Puede codificar el bucle directamente en un archivo de plantilla o puede usar una parte de la plantilla, como Loop.php. Creo que el uso de una parte de plantilla me da más control sobre mi código y también me permite usar el mismo bucle en varios archivos de plantilla, incluido el uso de la función get_template_part (). Aprendiste sobre esto en la primera parte de esta serie: si necesitas una actualización, vuelve a ella. Echemos un vistazo a las diferentes partes del bucle. Use los archivos single.php y loop.php que creó en la Parte 1 como guía: si no tiene su propia copia, los encontrará en los archivos de origen para la serie.
Recogida de datos: interrogatorio En un bucle estándar, use esta línea para tomar datos de la base de datos:
El esencial A1C19F0BA93CEB4826444F77397053 está cargado
En nuestra plantilla, se encuentra en cada archivo de plantilla, por ejemplo, page.php y single.php. Verifica si hay publicaciones para el tipo de contenido que se ve actualmente y luego, si, pasa al bucle usando cada (have_posts ()): the_post (); . Esta es la consulta estándar (o consulta principal) que WordPress usa en archivos de plantilla para encontrar el contenido de la base de datos que se aplica al contenido que se ve actualmente. Entonces, si está en una sola publicación o página, usará esa publicación o ID de página para tomar un solo elemento en la base de datos, mientras que si está en una página de archivo usará la categoría, tipo de publicación, etiqueta, taxonomía de término, fecha o identificación del autor para que se haga cargo de todas las publicaciones en ese archivo. WordPress está a cargo de esto automáticamente para usted: no tiene que especificar en la consulta lo que desea mostrar. Todo esto, a veces es posible que desee ejecutar una consulta personalizada, una que tome contenido que no sea el que se refiere la página vista en este momento. Por ejemplo, está en una sola publicación y desea mostrar una lista de las últimas publicaciones después del contenido de publicación o una lista de publicaciones en la misma categoría. Esto es posible: para hacer esto, escriba una consulta personalizada usando la clase WP_QUEY, que pronto encontrará más pronto. El interrogatorio se ve un poco diferente si codifica una consulta personalizada usando wp_quey:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Puede ver que hay un código adicional aquí:
La variable $ Args contiene una serie de argumentos que definen qué tipo de publicaciones estamos buscando. Estos pueden incluir argumentos como el tipo de publicación, categoría, fecha de publicación, número de publicaciones, orden en el que se toman muchos otros. Inside If ($ query-> have_posts ()) {} y antes de pasar por cada publicación, es Posible desea incluir contenido adicional, como un título para su lista de publicaciones o un elemento de apertura si las publicaciones están en una lista. Luego cierre después de que se ejecutan los postes.
Además, dentro de la instrucción if {}, ejecute un bucle muy similar con el bucle estándar, usando while ($ query-> have_posts ()): $ query-> the_post (); . Ejecuta un bucle de la misma manera, pero se basa en la variable de consulta $ que definió y no en la consulta principal.
Una vez que pasa por el bucle para cada publicación, las etiquetas y las marcas que usa para mostrar contenido son exactamente las mismas que para un bucle estándar.
También es posible cambiar la consulta principal sin escribir una nueva. Para hacer esto, use el gancho pre_get_posts, que se enrolla incluso cuando WordPress ejecuta una consulta. En lugar de agregar esto al archivo de plantilla relevante, escriba una función (ya sea en el archivo de función o en un complemento) que cambia la consulta en un cierto conjunto de circunstancias, que especifica utilizando una etiqueta condicional. Te mostraré cómo hacer esto en poco tiempo. Contenido de visualización: el bucle Después de definir la consulta, pase por el bucle para cada publicación tomada. Dentro de ese bucle, puede usar cualquier marca que desee agregar elementos, identificaciones y clases, además de texto estático y una variedad de etiquetas de plantillas que le permiten mostrar el contenido que se ha tomado de la base de datos. Estos incluyen: the_itle () – el título de una publicación o página
The_permalink () – URL de la publicación respectiva o página única de la página respectiva. Úselo en un elemento alrededor del título, la imagen presentada y/o un “enlace para leer más” si agrega uno manual.
The_excerpt (): muestra un extracto de la publicación, que define manualmente en la pantalla de publicación, o WordPress se hace cargo de usted. Usando los primeros 55 caracteres del contenido de Extract_Length (puede cambiar este valor usando el filtro Excert_Length si el filtro de longitud si el filtro de longitud Filtro que desee).
The_content (): muestra el contenido de la publicación o página
The_post_thumbnail (): muestra la imagen presentada de la publicación si tiene una. Puede definir el tamaño de la imagen utilizando un atributo de tamaño.
También puede mostrar metadatos sobre la publicación, que incluye:
The_author () -esplays el nombre de la publicación de la publicación en un enlace a la página de archivo del autor respectivo.the_category () -esplays una lista de categorías en la que se guarda la publicación, en un enlace a la página de archivo de cada uno categoría.
The_tags () -plays una lista de etiquetas para las cuales se guarda la publicación, en un enlace a la página de archivo de cada etiqueta.
The_meta (): muestra los metadatos de la publicación asociada con la publicación respectiva (o campos personalizados).
Las etiquetas que usa en el bucle son las mismas, ya sea que use una consulta estándar o personalizada con WP_QUEY. Los que usa depende de lo que desea mostrar en sus páginas: puede usar diferentes etiquetas en las páginas de archivo que en publicaciones individuales, por ejemplo. Una página de archivo puede incluir el fragmento, mientras que la única publicación debe contener el contenido. Creación de consultas personalizadas: cinco buenas maneras, una mala si desea mostrar contenido personalizado en una determinada página, puede personalizar la consulta estándar o crear su propia consulta. Hay cuatro formas de hacer esto y un método adicional que no debe usar (a pesar del hecho de que todavía hay personas que le dicen que haga esto). Personalizar el interrogatorio principal Si desea personalizar la consulta principal, debe usar el gancho de filtro pre_get_posts. Se enrolla cada vez que WordPress ejecuta la consulta principal para que pueda conectarse para cambiar la forma en que se ejecuta la consulta. Otro método que puede haber visto en algunos libros y sitios web es la Query_Posts (). Esta es una forma ineficiente y potencialmente incierta de cambiar la consulta principal. En lugar de cambiar realmente la consulta principal, se hace cargo de la consulta principal, luego la arroja y comienza nuevamente, reanudándola con sus cambios. Esto ralentizará su sitio, no es confiable y puede romperse, más elegido cuando se requiere la paginación. ¡Así que no lo uses! Creación de una nueva consulta Hay tres formas de crear una consulta completamente nueva:
La función get_posts (), que se hará cargo de todas las publicaciones. Get_pages (), que se hará cargo de todas las páginas.
La clase WP_Query, que puede personalizar para hacerse cargo de cualquier tipo de contenido que desee.
Las funciones get_posts () y get_pages () son la forma más simple y más rápida de tomar esos tipos de contenido y pueden ser más simples que WP_QUEY. Pero WP_Query le brinda mucho más control sobre lo que está interrogando y le permite interrogar todo tipo de publicaciones. Los tres métodos funcionan esencialmente de la misma manera detrás de escena, por lo que confía en todo lo que funciona bien. Atención al uso de cualquiera de estos métodos en lugar de la consulta principal, cuando puede personalizar la consulta principal. Como verá en poco tiempo, puede usar pre_get_posts para realizar cambios en la consulta principal en CiscumStamces muy específicos utilizando una etiqueta condicional, para que pueda escribir una consulta personalizada en un archivo de plantilla particular. Entonces, en lugar de escribir una consulta personalizada para un archivo de categoría en particular, por ejemplo, puede usar pre_get_posts para cambiar la consulta para esa categoría y crear un archivo de plantilla para esa categoría con un bucle personalizado para mostrar lo que se toma por el principal (modificado (modificado (modificado ) Interrogación. . Echemos un vistazo a los métodos más utilizados para cambiar la consulta principal o crear uno nuevo. Cambie la interrogación principal con pre_get_posts Puede usar pre_get_posts para una serie de cosas, incluida:
Agregar algunos tipos de publicaciones personalizadas a los interrogatorios en los que no se incluirían normalmente, como la página principal del blog, los archivos de categorías o etiquetas o los resultados de la búsqueda. Eliminación de una determinada categoría o taxonomía en una consulta para una consulta particular tipo de publicación o en la página inicial.
Cambiar el número de publicaciones devueltas por la consulta principal.
De hecho, la mayoría de las cosas que quizás desee cambiar sobre la consulta principal se pueden hacer con pre_get_posts.
Echemos un vistazo a un ejemplo. Puede recordar que en la cuarta parte de esta serie hemos agregado la taxonomía de las categorías a las páginas en nuestro sitio. Agregué una página y asigné una categoría de nuestro “equipo”:
Pero si visito el archivo de categorías para “nuestro equipo”, solo aparecen las publicaciones con esa categoría asignada, no las páginas:
Podemos cambiar esto usando el gancho pre_get_posts.
Abra el archivo Functions.php del tema.
Agregue esta función:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Guarda el archivo.
Comprueba si WordPress ejecuta la consulta principal y también que estamos en un archivo de categorías usando la etiqueta condicional IS_Category (). Si ambos son verdaderos, configure la consulta para incluir publicaciones y páginas. Ahora, si ve el archivo de categoría nuevamente, aparecerá su página:

La creación de un nuevo get_posts () o get_pages () presenta get_posts () y get_pages () son útiles cuando desea ejecutar una nueva consulta para tomar solo publicaciones o páginas. Aunque se limitan a un solo tipo de publicación, su uso puede ser más rápido que el uso de la clase WP_QUEY. Echemos un vistazo a cómo podría usar get_posts () para hacerse cargo de una lista de las últimas publicaciones y obtener un gancho para su tema, crearé un complemento con una función que conectaré a uno de los ganchos de acción que ya he agregado a mi tema. Nota: la función get_posts () funciona de la misma manera que get_pages () para que pueda aplicar lo que ha aprendido aquí al usar esa función. No quiero que este código se ejecute en mi página de blog principal porque ya muestra las últimas publicaciones, por lo que agregaré una etiqueta condicional para verificarlo. Comience por crear un nuevo complemento y activelo en su sitio si no tiene un gancho de acuerdo con el contenido de su contenido, agregue uno. Has aprendido a hacer estas cosas ya en esta serie. Si usa el tema proporcionado con los archivos de origen de la serie, entonces el gancho ya estará en el lugar. Después de configurar el complemento, agregue: cargue el esencial ABBFFC09C15BF5A8A2D0280D67B2422

Esto configura su función, la conecta a la acción correcta y agrega la etiqueta condicional dentro de ella. Ahora, dentro de la etiqueta condicional, agregue los argumentos para la función get_posts ():

El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Bajo esto, ejecute get_posts () más una verificación de que se devuelven todas las publicaciones: el esencial ABBFFC09C15BF5A8A2D0280D67B2422 está cargado con
Dentro de las correas, agregue eso:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Echemos un vistazo a lo que esto hace:
Se agrega un título.

Abra un bucle foreach para viajar cada publicación en una fila.
Dentro del bucle foreach, use Setup_Postata para configurar la publicación (sin esto no podemos eliminar el extracto).
Dentro del bucle, define la ID de publicación para la publicación actual y la atribuye a la variable $ PostID.
Usando esa variable $ postid como parámetro, usa get_the_permalink (), get_the_title () y the_excerpt () para eliminar cada uno de ellos. No puede usar the_permalink () etc. Aquí, porque solo funcionan en el bucle principal o en uno que defina con wp_quey. Tenga en cuenta que usa the_excerpt () en lugar de Echo Get
Cierre el bucle foreach, que luego se ejecuta nuevamente para cada publicación posterior.
Ahora guarde el archivo. Su función completa se verá así:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Si visita alguna página en su sitio, además de la página del blog principal, ahora verá las últimas publicaciones por contenido:
El estilo no es excelente en este momento, por lo que agregaré algunos bordes a la hoja de estilo de mi base para distanciar un poco las cosas. Puede encontrar el estilo en los archivos de origen para la serie. Aquí está mi lista de publicaciones recientes ahora:
Si lo desea, puede continuar agregando una hoja de estilo a su complemento (y colocándolo en la cola correctamente, como aprendió anteriormente en esta serie) para un estilo específico o simplemente agregando estilo a la hoja de estilo de su tema creando Una mira personalizada avanzada con la clase WP_QUEY hasta ahora ha cambiado la consulta principal usando pre_get_posts y solo publicaciones interrogadas usando get_posts (). Pero, ¿qué sucede si querías ejecutar una consulta basada en algo más? Bien tu puedes. La clase WP_Query le permite interrogar casi cualquier cosa que desee: tipos de publicaciones, términos de taxonomía, publicación, autores, metadatos y más. Encontrará una guía detallada sobre sus argumentos en Codex y ejemplos útiles sobre cómo usarlo en esta serie sobre el dominio WP_Query. Le mostraré cómo usar WP_QUEY para interrogar el último proyecto y agregarlo a la barra lateral. ¡Hagamoslo!
Nota: Esto solo funcionará si ha agregado el tipo de publicación de proyecto que realicé en la parte anterior de esta serie. Si no ha hecho eso, verifique el código fuente del complemento que agrega esto. Primero, cree otro complemento. No agrego este código al archivo SideBar.php del tema, pero lo conectaré a WPMU_AFTER_SIDEBAR Hook que creé en nuestro tema. Si su tema no tiene un gancho en la barra lateral, deberá agregar uno. En lugar de poner su tema en su propio archivo, colóquelo en una carpeta y agregue un Subdosar Styles con un archivo style.css en esa carpeta. Ponga la hoja de estilo en la cola en la forma en que lo hizo en la Parte 3 de esta serie. No repetiré esto, porque ya lo ha aprendido, pero si está atrapado, eche un vistazo a los archivos de origen para esta parte de la serie. Por lo tanto, su complemento tendrá una carpeta con una hoja de estilo, además del archivo de complemento en el que tendrá comentado el texto de apertura y la función de colocar la cola de la hoja de estilo. Si ha copiado uno de sus complementos anteriores, asegúrese de dar un nombre único para todos: el archivo y la carpeta de complementos, así como la función de poner la hoja de estilo en la cola. En su archivo de complemento, agregue esto: cargue el esencial ABBFFC09C15BF5A8A2D0280D67B2422
Esta es su función vacía adjunta al gancho de acción relevante. Ahora comencemos a poblar esa función. Primero, agregue los argumentos de interrogatorio:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Ahora ejecute la consulta y agregue un cheque para publicaciones:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Luego, agregue un bucle al contenido de salida si se encuentran publicaciones, dentro de los aparatos ortopédicos: se carga el esencial ABBFFC09C15BF5A8A2D0280D67B2422.
Tenga en cuenta que al final de ese bucle agregué la función rewind_posts (). Siempre debe agregar esto después de ejecutar una consulta usando WP_QUEY para que WordPress pueda reiniciarse y volver a trabajar con la consulta principal para la página actual. Guarda el archivo. Aquí está la función completa que debe tener:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado

Ahora, si mira su sitio, verá el último proyecto en la barra lateral:

Aparece en la barra lateral, pero podría verse mejor. Agregaré un estilo adicional para que sea más prominente, en la hoja de estilo de arado. Aquí está mi código:
El esencial ABBFCC09C15BF5A8A2D0280D67B2422 está cargado
Puedes pelarlo como quieras, eliminarte, ¡estoy seguro de que te verás mucho más hermoso que el mío! Aquí está mi versión final:
Entonces, así es como usa WP_Query para hacerse cargo de la última publicación de un tipo particular de publicación. Puedes hacer más con eso, por ejemplo:
En una página de Archivo de Servicios, elimine ese servicio de la consulta para que no esté duplicada en la barra lateral.
Tiene un proyecto diferente que se muestra cada vez que se actualiza la pantalla.
Use otra taxonomía para los proyectos presentados y muestre solo aquellos.
Use una etiqueta acondicionada para ejecutar la consulta solo en las páginas o en la página principal del blog, por ejemplo.
Hay muchas posibilidades, ¿por qué no probar algunas? Los interrogatorios y los bucles son los que hacen que WordPress funcione sin un bucle, sus sitios solo tendrían páginas vacías sin contenido. Como aprendió aquí, WordPress envía una consulta en cada página y luego ejecuta un bucle para eliminar las publicaciones tomadas por esa consulta. La consulta principal es la que se ejecuta WordPress de forma predeterminada: identifica lo que actualmente se ve e interroga la base de datos en consecuencia. Pero también puedes escribir tus propias consultas. Puede cambiar la consulta principal usando pre_get_posts o usar get_pages () o get_posts () o wp_query clase para escribir su propia consulta personalizada le brinda mucho más control sobre lo que se muestra en su sitio web. Y, con estos, no se limite a Mostrar el contenido predeterminado en una página en particular. A menudo los uso para agregar publicaciones adicionales por contenido o en la barra lateral, para mostrar publicaciones después del término taxonomía, en lugar de solo en el orden de la fecha y para muchos otros usos. ¿Por qué no venir con sus propias consultas personalizadas e intentarlo? En la siguiente parte de esta serie, veremos metadatos. WordPress utiliza diferentes tipos de metadatos para almacenar datos adicionales para publicaciones, comentarios y autores. Aprenderá cómo trabajar, cómo mostrarlo en su sitio y cómo codificar metaboxs personalizados para que los usuarios agregue metadatos a través de pantallas de administración. ¡Nos vemos la próxima vez!
¿Y este tutorial parecía útil?¿Por qué quieres aprender el desarrollo de WordPress?¿De qué quieres saber más?Háganos saber en los comentarios a continuación.
desarrollo
intermedio


Desarrollo de WordPress para usuarios intermedios: consulta y bucles
Tags Desarrollo de WordPress para usuarios intermedios: consulta y bucles
homefinance blog