2013-12-18 12 views
8

Ho caricato le immagini nella libreria multimediale di Wordpress.Ottieni una singola immagine specifica dalla libreria multimediale di Wordpress

Capisco che posso visualizzare l'immagine, quindi ottenere l'URL per quella specifica immagine e quindi utilizzare il tag html img per visualizzarlo nella pagina.

Questo tuttavia non ottiene il alt, title, caption e description dell'immagine.

Il img non è collegata a un campo post o una pagina e quindi immagino che non è possibile utilizzare la funzione Get Allegato ecc

Il motivo che voglio usare una funzione invece di scrivere un img codice html statico è in modo che siano memorizzati nella cache migliori e più facili da mantenere con tutti i dati per l'immagine è stata aggiornata nella libreria multimediale invece di dover modificare il codice html che non è idea per l'utente finale.

grazie in anticipo.

risposta

7

prima immagine get

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

e visualizzazione delle immagini dell'evento

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; 

} 

e utilizzare php fuoco

<?php echo display_images_from_media_library(); ?> 

o utilizzare questa funzione

<?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

Suppongo tu abbia un ID allegato? Hai provato a utilizzare le funzioni di attachement?

Dal Codex:

Si noti che gli elementi multimediali sono anche 'Messaggi' nel loro diritto e possono essere visualizzati come tali attraverso il Template WordPress Gerarchia. I temi possono utilizzare per eseguire il loop su elementi multimediali o creare gallerie.

le seguenti funzioni dovrebbe iniziare:

è possibile recuperare l'immagine src utilizzando: wp_get_attachment_image_src()

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

è possibile ottenere la didascalia dell'immagine usando: get_post_field()

get_post_field('post_excerpt', $attachmentID) 

puoi ottenere l'alt tag utilizzando: get_post_meta()

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

Questa risposta per me funziona meglio, grazie. –

+1

Ma dove si ottiene l'id effettivo dell'allegato? – Philip

+0

È possibile visualizzare l'ID allegato nell'URL nella barra del browser quando si sta visualizzando l'immagine nel catalogo multimediale. – Tamara

0

Prova al di sotto del codice:

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

<img src="<?php echo $img[0]; ?>" alt="image"> 
Problemi correlati