2013-12-18 14 views
8

Tôi đã tải hình ảnh lên Thư viện phương tiện Wordpress.Nhận một hình ảnh cụ thể từ Thư viện phương tiện Wordpress

Tôi hiểu rằng tôi có thể xem hình ảnh sau đó nhận URL cho hình ảnh cụ thể đó và sau đó sử dụng thẻ html img để hiển thị điều này trên trang.

Tuy nhiên, không có các hình ảnh alt, title, captiondescription của hình ảnh.

Các img không được gắn vào một lĩnh vực đường bưu điện hoặc trang và do đó, tôi giả sử bạn không thể sử dụng chức năng Nhận tập tin đính kèm, vv

Lý do tôi muốn sử dụng một chức năng thay vì viết ra một tĩnh img mã html là để chúng được lưu trữ tốt hơn và dễ dàng hơn để duy trì với tất cả dữ liệu cho hình ảnh được cập nhật trong Thư viện phương tiện thay vì phải chỉnh sửa mã html mà không phải là ý tưởng cho người dùng cuối.

cảm ơn bạn trước.

Trả lời

7

đầu tiên get ảnh

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

và hiển thị hình ảnh sự kiện

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; 

} 

và sử dụng php lửa

<?php echo display_images_from_media_library(); ?> 

hoặc sử dụng chức năng này

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

Tôi cho rằng bạn có ID tệp đính kèm? Bạn đã thử sử dụng chức năng đính kèm chưa?

Từ codex:

Lưu ý rằng mục phương tiện truyền thông cũng là 'bài' trong quyền riêng của họ và có thể được hiển thị như vậy thông qua WordPress Template Hierarchy. Chủ đề có thể tận dụng điều này để lặp qua các mục phương tiện hoặc tạo phòng trưng bày.

Các chức năng sau đây sẽ giúp bạn bắt đầu:

bạn có thể lấy hình ảnh src sử dụng: wp_get_attachment_image_src()

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

bạn có thể nhận được chú thích hình ảnh sử dụng: get_post_field()

get_post_field('post_excerpt', $attachmentID) 

bạn có thể nhận được alt thẻ sử dụng: get_post_meta()

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

Câu trả lời này làm việc cho tôi tốt nhất, cảm ơn bạn. –

+1

Nhưng bạn nhận được id thực sự của tệp đính kèm ở đâu? – Philip

+0

Bạn có thể xem ID tệp đính kèm trong URL trong thanh trình duyệt khi bạn đang xem hình ảnh trong thư viện phương tiện. – Tamara

0

Vui lòng thử xuống dưới mã:

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

<img src="<?php echo $img[0]; ?>" alt="image"> 
Các vấn đề liên quan