Cómo obtener el título de un adjunto (get_the_excerpt devuelve el extracto del post padre)

28 oct 2011, 20:57:01
Vistas: 15K
Votos: 4

Estoy mostrando los adjuntos en la página del post padre con este código:

        $args = array('post_type' => 'attachment', 'post_mime_type' => 'image', 'order'=> 'ASC', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ); 
        $attachments = get_posts($args);
        if ($attachments) {
            foreach ( $attachments as $attachment ) {
            $attachments_url[] = $my_image;
            $attachments_caption[] = get_the_excerpt();
            }
        }

El problema es que el extracto no obtiene el título del adjunto sino el extracto del post.

¿Sabes cómo mostrar los títulos de los adjuntos? Gracias

2
Comentarios

respuesta automática. $attachments_caption[] = $attachment->post_excerpt; está funcionando

rogaroga rogaroga
28 oct 2011 21:19:27

Publica eso como una respuesta, en lugar de como un comentario a tu pregunta, y luego asegúrate de volver más tarde y aceptar la respuesta como correcta.

Chip Bennett Chip Bennett
28 oct 2011 22:23:40
Todas las respuestas a la pregunta 3
0

get_the_excerpt() debería funcionar bien para obtener el extracto.

Tu problema es que busca la entrada para procesar en variables globales y en tu código no estás configurándolo con los archivos adjuntos que estás iterando.

Necesitas usar setup_postdata() para que funcione.

Otra forma sería algo como:

get_post_field('post_excerpt', $attachment->ID);
30 oct 2011 23:14:09
1

Podrías probar wp_prepare_attachment_for_js( $id ) y devolver todo lo que necesites para el adjunto.

Recibirás un array con esto:

  • id
  • title (título)
  • filename (nombre del archivo)
  • url
  • link (enlace)
  • alt (texto alternativo)
  • author (autor)
  • description (descripción)
  • caption (leyenda)
  • name (nombre)
  • status (estado)
  • uploadedTo (subido a)
  • date (fecha)
  • modified (modificado)
  • menuOrder (orden del menú)
  • mime
  • type (tipo)
  • subtype (subtipo)
  • icon (ícono)
  • dateFormatted (fecha formateada)
  • nonces
  • editLink (enlace de edición)
  • sizes (tamaños)
  • width (ancho)
  • height (altura)
  • fileLength (longitud del archivo)
  • compat

Consulta el Codex: wp_prepare_attachment_for_js()

26 ago 2014 15:40:28
Comentarios

Bienvenido a WPSE. Las respuestas que solo incluyen enlaces no son bien recibidas. Por favor, publica algún código/ejemplos/descripción relevante del enlace, y mantén el enlace para información adicional y crédito al autor

Pieter Goosen Pieter Goosen
26 ago 2014 15:52:04
0
-1

Esto resolverá tu problema

$attachments = attachments_get_attachments();
$total_attachments = count( $attachments );
if( $total_attachments ){
 for( $i=0; $i<$total_attachments; $i++ ){
     echo $attachments[$i]['title']; 
     echo $attachments[$i]['caption'];
     echo $attachments[$i]['id'];
     echo $attachments[$i]['location'];
     echo $attachments[$i]['mime'];
     echo $attachments[$i]['filesize']; 
 }
}
30 nov 2011 21:46:54