Получение alt-текста изображения записи

23 авг. 2018 г., 16:49:03
Просмотры: 20.9K
Голосов: 1

Я пытаюсь получить alt-текст изображения записи (featured image) и вывести его во фронтенде.

Сейчас мой код выглядит так:

<img class="vehicle-photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php the_post_thumbnail_caption();?>" />

Но во фронтенде выводится как:

<img class="vehicle-photo" src="photo url here" alt="">
0
Все ответы на вопрос 2
1
14

Альтернативный текст хранится как метаданные записи для вложения и может быть получен с помощью get_post_meta() в сочетании с get_post_thumbnail_id():

<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ); ?>

Однако если вы просто используете функцию the_post_thumbnail(), то вам не нужно беспокоиться — тег img будет выведен автоматически, включая альтернативный текст:

<?php the_post_thumbnail( 'post-thumbnail', ['class' => 'vehicle-photo'] ); ?>
23 авг. 2018 г. 17:03:42
Комментарии

Функция the_post_thumbnail() также позволяет выбрать подходящий предварительно обработанный размер для изображения, чтобы оно не было излишне большим.

Omar Shishani Omar Shishani
28 июн. 2022 г. 20:57:30
0

Попробуйте использовать приведенный ниже код:

<?php $image_id = get_post_thumbnail_id(get_the_ID());
$alt_text = get_post_meta($image_id , '_wp_attachment_image_alt', true);?>//Имя переменной обновлено

<img class="vehicle-photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php echo $alt_text ;?>" />
23 авг. 2018 г. 17:01:11