问题描述
有没有办法获取媒体库中所有图像的 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。