मीडिया गैलरी में सभी छवियाँ प्राप्त करें?


28

क्या मीडिया गैलरी में सभी छवियों के URL लाने का कोई तरीका है ?

मुझे लगता है कि यह एक वेबसाइट के लिए एक आसान तरीका होगा एक चित्र पृष्ठ है जो सिर्फ मीडिया गैलरी से सभी छवियों को खींचता है, बशर्ते यह केवल कुछ परिदृश्यों में आवश्यक होगा।

मुझे चित्र पृष्ठ बनाने के लिए निर्देशों की आवश्यकता नहीं है, बस सभी छवि URL कैसे खींचे। धन्यवाद!


क्या आप पूरे मीडिया लाइब्रेरी (यानी, साइट-वाइड) में सभी छवियों का मतलब है?
झामुमो

जवाबों:


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

सभी छवियाँ url अब में हैं $images;


उम .. ऐसा लग रहा है कि @somatic ने मुझे इसके लिए हराया है। ऊपर दिए गए उनके समाधान के विपरीत, मेरा केवल चित्र प्राप्त होगा।
अज़ीज़ुर रहमान

2
जाहिर है कि हमारे तरीके समान हैं ... और अज़ीज़ुर सही है, 'post_mime_type' को या तो क्वेरी में जोड़कर लौटे प्रकारों को संकीर्ण कर देगा। एक बात पर विचार करें: गाइड में अक्सर छवि के लिए पूर्ण यूआरएल शामिल होता है, लेकिन यह एक विश्वसनीय स्रोत नहीं है। यह स्थिर है, केवल एक बार जब पोस्ट बनाया जाता है, और वर्तमान साइट url और मीडिया फ़ोल्डर संरचना पर बनाया गया है। लेकिन वह फ़ोल्डर संरचना और डोमेन किसी बिंदु पर बदल सकता है, और फिर गाइड वास्तविक छवि URL नहीं है, बस एक रिकॉर्ड क्या यह तब बनाया गया था जब ...
दैहिक

1
यह उत्तर गलत है । इसे मीडिया लाइब्रेरी से चित्र नहीं मिलते हैं। इसमें पोस्ट के अंदर इस्तेमाल की गई इमेज मिलती हैं। अप्रयुक्त चित्र नहीं मिले हैं!
क्रिश्चियन

@ क्रिसियन - क्या यह गलत है? या मुझे 'अभी भी' गलत पूछना चाहिए? मुझे पता है कि मैं लगभग 2 साल बाद टिप्पणी कर रहा हूं, लेकिन मैंने WP 3.6 पर यह कोशिश की और मुझे ऐसी छवियां प्राप्त हो रही हैं, जिन्हें मैंने मीडिया लाइब्रेरी में बिना किसी पोस्ट के जोड़ दिया है: /
क्रिस केम्पेन

एक बेवकूफ सवाल हो सकता है, लेकिन मैं अब अलग छवि आकार कैसे प्राप्त करूंगा?
फ्रेडरिक विट्टे

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 को क्वेरी करें (न कि केवल पोस्ट्स से जुड़ी), उनके url को पकड़ो, उन सभी को $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' );
    }
?>

यह पोस्ट / पेज के लिए सभी अटैचमेंट को खींचता है। किसी पोस्ट में अधिक छवियां संलग्न करें, और इसे सूचीबद्ध किया जाएगा


5

ok y ने मीडिया लाइब्रेरी में सभी चित्र दिखाने के लिए इस कोड का उपयोग किया!

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

और यदि आप शो पजेशन के लिए विधि जानते हैं, तो कृपया जवाब दें।



1

यह सिर्फ इस का एक छोटा संस्करण है जवाब का उपयोग कर 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 );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.