Как автоматически применить название товара WooCommerce ко всем alt-тегам изображений товара?

26 февр. 2017 г., 11:13:34
Просмотры: 25.6K
Голосов: 4

Добавление информации в alt-теги для каждой фотографии товара требует много работы. Мы всегда просто копируем и вставляем название товара в alt-теги изображений.

Я подумал, что поскольку вся информация уже есть, должен быть способ сделать это автоматически.

Вопрос: Как автоматически применить НАЗВАНИЕ товара WooCommerce в качестве ALT-ТЕГОВ для всех изображений, используемых с этим товаром.

Буду благодарен за любую помощь!

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

Вот что тебе нужно, дружище, этот вопрос уже задавали раньше :) http://stackoverflow.com/questions/27087772/how-can-i-change-meta-alt-and-title-in-catalog-thumbnail-product-thumbnail

Richard Webster Richard Webster
26 февр. 2017 г. 11:31:32
Все ответы на вопрос 3
1

Вот что вам нужно, взято из - https://stackoverflow.com/questions/27087772/how-can-i-change-meta-alt-and-title-in-catalog-thumbnail-product-thumbnail

add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);

function change_attachement_image_attributes( $attr, $attachment ){
    // Получаем родительскую запись
    $parent = get_post_field( 'post_parent', $attachment);

    // Получаем тип записи, чтобы проверить, является ли она товаром
    $type = get_post_field( 'post_type', $parent);
    if( $type != 'product' ){
        return $attr;
    }

    /// Получаем заголовок
    $title = get_post_field( 'post_title', $parent);

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

    return $attr;
}
26 февр. 2017 г. 11:34:54
Комментарии

Как это можно сделать и для миниатюр товаров? Например, на главной странице магазина, где перечислены товары

Michael Kleimann Michael Kleimann
25 мар. 2018 г. 19:14:00
1

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

add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes( $attr, $attachment ) {
// Получаем родительскую запись
$parent = get_post_field( 'post_parent', $attachment);

// Получаем тип записи, чтобы проверить, является ли она товаром
$type = get_post_field( 'post_type', $parent);
if( $type != 'product' ){
    return $attr;
}

// Получаем заголовок
$title = get_post_field( 'post_title', $parent);

if( $attr['alt'] == ''){
    $attr['alt'] = $title;
    $attr['title'] = $title;
}

return $attr;
}
8 сент. 2017 г. 02:21:37
Комментарии

Предполагается, что это нужно добавлять в файл functions.php? Спасибо

landed landed
17 окт. 2018 г. 16:41:46
2

Если кто-то ищет быстрый и простой способ использовать названия товаров в качестве alt-тегов для изображений, я рекомендую плагин Woo Image SEO.
Этот плагин также может автоматически создавать атрибуты title.
Кроме того, вы можете настраивать атрибуты, включая категорию и тег товара в любом порядке. Woo Image SEO плагин для WordPress

23 дек. 2018 г. 22:13:55
Комментарии

Очень круто, Данаил! Я обязательно проверю это.

Patrick Patrick
24 дек. 2018 г. 23:15:11

Это работает просто отлично. Rank Math SEO раньше делал это, но их последние версии, как ни удивительно, больше не могут этого достичь. Спасибо за это. Приведенные выше функции по какой-то причине также не работают с последней версией Woocommerce.

MitchellK MitchellK
21 сент. 2021 г. 12:25:02