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
Comentarios
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);

Rarst
100K
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()

Paul
51
26 ago 2014 15:40:28
0
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'];
}
}

S kumar
51
30 nov 2011 21:46:54
Preguntas relacionadas