Cómo obtener imágenes incluidas en una publicación

14 jul 2011, 18:53:57
Vistas: 14.3K
Votos: 5

¿Es posible obtener las imágenes añadidas a una publicación de forma programática? Estoy trabajando en una plantilla personalizada (mi primera) y necesito mostrar las imágenes añadidas a una publicación de forma específica (la primera imagen como imagen de título y el resto de imágenes solo renderizadas en etiquetas img ocultas que se mostrarán mediante un lightbox).

¿Existe alguna función como get_post_attachments('type'=>'image') cuyo resultado pueda iterar en un bucle?

Gracias por tu ayuda

0
Todas las respuestas a la pregunta 3
1

Puedes usar get_posts() (Referencia en el Codex para obtener adjuntos de Posts).

<?php
$args = array( 
    'post_type' => 'attachment', 
    'post_mime_type' => 'image',
    'numberposts' => -1, 
    'post_status' => null, 
    'post_parent' => $post->ID 
); 
$attached_images = get_posts( $args );
?>
14 jul 2011 19:09:37
Comentarios

los dos estamos muy sincronizados hoy :)

mike23 mike23
14 jul 2011 19:11:23
1

Esto obtiene todas las imágenes adjuntas a una entrada:

$args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_mime_type' => 'image', 'post_parent' => $post->ID ); 
$attachments = get_posts( $args );
if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
    ...hacer algo
    }
}

También deberías 'echar un vistazo a wp_get_attachment_image()' así como las funciones relacionadas, te ayudarán a comenzar.

14 jul 2011 19:09:31
Comentarios

Increíble, de verdad. :)

Chip Bennett Chip Bennett
14 jul 2011 19:17:24
0

Ten en cuenta que el campo post_parent NO registra una imagen cuando no se sube y añade a una publicación al mismo tiempo.

Esto significa que cualquier imagen que ya esté cargada en la biblioteca, tendrá un valor de 0 (cero) en el post_parent cuando se adjunte a una publicación.

Esto no es útil. La única manera de obtener TODAS las imágenes adjuntas a una publicación es analizar el HTML y recuperar las etiquetas <img> del contenido.

21 mar 2023 23:40:52