Не отображаются атрибуты alt и title

24 янв. 2017 г., 09:59:56
Просмотры: 21.6K
Голосов: 4

Я добавил атрибуты alt, title и description ко всем изображениям на моем сайте, но они не отображаются при проверке через инспектор элементов в Chrome или Firefox.

Вот скриншот:

Скриншот изображения с сайта

А вот скриншот инспектора элементов того же изображения:

Скриншот инспектора элементов браузера

1
Комментарии

Я перепробовал разные решения из топа, но ничего не сработало, и я нашел свое решение, чтобы отображать альтернативный текст на Wordpress для изображений.

johnhgaspay johnhgaspay
22 февр. 2019 г. 17:45:06
Все ответы на вопрос 4
1

Я нашел скрипт, попробуй, подойдет ли он тебе. Добавь это в файл functions.php твоей темы

function isa_add_img_title( $attr, $attachment = null ) {

    $img_title = trim( strip_tags( $attachment->post_title ) );

    $attr['title'] = $img_title;
    $attr['alt'] = $img_title;

    return $attr;
}
add_filter( 'wp_get_attachment_image_attributes','isa_add_img_title', 10, 2 );
24 янв. 2017 г. 10:03:27
Комментарии

Вот ссылка на все файлы темы, если хотите взглянуть.

https://ufile.io/0e683

Rahul Rahul
24 янв. 2017 г. 10:20:01
2

На самом деле это зависит от того, как изображение отображается в шаблоне. Если оно отображается с помощью функции типа the_post_thumbnail(), которая возвращает полную HTML-строку для отображения изображения с атрибутом alt, то проблем быть не должно. Но если изображение отображается только путем получения URL, то это зависит от способа его вывода.

Например, ниже приведен фрагмент кода, который получает изображение напрямую на странице вложения изображения в WordPress:

// получение URL источника изображения вложения 
$attachment_size = apply_filters( 'abc_attachment_size', array( 960, 960 ));
$image_attributes = wp_get_attachment_image_src( $post->ID, $attachment_size); 

if( $image_attributes ) {
?> 
<img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">
<?php } ?>

В приведенном выше коде мы выводим изображение из данных, которые получили по отдельности, и поскольку атрибут alt не используется, он не будет отображаться. Аналогично, в вашем случае, я предполагаю, что это происходит из-за того, что в теме не указан атрибут alt, поэтому он там не отображается.

Также, я попытался скачать файл вашей темы, но браузер сообщил, что он содержит вредоносный код, поэтому я отказался от этого.

24 янв. 2017 г. 10:51:56
Комментарии

Значит, нет способа отображать alt и title теги, если они не предусмотрены в теме?

Rahul Rahul
24 янв. 2017 г. 11:10:13

Как уже было сказано, это зависит от реализации в теме. Исходя из предоставленного вами вывода, я предполагаю, что это какое-то специфичное место в теме, и без просмотра кода для этого конкретного места нельзя дать точный ответ. Вы можете обратиться к разработчику темы за инструкциями или поделиться кодом здесь, чтобы получить точное решение.

Saahib Saahib
24 янв. 2017 г. 11:33:24
0

Чтобы атрибут alt отображался вместе с изображением, вам необходимо изменить тему. Код, который выводит изображение, находится в файле mediatraining/inc/modules/trainers/shortcode.php. На строке 13 изображение загружается из настроек:

$img = mbtheme_get_option( 'lead-trainer-image' );
$img_url = $img[ 'url' ];

На строке 27 оно затем используется:

<img src="<?php echo esc_url( $img_url ); ?>" />

Чтобы добавить атрибут alt, вы можете попробовать что-то вроде этого на строке 27:

<img src="<?php echo esc_url( $img_url ); ?>" alt="<?php echo esc_attr( $img['alt'] ); ?>" />

Этот код не тестировался, и я не уверен насчёт части $img['alt'], так как точно не знаю, что там сохранено. В качестве альтернативы попробуйте $img['title'] или выведите содержимое $img, чтобы проверить, есть ли там альтернативный текст.

24 янв. 2017 г. 11:35:36
0

Похоже, что (начиная с версии 4.7) атрибут alt больше не отображается автоматически. Существуют плагины, которые восстанавливают эту функциональность (например, https://wordpress.org/plugins/auto-image-alt/). Если вы учитываете SEO, они полезны лишь до определенной степени, поскольку атрибут добавляется с помощью JavaScript.

18 дек. 2018 г. 17:38:25