Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
Cómo crear tus propios temas para WordPress

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.

Puede que también te interese

Todo lo que hay que saber sobre las imágenes destacadas o post thumbnails en WordPress
Todo lo que hay que saber sobre las imágenes destacadas o post thumbnails en WordPress
Los post thumbnails o imágenes destacadas es una característica que se introdujo en la versión 2.9 de WordPress. Permite asignar una imagen representativa a las…
Me han hackeado mi página web de WordPress, ¿qué puedo hacer?
Me han hackeado mi página web de WordPress, ¿qué puedo hacer?
Un día nos podemos levantar y encontrarnos con la desagradable noticia de que nuestro sitio ha sido infectado. Esto puede ocurrir por multitud de factores:…
Autocomplete Off en el formulario de login al backend de WordPress
Autocomplete Off en el formulario de login al backend de WordPress
En ésta entrada vamos a ver cómo agregar la funcionalidad autocomplete=”off” para los campos de usuario y clave en el formulario de login al backend…
Cómo mostrar los posts más vistos o populares en WordPress
Cómo mostrar los posts más vistos o populares en WordPress
Probablemente en alguna ocasión te hayas encontrado con la necesidad de mostrar un listado de los posts más vistos o más populares de tu sitio.…