Cum să obții legenda atașamentului (get_the_excerpt returnează rezumatul articolului părinte) ?

28 oct. 2011, 20:57:01
Vizualizări: 15K
Voturi: 4

Afisez atașamentele pe pagina articolului părinte cu acest cod:

        $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();
            }
        }

Problema este că funcția get_the_excerpt() nu returnează legenda atașamentului ci rezumatul articolului părinte.

Știi cum să afișez legendele atașamentelor? Mulțumesc

2
Comentarii

răspuns automat. $attachments_caption[] = $attachment->post_excerpt; funcționează

rogaroga rogaroga
28 oct. 2011 21:19:27

Postează asta ca un răspuns, nu ca un comentariu la întrebarea ta - și apoi asigură-te că revii mai târziu să accepți răspunsul ca fiind corect.

Chip Bennett Chip Bennett
28 oct. 2011 22:23:40
Toate răspunsurile la întrebare 3
0

get_the_excerpt() ar trebui să funcționeze corect pentru obținerea descrierii.

Problema ta este că această funcție caută postarea pentru procesare în variabilele globale, iar în codul tău nu le configurezi corect pentru atașamentele prin care iterezi.

Trebuie să folosești setup_postdata() pentru a funcționa corect.

O altă metodă ar fi ceva de genul:

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

Poți încerca wp_prepare_attachment_for_js( $id ) și să returnezi tot ce ai nevoie pentru atașament.

Vei primi un array cu următoarele:

  • id
  • title
  • filename
  • url
  • link
  • alt
  • author
  • description
  • caption
  • name
  • status
  • uploadedTo
  • date
  • modified
  • menuOrder
  • mime
  • type
  • subtype
  • icon
  • dateFormatted
  • nonces
  • editLink
  • sizes
  • width
  • height
  • fileLength
  • compat

Verifică în Codex: wp_prepare_attachment_for_js()

26 aug. 2014 15:40:28
Comentarii

Bine ați venit pe WPSE. Răspunsurile care conțin doar linkuri nu sunt bine primite. Vă rugăm să postați cod/exemple/descriere relevante din link și să păstrați linkul pentru informații suplimentare și creditarea autorului.

Pieter Goosen Pieter Goosen
26 aug. 2014 15:52:04
0
-1

Aceasta va rezolva problema ta

$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