Получите одно конкретное изображение из медиа-библиотеки Wordpress

Я загрузил изображения в медиа-библиотеку Wordpress.

Я понимаю, что я могу просмотреть изображение am, а затем получить URL-адрес для этого конкретного изображения, а затем использовать img HTML-тег для отображения на странице.

это не alt, title, caption и description изображения.

на img не прикреплен к сообщению или полю страницы, поэтому я предполагаю, что вы не можете использовать функцию Get Attachment и т. д.

причина, по которой я хочу использовать функция вместо статического img HTML-код, так что они сохраняются лучше и проще поддерживать со всеми данными для изображения были обновлены в медиа библиотеке вместо того, чтобы редактировать HTML код, который не является идеи для конечного потребителя.

спасибо заранее.

3 ответов


сначала получить изображения

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

и отображать изображения

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;

}

и используйте php fire event

<?php echo display_images_from_media_library(); ?>

или используйте эту функцию

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

?>

Я полагаю, у вас есть идентификатор вложения? Вы пробовали использовать функции присоединения?

из кодекса:

обратите внимание, что медиа-элементы также являются "сообщениями" в своем собственном праве и могут быть отображается как таковой через иерархию шаблонов WordPress. Темы могут используйте это для перебора медиаэлементов или создания галерей.

следующие функции должны начать работу:

вы можете получить изображение src с помощью: wp_get_attachment_image_src ()

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

вы можете получить Заголовок изображения, используя:get_post_field()

get_post_field('post_excerpt', $attachmentID)

вы можете получить тег alt с помощью: get_post_meta ()

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

пожалуйста, попробуйте ниже код:

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

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