2013-12-18 15 views
8

Przesłałem obrazy do Biblioteki mediów Wordpress.Pobierz pojedynczy obraz z Biblioteki mediów Wordpress

Rozumiem, że mogę wyświetlić obraz, a następnie uzyskać adres URL tego konkretnego obrazu, a następnie użyć znacznika html img, aby wyświetlić go na stronie.

To jednak nie powoduje uzyskania obrazu alt, title, caption ani description.

img nie jest podłączony do pola postu lub strony a więc zakładam, że nie można korzystać z funkcji Get Attachment itp

Powodem chcę użyć funkcji zamiast wypisywanie statyczny img kod HTML jest dzięki temu są lepiej buforowane i łatwiejsze w utrzymaniu, a wszystkie dane do obrazu zostały zaktualizowane w Bibliotece multimediów, zamiast edytować kod HTML, który nie jest dla użytkownika ostateczny pomysłem.

z góry dziękuję.

Odpowiedz

7

najpierw uzyskać obraz

function get_images_from_media_library() { 
    $args = array(
     'post_type' => 'attachment', 
     'post_mime_type' =>'image', 
     'post_status' => 'inherit', 
     'posts_per_page' => 5, 
     'orderby' => 'rand' 
    ); 
    $query_images = new WP_Query($args); 
    $images = array(); 
    foreach ($query_images->posts as $image) { 
     $images[]= $image->guid; 
    } 
    return $images; 
} 

i wyświetlanie obrazu wydarzenie

function display_images_from_media_library() { 

    $imgs = get_images_from_media_library(); 
    $html = '<div id="media-gallery">'; 

    foreach($imgs as $img) { 

     $html .= '<img src="' . $img . '" alt="" />'; 

    } 

    $html .= '</div>'; 

    return $html; 

} 

i używać php ogień

<?php echo display_images_from_media_library(); ?> 

lub skorzystać z tej funkcji

<?php 

if ($attachments = get_children(array(
'post_type' => 'attachment', 
'post_mime_type'=>'image', 
'numberposts' => 1, 
'post_status' => null, 
'post_parent' => $post->ID 
))); 
foreach ($attachments as $attachment) { 
echo wp_get_attachment_link($attachment->ID, '' , true, false, 'Link to image attachment'); 
} 

?> 
13

Zakładam, że masz identyfikator załącznika? Czy próbowałeś używać funkcji attachement?

Z kodeksu:

Należy pamiętać, że elementy multimedialne są też „Wiadomości” w sobie i może być wyświetlane jako takie przez WordPress Szablon hierarchii. Motywy mogą korzystać z tej funkcji, aby zapętlić elementy multimedialne lub utworzyć galerie.

następujące funkcje powinno Ci zacząć:

można pobrać obraz src używając: wp_get_attachment_image_src()

$img= wp_get_attachment_image_src($attachmentID, $imageSizeName); 

można uzyskać podpis obrazu przy użyciu: get_post_field()

get_post_field('post_excerpt', $attachmentID) 

możesz dostać alt tag przy użyciu: get_post_meta()

get_post_meta($attachmentID, '_wp_attachment_image_alt', true); 
+0

Odpowiedź ta działa na mnie najlepiej, dziękuję. –

+1

Ale skąd masz rzeczywisty identyfikator załącznika? – Philip

+0

Możesz zobaczyć identyfikator załącznika w adresie URL na pasku przeglądarki podczas przeglądania obrazu w bibliotece multimediów. – Tamara

0

Spróbuj poniżej kodu:

<?php 
     $attachmentID = 1875; 
     $imageSizeName = "thumbnail"; 
     $img = wp_get_attachment_image_src($attachmentID, $imageSizeName); 
     //print_r($img); 
?> 

<img src="<?php echo $img[0]; ?>" alt="image"> 
Powiązane problemy