it-swarm.com.de

Wie erhält man alle URLs von Bildern, die an einen Beitrag angehängt sind?

Ich habe hoch und niedrig gesucht und kann es anscheinend nicht verstehen.

Ich versuche, einen XML-Feed mit allen an einen Beitrag angehängten Bildern eines benutzerdefinierten Beitragstyps auszugeben:

</BasicDetails>
<Pictures>
 <Picture>
  <PictureUrl><?php echo wp_get_attachment_url( get_post_thumbnail_id($post->ID)); ?></PictureUrl>
 <Caption></Caption>
 </Picture><Picture>
 <PictureUrl></PictureUrl>
 <Caption></Caption>
</Picture>
</Pictures>

Ich verwende wp_get_attachment_url, aber es wird nur ein Bild zurückgegeben (es gibt mehr als ein Bild pro Beitrag)

        <?php echo wp_get_attachment_url( get_post_thumbnail_id($post->ID)); ?>

Der <Picture> ist ein sich wiederholendes Element, daher sollte ein neuer Baum beginnen, wenn ein anderes Bild angehängt ist.

Jede Hilfe wäre unglaublich!

1
Marco

Sie müssen die Anhänge in Ihrer Post-Schleife durchlaufen und den von Ihnen geposteten Codeabschnitt durch diesen ersetzen (fügen Sie dies aus einem anderen Code, den ich gefunden habe zusammen, der sich auf ein ähnliches Problem bezieht, es aber nicht testen konnte):

</BasicDetails>
<?php  $args = array(
            'post_parent'    => $post->ID,
            'post_type'      => 'attachment',
            'numberposts'    => -1, // show all
            'post_status'    => 'any',
            'post_mime_type' => 'image',
            'orderby'        => 'menu_order',
            'order'           => 'ASC'
       );

$images = get_posts($args);
if($images) { ?>
<Pictures>
  <?php foreach($images as $image) { ?>
   <Picture>
    <PictureUrl><?php echo wp_get_attachment_url($image->ID); ?></PictureUrl>
     <Caption><?php echo $image->post_excerpt; ?></Caption>
  </Picture>
  <?php } ?>
</Pictures>
<?php } ?>
<Agent>

BEARBEITEN - Aktualisiert auf der Grundlage von Bearbeitungen durch Fragesteller.

1
Jason Murray