Функция GET_POST_GALLERY() в WordPress 3.6.0: использование и примеры

Функция GET_POST_GALLERY() │ WP 3.6.0

Эта функция позволяет проверить контент определённого поста на наличие галереи и, если она есть, вернуть первую найденную.

Используемые функции

  • get_post_galleries() — для получения галерей из поста.
  • Используется в: get_post_gallery_images() — для получения изображений из галереи.

Очередь и производительность

  • Время выполнения 1 раза: 0.014229 сек (очень медленно).
  • Время выполнения 50000 раз: 612.03 сек (очень медленно).
  • Использует PHP версии 7.0.4 и WordPress версии 4.4.2.

Хуки функции

  • get_post_gallery — позволяет модифицировать данные галереи перед их возвратом.

Возвращаемое значение

Функция возвращает строку или массив. В массиве содержатся данные о галерее и ссылки на изображения, которые были извлечены из шорткода.

Как пользоваться функцией

Сигнатура функции

get_post_gallery( $post, $html );
  • $post — это ID поста (число) или объект WP_Post. По умолчанию используется глобальный пост.
  • $html — определяет, возвращать ли HTML-код (true) или простые данные (false). По умолчанию значение — true.

Примеры использования

Пример 1: Получение первой галереи поста с ID 2179

$gal = get_post_gallery( 2179, false );

/* $gal будет содержать 
Array
(
    [ids] => 6790,6789,6788
    [src] => Array
        (
            [0] => http://wp-kama.ru/wp-content/uploads/2016/02/image12-80x80.png
            [1] => http://wp-kama.ru/wp-content/uploads/2016/02/image11-80x80.png
            [2] => http://wp-kama.ru/wp-content/uploads/2016/02/image10-80x80.png
        )

)
*/

Пример 2: Получение HTML-кода галереи

Если передать второй параметр как true, мы получим HTML-код галереи:

$gal = get_post_gallery( 2179, true );

echo $gal; // Выводит HTML строку галереи

Этот код создаст следующий HTML для галереи:

Пример 3: Вывод каждой картинки в галерее

                
            Изображение из галереи
            

Изменения в функции

Функция была введена в версии 3.6.0.

Код функции

Вот как выглядит код функции get_post_gallery:

function get_post_gallery( $post = 0, $html = true ) {
    $galleries = get_post_galleries( $post, $html );
    $gallery   = reset( $galleries );

    /**
     * Фильтрует первую найденную галерею поста.
     *
     * @since 3.6.0
     *
     * @param array       $gallery   Первая найденная галерея поста.
     * @param int|WP_Post $post      ID поста или объект.
     * @param array       $galleries  Ассоциативный массив всех найденных галерей поста.
     */
    return apply_filters( 'get_post_gallery', $gallery, $post, $galleries );
}

Связанные функции

  • gallery — позволяет создавать шорткод для галереи.
  • gallery_shortcode() — функция для обработки шорткода галереи.
  • get_post_galleries() — для получения всех галерей из поста.
  • get_post_gallery_images() — для получения изображений из галереи по её ID.

Теперь вы знаете, как использовать функцию get_post_gallery в WordPress для работы с галереями!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *