如何获取附件标题(Get_the_Excerpt给家长帖子摘录)?

时间:2011-10-28 作者:rogaroga

我使用以下代码在父帖子页面上显示附件:

        $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();
            }
        }
问题是摘录并没有得到附件的标题,而是帖子的摘录。

您知道如何显示附件的标题吗?非常感谢。

3 个回复
SO网友:Rarst

get_the_excerpt() 应该可以很好地获取标题。

您的问题是,它在全局变量中查找要处理的post,而在您的代码中,您没有使用您正在迭代的附件来设置它。

您需要使用setup_postdata() 让它发挥作用。

另一种方式是:

get_post_field(\'post_excerpt\', $attachment->ID);

SO网友:Hrimiuc Paul

你可以试试wp_prepare_attachment_for_js( $id ) 并返回附件所需的所有内容。

您将收到具有以下内容的阵列:

  • id
  • 标题
  • 文件名
  • url
  • 链接
  • 作者描述
  • 标题
  • 名称
  • 状态
  • 上传至日期
  • 修改
  • 菜单顺序图标的日期格式化时间编辑链接的大小>兼容性检查法典:wp_prepare_attachment_for_js()

SO网友:S kumar

这将解决您的问题

$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\']; 
 }
}

结束