Aquí se explica cómo obtener todos los archivos adjuntos de publicaciones en WordPress, excepto la imagen recomendada

 

Mientras estábamos trabajando recientemente en un proyecto personalizado para un cliente, tuvimos que obtener todos los archivos adjuntos de publicaciones de un tipo de publicación personalizada y mostrarlos en un solo lugar. Dado que creamos una pantalla de cuadrícula, la imagen de cada publicación sirvió como separador. Debido a esto, cuando retiramos todos los archivos adjuntos de la publicación, tuvimos que excluir la imagen destacada para que no apareciera dos veces. En este artículo, le mostraremos cómo obtener todos los archivos adjuntos de las publicaciones en WordPress, excepto la imagen destacada.

Todo lo que necesita hacer es poner el siguiente código en un bucle.

<?php if ( $post->post_type == 'data-design' && $post->post_status == 'publish' ) {
		$attachments = get_posts( array(
			'post_type' => 'attachment',
			'posts_per_page' => -1,
			'post_parent' => $post->ID,
			'exclude'     => get_post_thumbnail_id()
		) );

		if ( $attachments ) {
			foreach ( $attachments as $attachment ) {
				$class = "post-attachment mime-" . sanitize_title( $attachment->post_mime_type );
				$thumbimg = wp_get_attachment_link( $attachment->ID, 'thumbnail-size', true );
				echo '<li class="' . $class . ' data-design-thumbnail">' . $thumbimg . '</li>';
			}
			
		}
	}
?>

El código anterior primero verifica que el tipo de publicación sea borrador de datos y que el estado de la publicación sea publicado. Dependiendo de lo que intente hacer, es posible que no necesite la primera condición. Luego, ejecutamos la consulta get_posts. Todo se explica por sí mismo allí. La clave que debemos resaltar es la función de exclusión. Esta línea garantiza que no se muestre la imagen seleccionada. Si elimina esta línea, verá la imagen que se muestra. Una vez que haya proporcionado todos los parámetros, solo especifique qué hacer cuando se extrae cada archivo adjunto. Extraemos el tipo de archivo adjunto para la variable de clase. Luego, la variable $ thumbimg simplemente usa wp_get_attachment_link para obtener la imagen con un tamaño de miniatura específico y también vincula la imagen a cada una de las páginas adjuntas. En el último paso simplemente lo repetimos.

Ejecutamos este código en un bucle con una llamada separada en una imagen seleccionada que hace referencia a la publicación individual. El resultado final se parecía a esto:

Cuadrícula adjunta

Cada imagen presentada sirvió como un álbum para identificar la imagen que puede ver. Las manchas grises se rellenaron con los archivos adjuntos para la publicación. Esperamos que esto ayude a aquellos que buscan impulsar WordPress más allá de una plataforma de blogs.