Medya Galerisi'ndeki Tüm Görüntüleri Al


28

Medya galerisinde TÜM resimlerin URL'lerini almanın bir yolu var mı ?

Bunun bir web sitesinin, tüm resimleri medya galerisinden çeken, yalnızca belirli senaryolarda gerekli olacağı düşünülerek bir Resimler sayfasına sahip olmasının kolay bir yol olacağını düşünüyorum.

Bir Resimler sayfasının nasıl oluşturulacağı, sadece tüm resim URL'lerinin nasıl çekileceği ile ilgili talimatlara ihtiyacım yok. Teşekkürler!


Medya kütüphanesindeki tüm görüntüleri mi kastediyorsunuz?
ZaMo

Yanıtlar:


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

Tüm resimler url şimdi $images;


um .. @somatic beni yenmiş gibi görünüyor. Yukarıdaki çözümünün tersine, benimki yalnızca görüntüleri elde edecek
Azizur Rahman

2
Açıkçası bizim yöntemlerimiz benzer ... ve azizur haklı, 'post_mime_type' sorgusuna her iki sorguya eklenmesi döndürülen türleri daraltacaktır. Göz önünde bulundurulması gereken bir şey: kılavuz genellikle resme tam URL adresini içerir, ancak güvenilir bir kaynak değildir. Statiktir, yayın oluşturulduğunda yalnızca bir kez üretilir ve geçerli site URL'sine ve medya klasörü yapısına dayanır. Ancak bu klasör yapısı ve etki alanı bir noktada değişebilir ve daha sonra kılavuz artık gerçek resim URL'si değildir, yalnızca oluşturulduğunda ne olduğunun bir kaydıdır ...
somatik

1
Bu cevap yanlış . Media Library'den görüntü alamaz. Yazıların içinde kullanılan görüntüleri alır. Kullanılmayan görüntüler bulunamadı!
Christian,

@Hristiyan - yanlış mı? Yoksa 'hala' yanlış mı sormalıyım? Neredeyse 2 yıl sonra yorum yaptığımı anladım, ancak bunu WP 3.6'da denedim ve herhangi bir yazıya eklemeden medya kitaplığına eklediğim görüntüleri alıyorum: /
Chris Kempen

Aptal bir soru olabilir, ama şimdi farklı resim boyutlarını nasıl alabilirim?
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;

Db'yi tüm medya kütüphanesi öğeleri için sorgula (sadece mesajlara ekli olanlar için değil), url'lerini al, dizilere dök $list.


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

Bu, bir gönderi / sayfa için tüm ekleri çeker. Bir gönderiye daha fazla resim eklediğinizde, listelenir


5

Tamam, bu kodu TÜM görüntüleri medya kitaplığında göstermek için kullandı

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

ve sayfa numaralandırma gösterme yöntemini biliyorsanız lütfen cevaplayın.



1

Bu, ve kullanarak bu cevabın sadece kısa bir versiyonudur .get_posts()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 );
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.