• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Как автоматически добавить в теги alt и title название текущего товара в Woocommerce

Serg_84

Новичок
Нужно к каждой картинке текущего товара добавить в теги alt и title, текущее название товара. Задача вроде банальная. Ведь по логике нужно при выводе тех самых изображений просто подставить переменную тайтла, но нет.
В шаблоне вывода изображения товара вот такой код
Код:
echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<a href="%s" itemprop="image" class="woocommerce-main-image zoom image-link" title="%s" data-rel="product-images' . $gallery . '" data-width="%s" data-height="%s">%s</a>', $image_link[0], $image_title, $image_link[1], $image_link[2], $image ), $post->ID );
            } else {
                echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<img src="%s" alt="%s" />', wc_placeholder_img_src(), __( 'Placeholder', 'woocommerce' ) ), $post->ID );
            }
Подставлял вместо __( 'Placeholder', 'woocommerce' ) - $parent_title = get_the_title( $post->post_parent );
Просто строку тоже подставлял. Не работает. Такое ощущение, что страница вывода изображения генерируется не отсюда. Файл product-image.php брал как и с темы, так и с самого плагина woocommerce. Подскажите, может кто сталкивался с похожей проблемой. Заранее спасибо.
 

D&B

Администратор
Команда форума
Местный
Для каждой картинки можно прописать alt и title в её опциях.
 

Konstantine

Форумчанин
А что если я скажу тебе, что можно так:
PHP:
add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes($attr, $attachment) {
    global $post;
    if ($post->post_type == 'product') {
        $title = $post->post_title;
        $attr['alt'] = $title;
        $attr['title'] = $title;
    }
    return $attr;
}

Прописав код в функцию темы
 

khvoroffski

Новичок
Вот так можно, так как картинки разные к товару, это добавит еще и цифры к картинкам (SEO говорят что лучше так)

add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes($attr, $attachment) {
global $post;
if ($post->post_type == 'product') {
$title = $post->post_title;
static $num = 0;
$num++;
$attr['alt'] = sprintf("Фото %d - %s.",$num,$title);
}
return $attr;
}
 

misha25

Форумчанин
Вот так можно, так как картинки разные к товару, это добавит еще и цифры к картинкам (SEO говорят что лучше так)

add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes($attr, $attachment) {
global $post;
if ($post->post_type == 'product') {
$title = $post->post_title;
static $num = 0;
$num++;
$attr['alt'] = sprintf("Фото %d - %s.",$num,$title);
}
return $attr;
}
ОТличное решение. Только alt прописывается на всех изображениях по странице, даже в логотипе. Как-то можно это обойти?
 
Сверху Снизу