Obtener descripción de imagen

6 dic 2013, 06:29:26
Vistas: 39.5K
Votos: 19

Estoy tratando de hacer una publicación dividida en 2 columnas. La primera columna a la izquierda contendrá cualquier imagen dentro de la publicación, y la segunda columna a la derecha tendrá the_content() (excluyendo las imágenes).

Hasta ahora no tengo problemas para obtener todas las imágenes. Sin embargo, no logro obtener la leyenda, el título o la descripción de la imagen.

Este es mi código:

<?php if ( $images = get_posts(array(
        'post_parent' => $post->ID,
        'post_type' => 'attachment',
        'numberposts' => -1,
        'orderby'        => 'title',
        'order'           => 'ASC',
        'post_mime_type' => 'image',
    )))
    {
        foreach( $images as $image ) {
            $attachmenturl = wp_get_attachment_url($image->ID);
            $attachmentimage = wp_get_attachment_image_src( $image->ID, full );
            $imageDescription = apply_filters( 'the_description' , $image->post_content );
            $imageTitle = apply_filters( 'the_title' , $image->post_title );
            $i++;
            if (!empty($imageTitle)) {
                echo '<div class="client-img-item ci-'.$count++.'"><img src="' . $attachmentimage[0] . '" alt="'.$imageTitle.'"  /> <div class="CAPS client-img-caption"><span class="red arrow-lrg">»</span> '.$imageDescription.'</div></div><div class="sml-dots"></div>';
} else { echo '<img src="' . $attachmentimage[0] . '" alt="" />' ; }
        }
    } else {
        echo 'No se encontró ninguna imagen';
    }?>
1
Comentarios

A partir de WordPress 3.5.0, wp_prepare_attachment_for_js( $attachment ) hará el trabajo :)

Sven Sven
26 mar 2018 11:59:21
Todas las respuestas a la pregunta 1
1
28
function wp_get_attachment( $attachment_id ) {

$attachment = get_post( $attachment_id );
return array(
    'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ), // Texto alternativo de la imagen
    'caption' => $attachment->post_excerpt, // Pie de foto
    'description' => $attachment->post_content, // Descripción
    'href' => get_permalink( $attachment->ID ), // Enlace permanente
    'src' => $attachment->guid, // URL de la imagen
    'title' => $attachment->post_title // Título
);
}

Fuente

Como sporkme explica más adelante en el hilo, esto se coloca en tu archivo functions.php y luego puede llamarse con $attachment_meta = wp_get_attachment(tu_id_de_adjunto);.

6 dic 2013 19:02:05
Comentarios

proviene de: //https://gist.github.com/hullen/5443218 ????

menardmam menardmam
21 nov 2015 17:12:18