Dapatkan Semua Gambar di Galeri Media?


28

Apakah ada cara untuk mengambil URL SEMUA gambar di galeri media?

Saya pikir ini akan menjadi cara mudah bagi sebuah situs web untuk memiliki halaman Gambar yang hanya menarik semua gambar dari galeri media, mengingat itu hanya akan diperlukan dalam skenario tertentu.

Saya tidak memerlukan instruksi tentang cara membuat halaman Gambar, hanya cara menarik semua URL gambar. Terima kasih!


Apakah maksud Anda semua gambar di seluruh perpustakaan Media (mis., Situs-lebar)?
ZaMoose

Jawaban:


50
$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 );
}

Semua url gambar sekarang ada di $images;


um .. sepertinya @somatic telah mengalahkan saya untuk itu. Tidak seperti solusinya di atas, milik saya hanya akan mendapatkan gambar.
Azizur Rahman

2
jelas metode kami mirip ... dan azizur benar, menambahkan 'post_mime_type' ke salah satu kueri akan mempersempit jenis yang dikembalikan. Satu hal yang perlu dipertimbangkan: panduan sering kali berisi url lengkap ke gambar, tetapi itu bukan sumber yang dapat diandalkan. Ini statis, dihasilkan hanya sekali ketika posting dibuat, dan dibangun di atas url situs saat ini dan struktur folder media. Tapi struktur folder dan domain itu bisa berubah di beberapa titik, dan kemudian panduannya bukan URL gambar yang sebenarnya lagi, hanya catatan tentang apa itu ketika dibuat ...
somatik

1
Jawaban ini SALAH . Itu tidak mendapatkan gambar dari Perpustakaan Media. Ini membuat gambar digunakan di dalam tulisan. Gambar yang tidak digunakan tidak ditemukan!
Christian

@Christian - apakah itu salah? Atau haruskah saya bertanya 'masih' salah? Saya menyadari saya berkomentar hampir 2 tahun kemudian, tetapi saya mencoba ini di WP 3.6 dan saya menerima gambar yang baru saja saya tambahkan ke perpustakaan media tanpa menambahkannya ke posting: /
Chris Kempen

Mungkin menjadi pertanyaan bodoh, tetapi bagaimana saya sekarang mendapatkan ukuran gambar yang berbeda?
Frederik Witte

17
$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;

Minta db untuk semua item perpustakaan media (bukan hanya yang terlampir pada posting), ambil url mereka, buang semuanya dalam $listarray.


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

Ini menarik semua lampiran untuk posting / halaman. Lampirkan lebih banyak gambar ke pos, dan akan terdaftar


5

ok y menggunakan kode ini untuk menunjukkan SEMUA gambar di media Library!

$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>";
    }   
}

dan jika Anda tahu metode untuk menunjukkan pagination, harap jawab.



1

Ini hanya versi yang lebih pendek dari jawaban ini menggunakan get_posts()dan array_map().

$image_ids = get_posts(
    array(
        'post_type'      => 'attachment',
        'post_mime_type' => 'image',
        'post_status'    => 'inherit',
        'posts_per_page' => - 1,
        'fields'         => 'ids',
    ) );

$images = array_map( "wp_get_attachment_url", $image_ids );
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.