Creando un tema desde cero para WordPress parte 3: El loop

El loop es el “mecanismo” que WordPress usa para mostrar información a través de las plantillas. Es donde ocurre la “magia” y tenemos acceso a la información de nuestros posts.

loop

El loop básico tiene la siguiente estructura:

Si estas en la plantilla category.php, el loop te devolverá por defecto la información de tus 10 últimos posts. Si estás en single.php o en page.php te devolverá la información de ese post concreto.

have_posts() comprueba si en la página actual hay posts. Si hay posts, el bucle while se ejecuta mientras haya posts (puede ser uno en caso de páginas de detalle como por ejemplo page.php, single.php o varios en páginas de listado como category.php, search.php, archive.php, etc…). La función the_post() es la que recoge la información sobre el post actual dentro del bucle while.

Normalmente se suele poner un mensaje de “no se han encontrado resultados” en caso de que no encuentre posts, por lo que el loop quedaría algo tipo:

 

¿Qué puede mostrar el loop?

Estas son algunas de las funciones disponibles dentro del loop y que nos devuelve información sobre el post, page o Custom Post Type actual:

  • next_post_link(): Enlace al siguiente post publicado cronológicamente
  • previous_post_link(): Enlace al anterior post publicado cronológicamente
  • the_category(): La categoría o categorías asociadas al post actual
  • the_author(): El Autor del post actual
  • the_content(): El contenido principal del post actual
  • the_excerpt(): El extracto del post actual
  • the_post_thumbnail(): La imagen destacada del post actual
  • the_ID(): El ID del post actual
  • the_meta(): Los campos personalizados asociados al post actual
  • the_shortlink(): El enlace corto del post actual
  • the_tags(): La etiqueta o etiquetas asociadas al post actual
  • the_title(): El título del post actual
  • the_time(): La fecha en la que se ha creado el post actual

 

Además, podemos usar conditional tags para por ejemplo maquetar nuestro contenido o añadir clases específicas según nuestras necesidades:

  • is_home(): Devuelve true si la pagina actual es la home
  • is_admin(): Devuelve true si un administrador está logueado y visitando la página
  • is_single(): Devuelve true si la pagina actual es el detalle de un post
  • is_page(): Devuelve true si la pagina actual es el detalle de una página
  • is_page_template(): Devuelve true si la pagina actual es una plantilla específica, por ejemplo: is_page_template(‘page-contact.php’)
  • is_category(): Devuelve true si la pagina actual es una categoría. Puede especificarse una en concreto, por ejemplo: is_category(‘noticias’)
  • is_tag(): Devuelve true si la pagina actual es una etiqueta
  • is_author(): Devuelve true si la pagina actual es el detalle de autor o si un autor específico está visitando la página
  • is_search(): Devuelve true si la pagina actual es la página de resultados de búsqueda
  • is_404(): Devuelve true si la pagina actual es página no encontrada o página no existe
  • has_excerpt(): Devuelve true si la pagina o post actual tiene extracto

 

Esto es en esencia el loop de WordPress. Tenemos también funciones para interactuar con él o modificarlo a nuestro antojo como query_posts(), rewind_posts()…y varios hooks para crear nuestras propias funciones y engancharnos a ellos como pre_get_posts, the_post y found_posts.

Si te ha gustado, valora este artículo para mejorar la calidad del blog o compártelo en Redes Sociales…
1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, valoración 5,00 sobre 5) Loading...

Web Hosting