0

Alt и title для картинок woocommerce 3.0 и выше без использования плагинов

Суть проблемы : в Woocommerce начиная от версии 3, в частности, при использовании бесплатных стандартных шаблонов типа Storefront, выявился такой баг : все картинки товаров ни на своих отдельных страницах, ни для категорий товаров, не имеют alt и title . Это очень плохо для seo, вернее, это кошмарно для seo. Установка дополнительных плагинов для SEO картинок не поможет.

Поставить версию woocommerce до 3.0 скорей всего не удастся. Но это и не требуется.

Наша задача: прописать alt и title для всех картинок woocommerce — на главной странице, в категориях и на странице отдельного товара, для миниатюр (превьюшек).

Шаг 1. Alt и title картинки на странице товара

Проблема, как видно, в jQuery, идущем в составе шаблона.  Версия jQuery, которую использует шаблон Storefront, это версия от jackmoore ( https://github.com/jackmoore/zoom ). Вернее, там она еще более обкусанная до минимума.

— Заходим к себе на хостинг, где установлен wordpress и woocommerce,   в директорию
../wp-content/plugins/woocommerce/assets/js/zoom/
— Находим там файл jquery.zoom.min.js
и в конце вставляем перед a.src=e.url следующее : 

a.title=image.alt,a.alt=image.alt

— Для превьюшек картинок и галереи поступаем аналогично (см.другие посты). Надеюсь, понятно, что альты у картинок должны быть заполнены (пройдитесь к себе в медиа галерею и убедитесь, что это так)
— Кому лень лезть в редактор, может тупо скачать данный файл.

Пример работы : https://greenhouse.kubikraft.ru/?product=vneck-tee

no alt or title text in the Lightbox enlarged product image

no alt or title text in the Lightbox enlarged product image

https://greenhouse.kubikraft.ru/wp-content/plugins/woocommerce/assets/js/zoom/jquery.zoom.min.js

Шаг 2. Alt и title картинок товаров при отображении категории

Решение указано для шаблона Storefront, для вашей темы будет аналогично. Тема обсуждалась здесь.

Находим файл

И добавляем туда сроки

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

function change_attachement_image_attributes( $attr, $attachment ){
    // Get post parent
    $parent = get_post_field( 'post_parent', $attachment);

    // Get post type to check if it's product
    $type = get_post_field( 'post_type', $parent);
    if( $type != 'product' ){
        return $attr;
    }

    /// Get title
    $title = get_post_field( 'post_title', $parent);

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

    return $attr;
}

Пример : https://greenhouse.kubikraft.ru/?product_cat=growboxes

category_image_title_alt_storefront_woocommerce

 

odhost

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *