你如何获得贴在帖子上的所有图片的URL?

时间:2015-03-01 作者:Marco

我到处找,似乎找不到。

我正在尝试输出一个XML提要,其中包含从自定义帖子类型附加到帖子的所有图像:

</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>
我使用的是wp\\u get\\u attachment\\u url,但它只返回一个图像(每个帖子不止一个)

        <?php echo wp_get_attachment_url( get_post_thumbnail_id($post->ID)); ?>
The<Picture> 是一个重复元素,因此当附加了另一个图像时,它应该启动一个新树。

任何帮助都将是惊人的!

2 个回复
最合适的回答,由SO网友:Jason Murray 整理而成

您需要循环浏览post循环中的附件,将您发布的代码部分替换为以下内容(从some other code I found 与类似问题相关,但无法测试):

</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>
编辑-根据asker编辑进行更新。

SO网友:yawar

在post循环中使用此代码。

$attimages = get_attached_media(\'image\', $post->ID);
foreach ($attimages as $image) {
    echo wp_get_attachment_url($image->ID).\'<br>\';
}
此代码将返回所有附加的图像url

结束

相关推荐

Query posts distinct authors

我试图从一个随机排序的类别中获取帖子,但要确保作者不会重复自己。因此,我提出了这个问题,它按预期工作,但作者有可能会在这4篇文章中重复。那么,有没有办法确保它不会发生?我曾考虑使用$wpdb,但我希望有一个更直接的解决方案。$args = array ( \'post_type\' => \'post\', \'post_status\' => \'publish\', \'category_name\'