получить галерею изображений из расширенного редактора пользовательских полей

Я создал мета-бокс с помощью редактора расширенное настраиваемое поле плагин

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

Но при получении данных галереи.

$gallery = get_post_meta($post->ID, 'gallery', true);
echo $gallery;

это отображает


Как правило, данные галереи могут быть получены как

$galleries = get_post_gallery_images( get_the_ID() );

Но это, похоже, не работает, если я использую мета-поле для сохранения галереи.

Есть ли WordPress способ получить изображения галереи, просмотреть их и отобразить это изображение в лайтбоксе, или я должен попробовать любой другой метод?

0

Решение

Во-первых, я предполагаю, что Вы поместили «» этот короткий код в поле meta, поэтому

$ gallery = get_post_meta ($ post-> ID, ‘gallery’, true);
echo $ gallery;

Вернуть

могу попробовать это

$ gallery = get_post_meta ($ post-> ID, ‘gallery’, true);
echo do_shortcode ($ gallery);

А также

$ galleries = get_post_gallery_images (get_the_ID ());

Возвращает список элементов изображения с источниками загрузки изображений.

0

Другие решения

Это сделал трюк

<?php
$gallery = get_post_meta($post->ID, 'gallery', true);

preg_match('/\/', $gallery, $ids);
$images_id = explode(",", $ids[1]);
if ($images_id[0] != "") {
if (is_array($images_id) || is_object($images_id)) {
foreach ($images_id as $image) {
$image_url = wp_get_attachment_image_src($image, 'banner');
?>
<a href="<?php echo $image_url[0]; ?>">
<?php echo wp_get_attachment_image($image, 'destinatoin', 'false', array("class" => "img-responsive")); ?>
</a>
<?php }
}
} ?>

Что должно быть сделано, это

preg_match('/\/', $gallery, $ids);
$images_id = explode(",", $ids[1]);

который создаст массив идентификаторов, то я могу перебрать изображения с помощью

   foreach ($images_id as $image) {
$image_url = wp_get_attachment_image_src($image, 'banner');
?>
<a href="<?php echo $image_url[0]; ?>">
<?php echo wp_get_attachment_image($image, 'destinatoin', 'false', array("class" => "img-responsive")); ?>
</a>
<?php }
0

Это невозможно, потому что я думаю, что вы не вставляете короткий код галереи в редактор сообщений,
поэтому $ galleries = get_post_gallery_images (get_the_ID ()); прийти ни с чем.

Итак, в поле мета-поля вставьте только идентификаторы изображений,
лайк

«53,54,55,56»

а также

$ gallery = get_post_meta ($ post-> ID, ‘gallery’, true);

Переменная $ gallery вернет строку, разделенную запятой, а затем взорвет ее
$ gallery_image_array = взорваться ($ gallery);

Тогда $ gallery_image_array будет иметь идентификаторы изображений, так что вы можете просмотреть их, и вы можете получить эти изображения с помощью wp_get_attachment_image_src

и распечатай как хочешь 🙂

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector