WPML + Woocommerce — в переведенных версиях не видит атрибут по умолчанию,почему может быть?

Ссылка скопирована
1 ответ

Да, текста много, кого пугает - не читайте.

Я то регулярно работаю с сайтами, на которых этот плагин установлен, но не суперзнаток всех нюансов.
В loop атрибут выведен - он там один. Заменена кнопка добавления в корзину для loop на добавление в корзину single - обычная практика, но это для тех, кто будет писать, что "по умолчанию атрибуты в цикл не выводятся"

На том языке, на котором был добавлен товар - вообще все в порядке. Их могли добавлять с разных языков - какая версия была первой, на той все работает корректно. Привязка не к конкретному языку, а к тому факту, какой язык оригинала для этого товара.

Итого дальше будет проблема в переведенных версиях, которой в оригинальных нету.

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

Еще стоит плагин buy now. В loop его кнопка скрыта - в архиве, в рекомендованных, в апселах ее нету, а в summary включена.

Она тоже тогда же становится disabled, тогда же, когда пропадают атрибуты в рекомендованных. Основаня обычная кнопка add to cart видит атрибут по умолчанию в переведенных версиях, а быстрая покупка нет.

Плагинов там наставлено больше, чем я бы ставил, я отключал и buy now, variation swatches, и ajax add to cart - не помогло, значит wpml

Где настройки атрибута вообще? Я не сильно ориентируюсь.

Дополнительные вопросы

"проблема в переведенных версиях, которой в оригинальных нету. "
Расшифруй. Как можно перевести то, чего нет?

  • Refguser, Например, человек добавляет товар сначала на русском, и в русской версии проблем нету, атрибут по умолчанию отображается, в рекомендованных выборка атрибутов видна.
    Делает перевод на английскую версию - и в ней в блоке рекомендованных товаров уже не видно атрибут, и кнопка buy now не активаная.

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

  • alexiusgrey, Ты не знаешь как/где переводить атрибуты (и пр таксономии) или в чём вопрос-то?
    В общем я так и не понял проблемы.... Покажи что ли на сайте где и что ожидаешь увидеть.
  • Refguser, да, не очень понимаю, где может лежать этот момент. чтобы передавался атрибут по умолчанию в переведенные версии.
    я лазю в переводах строк, классификаций, но это наверно какая-то другая настройка
  • alexiusgrey, у тебя проблема молотка.
    Если понятно расскажешь что пытаешься решить, что не получается - скорее всего я смогу помочь.
  • Ответы:

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

    • спасибо, похоже, да, я и надеялся, что у кого-то будет похожее. у меня в "меню переводов" вроде бы не пустые поля и синхронизацию я запустил. значит где-то еще лежит.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Mobile-редакция Ответ

    В связке WPML + WooCommerce проблемы с атрибутом по умолчанию часто возникают из-за несинхронизированных вариаций, перевода терминов атрибута или meta-поля _default_attributes. На исходном языке всё работает, а на переводах WooCommerce не может сопоставить значение атрибута с переведённым термином.

    Проверять нужно так:

    1. Убедитесь, что глобальный атрибут переведён в WooCommerce Multilingual.
    2. Проверьте, что термины атрибута имеют переводы и связаны между языками.
    3. Синхронизируйте вариативные товары через WooCommerce Multilingual.
    4. Проверьте meta _default_attributes на исходном товаре и переводе.
    5. Очистите transients WooCommerce и кэш.

    У вариативного товара дефолтный атрибут хранится примерно так:

    _default_attributes = [
        'pa_color' => 'red',
    ]

    _default_attributes = [ 'pa_color' => 'red', ]

    В переводе slug может быть другим, например krasnyj. Если WPML не синхронизировал значение, WooCommerce не видит выбранный по умолчанию атрибут.

    Что обычно помогает:

    • пересохранить атрибуты на исходном товаре;
    • обновить перевод товара через WPML, а не вручную отдельной записью;
    • запустить синхронизацию атрибутов/вариаций в WooCommerce Multilingual;
    • проверить, что все вариации существуют на всех языках;
    • не смешивать ручное редактирование переводов и автоматическую синхронизацию.

    Если кнопка в loop заменена на кнопку single/add-to-cart, убедитесь, что JS получает корректные variation data для текущего языка. Иногда проблема не в дефолтном атрибуте, а в том, что кастомный AJAX берёт ID исходного товара вместо ID перевода.

    Вывод: ищите несоответствие между переведёнными терминами атрибутов, вариациями и _default_attributes. Это типичная зона конфликтов WPML/WooCommerce.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

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

    Вам также может быть интересно