Функция get_the_post_thumbnail_url()
позволяет получить URL миниатюры (featured image) для записи в WordPress. Это полезно для вывода изображений в различных местах на вашем сайте, таких как заголовки постов, галереи или слайдеры.
get_the_post_thumbnail_url( int|WP_Post $post = null, string|int[] $size = ‘post-thumbnail’ ): string|false
Функция принимает два параметра:
$post
(int|WP_Post) — ID записи или объект WP_Post. По умолчанию используется глобальная переменная$post
.$size
(string|int[]) — название зарегистрированного размера изображения или массив ширины и высоты. По умолчанию используется размер'post-thumbnail'
.
Возвращаемое значение
- string|false — Возвращает URL миниатюры записи или
false
, если миниатюра отсутствует. Если указанный размер не совпадает с зарегистрированным, будет возвращен оригинальный URL изображения.
Пример 1: Получение URL миниатюры записи
В этом примере мы получим URL миниатюры для записи с ID 6732
и выведем его на экран:
$thumbnail_url = get_the_post_thumbnail_url(6732, 'thumbnail');
if ($thumbnail_url) {
echo '<img src="' . esc_url($thumbnail_url) . '" alt="Миниатюра записи" />';
} else {
echo 'Миниатюра отсутствует.';
}
Этот код выводит миниатюру записи с указанным ID. Если миниатюры нет, будет выведено соответствующее сообщение.
Пример 2: Правильное использование функции в цикле
Когда вы работаете с циклами WordPress, важно правильно использовать функцию get_the_post_thumbnail_url()
. Вот пример, который показывает, как это сделать:
if (have_posts()) :
while (have_posts()) :
the_post();
// Получаем URL миниатюры в полном размере
$featured_img_url = get_the_post_thumbnail_url(get_the_ID(), 'full');
// Ссылка на миниатюру, которая открывает полное изображение
echo '<a href="' . esc_url($featured_img_url) . '" rel="lightbox">';
the_post_thumbnail('thumbnail'); // Вывод миниатюры
echo '</a>';
endwhile;
endif;
В этом коде мы проходим через все посты, получаем URL миниатюры и создаем ссылку, которая открывает полное изображение в лайтбоксе.
Пример 3: Проверка наличия миниатюры
Вы можете использовать функцию для проверки наличия миниатюры перед ее использованием:
$post_id = 1024; // Предположим, ID поста равен 1024
$thumbnail_url = get_the_post_thumbnail_url($post_id, 'medium');
if ($thumbnail_url) {
echo '<img src="' . esc_url($thumbnail_url) . '" alt="Миниатюра для поста 1024" />';
} else {
echo 'Для поста 1024 миниатюра не установлена.';
}
Пример 4: Использование пользовательских размеров
Если вы создали пользовательский размер изображения с помощью функции add_image_size()
, вы также можете получить URL для этого размера:
add_image_size('custom-size', 300, 200, true); // Создание нового размера 300x200 с обрезкой
// Получение URL для нового размера
$custom_thumbnail_url = get_the_post_thumbnail_url(get_the_ID(), 'custom-size');
if ($custom_thumbnail_url) {
echo '<img src="' . esc_url($custom_thumbnail_url) . '" alt="Пользовательская миниатюра" />';
} else {
echo 'Пользовательская миниатюра отсутствует.';
}
Заключение
Функция get_the_post_thumbnail_url()
предоставляет удобный способ для работы с миниатюрами записей в WordPress. С помощью приведенных выше примеров вы можете легко интегрировать её в свои темы и плагины, обеспечивая гибкое управление изображениями на вашем сайте. Используйте её, чтобы улучшить визуальное восприятие ваших постов и повысить взаимодействие с пользователями.