Функция 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 для работы с галереями!


