# get_post_galleries_images() │ WP 3.6.0
Функция get_post_galleries_images() позволяет получить ссылки на изображения из галерей, если они есть в содержимом поста.
## Использование
Функция использует другую функцию get_post_galleries(). Эта функция может быть довольно медленной, особенно если вы вызываете её много раз.
### Общая информация о производительности:
- 1 вызов — 0.009545 сек (очень медленно)
- 50000 вызовов — 595.55 сек (крайне медленно)
Это важно учитывать, если у вас много постов или галерей.
Функция не содержит хуков.
## Возвращаемое значение
Функция возвращает массив. Это список списков, каждый из которых содержит ссылки на изображения, полученные из расширенного шорткода.
## Синтаксис
```php
get_post_galleries_images( $post );
Параметры
$post(int|WP_Post) — ID поста или объект WP_Post. По умолчанию используется глобальный$post.
Примеры использования
Пример 1: Получение списка всех ссылок на изображения из галерей поста с ID 2179
Предположим, у вас есть пост с ID 2179, который содержит 2 галереи (2 шорткода ). Чтобы получить все ссылки на изображения из этих галерей, используйте следующий код:
$gal = get_post_galleries_images( 2179 );
/* $gal будет содержать:
Array
(
[0] => Array
(
[0] => http://wp-kama.com/wp-content/uploads/2016/02/image12-80x80.png
[1] => http://wp-kama.com/wp-content/uploads/2016/02/image11-80x80.png
[2] => http://wp-kama.com/wp-content/uploads/2016/02/image10-80x80.png
)
[1] => Array
(
[0] => http://wp-kama.com/wp-content/uploads/2016/02/image008-80x80.jpg
[1] => http://wp-kama.com/wp-content/uploads/2016/02/image007-80x80.jpg
[2] => http://wp-kama.com/wp-content/uploads/2016/02/image006-80x80.jpg
)
)
*/
Пример 2: Добавление URL изображений к содержимому поста, если пост содержит галерею
Вот простой пример, как добавить ссылки на изображения в содержимое поста или страницы, если имеется хотя бы одна галерея:
add_filter( 'the_content', 'wpdocs_show_gallery_image_urls' );
/**
* Добавляет список URL изображений к содержимому, если пост содержит
* одну или несколько галерей.
*
* @param string $content Содержимое поста.
*
* @return string (Возможно изменённое) содержимое поста.
*/
function wpdocs_show_gallery_image_urls( $content ) {
global $post;
// Выполняем только для единственных постов.
if ( ! is_singular() ) {
return $content;
}
// Проверяем, есть ли в посте галерея.
if ( ! has_shortcode( $post->post_content, 'gallery' ) ) {
return $content;
}
// Получаем все галереи этого поста.
$galleries = get_post_galleries_images( $post );
if ( ! empty( $galleries ) ) {
$image_list = '';
// Перебираем все найденные галереи
foreach( $galleries as $gallery ) {
// Перебираем каждое изображение в каждой галерее.
foreach ( $gallery as $image ) {
$image_list .= '- ' . $image . '
';
}
}
$image_list .= '
';
// Добавляем наш список изображений в содержимое поста
$content .= $image_list;
}
return $content;
}
Примечания
- Для получения информации о галереях используйте функцию
get_post_galleries().
История изменений
- С версии 3.6.0 — функция была введена.
Код функции
function get_post_galleries_images( $post = 0 ) {
$galleries = get_post_galleries( $post, false );
return wp_list_pluck( $galleries, 'src' );
}
Связанные функции
gallery— для работы с галереями.gallery_shortcode()— для генерации шорткода галереи.get_post_galleries()— для получения галерей поста.get_post_gallery()— для получения информации о галерее.get_post_gallery_images()— для получения изображений из галереи.