Intereting Posts
Можно ли загружать несколько изображений через вкладку «Библиотека мультимедиа» в Thickbox, которую я создал? Улучшение этого кода выбора цвета ссылки Закажите три пользовательских поля (Ymd), затем разделите их на отдельные разделы Запрос БД по индексу dosen't execute Добавление элементов в меню динамически wpdb-> get_var всегда возвращает 0 Список all-childpages на родительской странице И список дочерних страниц на самой дочерней странице, но не текущий? Почему эта функция поиска javascript в WordPress Admin не работает? Проверьте, имеет ли почта определенный тип сообщения is_taxonomy устарела. Какая альтернатива? Как изменить частоту архива медиафайла в папке uploads для wordpress blog Переименуйте имя категории. Перепишите URL-адрес перед разными путями сообщений. Пользовательские параметры главного экрана панели мониторинга echo do_shortcode не работает над шаблоном темы Нужно ли сохранять исходную страницу при переадресации 301 на новую?

Как получить название случайных изображений из медиа-библиотеки?

Я показываю случайные изображения на моей домашней странице. Моя проблема заключается в том, что я не могу получить заголовок изображений, которые будут отображаться в лайтбокс.

Вот мои коды.

Коды, которые получают изображения из медиа-библиотеки

function get_images_from_media_library() { $args = array( 'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'posts_per_page' => 6, '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 class="no-gutter">'; foreach($imgs as $img) { $html .= '<div class="col-lg-4 col-sm-6 photo-gallery"> <a class="portfolio-box" data-lightbox="out-of-the-box" data-title="' . $attachment->post_title . '" href="' . $img . '"><img src="' . $img . '" alt="" /> <div class="portfolio-box-caption"> <div class="portfolio-box-caption-content"> <div class="project-category text-faded"> View <i class="fa fa-search-plus"></i> </div> </div> </div> </a></div>'; } $html .= '</div>'; return $html; } ?> 

Надеюсь, ты поможешь мне.

Solutions Collecting From Web of "Как получить название случайных изображений из медиа-библиотеки?"

Ваша первая функция get_images_from_media_library () возвращает только изображения guid, я бы предложил продлить ее, возвращая все изображения:

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

Затем, в вашей второй функции, чтобы получить то, что вам нужно (руководство и название), как это:

 function display_images_from_media_library() { $imgs = get_images_from_media_library(); $html = '<div class="no-gutter">'; foreach($imgs as $img) { $html .= '<div class="col-lg-4 col-sm-6 photo-gallery"> <a class="portfolio-box" data-lightbox="out-of-the-box" data-title="' . esc_attr($img->post_title) . '" href="' . $img->guid . '"><img src="' . $img->guid . '" alt="" /> <div class="portfolio-box-caption"> <div class="portfolio-box-caption-content"> <div class="project-category text-faded"> View <i class="fa fa-search-plus"></i> </div> </div> </div> </a> </div>'; } $html .= '</div>'; return $html; } 

Не забывайте избегать HTML и цитаты с esc_attr () при отправке текстового значения в атрибут HTML (например, «title», «data-title» …), чтобы избежать конфликта котировок или HTML-разметки, отображаемых как обычный текст;)

Ура!