Personalizar el bucle de WordPress

Home » Blog » Personalizar el bucle de WordPress

Vamos a ver como podemos personalizar el bucle de WordPress para modificar los datos a mostrar, por ejemplo podemos ordenar o indicar cuantos elementos queremos mostrar. Mediante el bucle, podemos crear consultas complejas sin conocimientos de SQL.

El objeto wp_query

Wp-query es una clase definida en WordPress que facilita la creación de consultas SQL y modificar la consulta a base de datos que luego pintaremos con el bucle de WordPress.

Vamos a ver un ejemplo de su funcionamiento:

<?php 
$ejemplo = new WP_Query('post_per_page=3');
while ($ejemplo->have_posts()):
$ejemplo->the_post();
the_title();
endwhile;
?>

En este ejemplo se mostraran solo los 3 primeros registros, ya que hemos definido el parámetro: post_per_page.

Parámetros de una consulta

Veamos los posibles parámetros para configurar una consulta personalizada:

  • p=X:  Carga el ID indicado.
  • name=enlace-permanente: Carga los artículos que su enlace permanente coincide con lo indicado.
  • post_status=X: Carga en función del estado de los artículos: Pending, draft, Published, Future, Private, Trash y Auto-Draft.
  • ignore_sticky_posts: Evita que en el bucle se muestren las entradas fijas en el inicio del mismo. Las entradas fijas son aquellas que se marcan como Fijas desde visibilidad del artículo.
  • post_type=X: Para filtrar entre entradas/artículos (post) o páginas (page). también es posible indicar: Adjuntos (Attachment), Menú de navegación (Navigation menu)  y artículos en revisión (Revision).
  • posts_per_page=X: Número de registros a mostrar.
  • offset=x: Ignorar las primeras X entradas.
  • pagename=X: Es posible cargar una página indicando su nombre.
  • page_id=X: Es posible cargar una página conociendo su ID.
  • cat=X,X,X: Cargamos las entradas de unas categorías concretas.
  • category_name=X: Cargamos las entradas de una categoría.
  • tag_id: Cargamos las entradas de una etiqueta.
  • tag=X,X,X: Cargamos entradas en función de las etiquetas establecidas.
  • author=X o author_name=X: Cargamos entradas del autor.
  • monthnum=X: Se cargan las entradas del mes.
  • day=X: Se cargan las entradas del día.
  • year=2015: Se cargan las entradas del año 2015.
  • orderby=title: ordenamos las entradas por título.
  • order=ASC: Ordenamos ascendentemente ASC o descendentemente DESC.
  • meta_key=X: Si hemos creado campos personalizados, podemos filtrar por los artículos que tienen un campo personalizado sea cual sea su valor.
  • meta_value=X: Cargamos las entradas que tengan como valor de un campo personalizado el indicado.

Ejemplos

//Página con ID=2

$ejemplo = new WP_Query('post_type=page&p=2');

//Recuperar 5 entradas empezando por la 3ª ordenado por title

$ejemplo = new WP_Query('post_type=post&posts_per_page=5&offset=2&orderby=title');

//Recuperar las entradas que sean de la categoría 5, que tengan la etiqueta wordpress y sena del año 2015

$ejemplo = new WP_Query('post_type=post&cat=5'&tag=wordpress&year=2015);
Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 7 reseñas
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Dió en la clave y nos dió los instrumentos que necesitábamos en esos momentos, y sobre todo entendió a la perfección lo que buscábamos. Lo mejor de web que hemos tenido en 24 años. Eskerrik asko Mezo!!
Troka Abentura
Troka Abentura
07/01/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023