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

Dal*_*ell 6 php wordpress

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

我已经研究过get_attached_media()WordPress 中的功能,但我不确定如何在获得媒体后使文件可下载。

Bhu*_*tel 12

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

使用下面的代码,您可以获取所有类型的媒体附件,如果您需要特定的媒体类型,那么您可以添加一个参数 'post_mime_type' => 'image'

<?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>';
                    }

                }
            }
        ?>
Run Code Online (Sandbox Code Playgroud)

另一种方法可以实现这一点:

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