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!

Jared
sumber
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;

Azizur Rahman
sumber
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.

somatik
sumber
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

stffn
sumber
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.

Hegel
sumber
3

Sepertinya belum diperbarui dalam beberapa saat, tetapi plugin Galeri Perpustakaan Media mungkin menjadi contoh yang baik untuk mulai melihat.

ZaMoose
sumber
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 );
jgraup
sumber