Excluir la imagen destacada del bucle de archivos adjuntos de imágenes de WordPress

Acerca de los archivos adjuntos de imágenes …

Una de las cosas más interesantes de WordPress es la capacidad de utilizar “bucles de archivos adjuntos de imágenes” para mostrar todas las imágenes adjuntas en una publicación determinada. Por ejemplo, en mi último tema premium (tema de WordPress Minim Portfolio), las páginas de un portafolio único vienen con varios estilos (control deslizante, galería, lista, imágenes completas …) que usan un bucle personalizado que atrae todas las imágenes adjuntas a la publicación para que pueda gestiona fácilmente una galería de kick a * s sin tener que utilizar ningún código corto.

Este es el bucle de muestra que utilizo para extraer los archivos adjuntos de imágenes en una publicación usando la función get_posts …

//attachement loop
 $args = array(
 'orderby' => 'menu_order',
 'post_type' => 'attachment',
 'post_parent' => get_the_ID(),
 'post_mime_type' => 'image',
 'post_status' => null,
 'posts_per_page' => -1
 );
 $attachments = get_posts($args);

Excluir la imagen destacada del bucle de adjuntos

Mostrar todos los archivos adjuntos de imágenes para una publicación es excelente para la usabilidad, sin embargo, a veces un usuario puede querer excluir una determinada imagen, como su imagen destacada. Tener una imagen destacada separada podría ser más útil en algunos sitios que tener que elegir una imagen que también sea parte de la galería de la publicación. Para mi tema Minim incluí una práctica opción de meta para seleccionar incluir o excluir su imagen destacada del bucle de archivos adjuntos. Aunque no voy a mostrarte cómo incluir la meta opción completa (puedes comprar el tema si realmente quieres verlo), te mostraré a continuación cómo excluir tu imagen destacada del ciclo de archivos adjuntos.

  1. Primero, configurará el ID de la imagen destacada como una variable “$ thumb_ID”
  2. Luego agregaremos esto al argumento de exclusión para el ciclo de adjuntos. Cosas muy simples (pero útiles).
  3. Ver el código….
//get featured image ID
$thumb_ID = get_post_thumbnail_id( $post->ID );

//attachement loop - with exclude argument for featured image
$args = array(
'orderby' => 'menu_order',
'post_type' => 'attachment',
'post_parent' => get_the_ID(),
'post_mime_type' => 'image',
'post_status' => null,
'posts_per_page' => -1,
'exclude' => $thumb_ID
);
$attachments = get_posts($args);

Consulte la función “Get_Posts” en el códice WP para obtener más información sobre el parámetro de exclusión.