如何获取wordpress帖子的所有附件?

时间:2017-03-21 03:17:33

标签: php wordpress

我目前正在尝试获取附加到WordPress上每个帖子的所有附件,并允许用户下载附件。

我已经查看了WordPress中的get_attached_media()函数,但是我不知道如何在获得媒体后将文件下载。

1 个答案:

答案 0 :(得分:1)

试试这段代码可能会对您有所帮助:

使用以下代码,如果您需要特定媒体类型,则可以获取所有类型的媒体附件,然后您可以再添加一个参数'post_mime_type'=> '图像'

<?php if ( $post->post_type == 'post' && $post->post_status == 'publish' ) {
        $attachments = get_posts( array(
            'post_type' => 'attachment',
            'posts_per_page' => -1,
            'post_parent' => $post->ID,
            'exclude'     => get_post_thumbnail_id()
        ) );

                if ( $attachments ) {
                    foreach ( $attachments as $attachment ) {
                        $class = "post-attachment mime-" . sanitize_title( $attachment->post_mime_type );
                        $thumbimg = wp_get_attachment_link( $attachment->ID, 'thumbnail-size', true );
                        echo '<li class="' . $class . ' data-design-thumbnail">' . $thumbimg . '</li>';
                    }

                }
            }
        ?>

另一种方法可以实现这一目标:

$media = get_attached_media('image', get_the_ID()); // Get image attachment(s) to the current Post
print_r($media);