get_post_galleries_images возвращает пустой массив - PullRequest
0 голосов
/ 30 марта 2019

Я создаю собственную тему в Wordpress и хочу получить все галереи изображений, которые находятся в посте с заголовком 'aaa'.Я пытался это сделать:

<?php
 $post= get_page_by_title('aaa', OBJECT, 'post');

// Make sure the post has a gallery in it
if( $post )
   {
    // Retrieve the first gallery in the post
    $gallery =  get_post_galleries_images( $post->ID ); 
    echo '<ul>';
    if(empty($gallery))
        echo "Empty gallery $post->ID";
    // Loop through each image in each gallery
    foreach( $gallery as $image_url ) {
        echo '<li>' . '<img src="' . $image_url . '">' . '</li>';
    }
    echo '</ul>';



  }


?>

Но в результате получается

348 - это идентификатор сообщения 'aaa'.Это означает, что в посте 'aaa' есть галерея, но она пуста, что не соответствует действительности.Моя галерея содержит 5 изображений.

1 Ответ

0 голосов
/ 30 марта 2019

Я быстро это проверил, и стало ясно, что функция НЕ работает для галерей, созданных с помощью редактора блоков. Это работает для галерей, созданных с помощью старого классического редактора. Для него есть отчет об ошибках WP trac, но он пока не исправлен в ядре. https://core.trac.wordpress.org/ticket/43826.

Проверьте в своем phpmyadmin, они хранятся по-разному.

<p>[gallery ids="30,23,22"]</p>  

VS

<!-- wp:gallery {"ids":[34,32,27]} -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...