问题描述

有没有办法获取媒体库中所有图像的 URL?

我认为,这将是一个简单的方法,一个网站有一个图片页面,只是从媒体画廊拉,所有的图像,只允许在某些情况下,必要的。

我不需要如何创建图片页面的说明,只是如何拉取所有的图片网址。谢谢!

最佳解决方案

$query_images_args = array(
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'post_status'    => 'inherit',
    'posts_per_page' => - 1,
);

$query_images = new WP_Query( $query_images_args );

$images = array();
foreach ( $query_images->posts as $image ) {
    $images[] = wp_get_attachment_url( $image->ID );
}

所有的图像 url 现在在 $images;

次佳解决方案

$media_query = new WP_Query(
    array(
        'post_type' => 'attachment',
        'post_status' => 'inherit',
        'posts_per_page' => -1,
    )
);
$list = array();
foreach ($media_query->posts as $post) {
    $list[] = wp_get_attachment_url($post->ID);
}
// do something with $list here;

查询所有媒体库项目的数据库 (不只是附加到帖子的数据库),获取其 url,将其全部转储到 $list 数组中。

第三种解决方案

<?php
    $attachments = get_children( array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' =>'image') );
    foreach ( $attachments as $attachment_id => $attachment ) {
            echo wp_get_attachment_image( $attachment_id, 'medium' );
    }
?>

这会拉一个帖子/页面的所有附件。附加更多图像到一个帖子,它将被列出

第四种方案

好的,使用这个代码显示媒体库中的所有图像!

$args = array(
    'post_type' => 'attachment',
    'post_status' => 'published',
    'posts_per_page' =>25,
    'post_parent' => 210, // Post-> ID;
    'numberposts' => null,
);

$attachments = get_posts($args);

$post_count = count ($attachments);

if ($attachments) {
    foreach ($attachments as $attachment) {
    echo "<div class="post photo col3">";
        $url = get_attachment_link($attachment->ID);// extraigo la _posturl del attachmnet
        $img = wp_get_attachment_url($attachment->ID);
        $title = get_the_title($attachment->post_parent);//extraigo titulo
        echo '<a href="'.$url.'"><img title="'.$title.'" src="'.get_bloginfo('template_url').'/timthumb.php?src='.$img.'&w=350&h=500&zc=3"></a>';
        echo "</div>";
    }
}

如果您知道显示分页的方法,请回答。

第五种方案

它看起来好像有一段时间没有更新,但 Media Library Gallery 插件可能是一个很好的例子,开始看。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。