Skip navigation

Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Эта тема содержит 10 ответов, имеет 2 голоса.

Последнее обновление: Andrey 1 год, 11 месяцев назад.

При содействии: Andrey.

Автор Записи
14 февраля, 2023 на 6:10 пп #13033443

natashaP

После перевода товаров woocommerce обнаружилось разное количество выводимых товаров на разных языках на страницах категорий. При этом в админке цифры одинаковые.

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

Отключали все плагины кроме WC и WPML, переключали на дефолтную тему - результат тот же.
Сделали экспорт всех полей с помощью WPALL Export PRO, сравнили потеряшки, но разницы не обнаружили.

И главный нюанс - у нас в WC включена настройка "Спрятать отсутствующие товары из каталога". Если её отключить, то становится всё нормально - и количество совпадает и поиск находит.

В чём может быть проблема и как её исправить?

ЗЫ. При необходимости можем развернуть копию сайта и дать доступы.

2023-02-14_20-49-41.jpg
2023-02-14_20-49-33.jpg
15 февраля, 2023 на 9:11 дп #13037419

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Спасибо за обращение в службу поддержки WPML.

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

Возьмите один такой товар, на языке оригинала внесите легкое изменение и завершите перевод. Затем проверьте его отображение на странице категорий.

В первую очередь Вам нужно обновить плагин WPML до последней версии 4.5.14 и его дополнения, чтобы воспользоваться последними исправлениями и улучшениями. Это может не обязательно решить проблему, однако, чтобы решить ее лучше всего, работать с последними доступными версиями плагинов.

Вы можете проверить последние выпущенные версии в разделе «Моя учетная запись -> Загрузки» на этом сайте. Инструкции по обновлению можно найти здесь: http://wpml.org/faq/install-wpml/

Пожалуйста, не забудьте сделать резервную копию Вашей базы данных, прежде чем продолжить.

15 февраля, 2023 на 10:09 дп #13038197

natashaP

>могу предположить, что у этих товаров отсутствует сток или цена. По этой причине они быть спрятаны при активной опции.

Это было проверено в первую очередь. Более того - я же написал, что сравнивались все поля путем экспорта товаров.
Кроме того отсутствующий товар отдавал бы 404, а он не только отображается по прямому урлу, но его можно заказать.

>Возьмите один такой товар, на языке оригинала внесите легкое изменение и завершите перевод. Затем проверьте его отображение на странице категорий.

Проверили - это не помогает.

Вспомнится ещё один момент. В самом начале работы с в WPML (это было давно) товары переводились не в "редакторе" WPML, а в стандартном редакторе ВП (тк это намного удобнее). И тогда были обнаружены проблемы с отображением в каталоге. Возможно это оттуда это и тянется, хотя вроде бы после того все такие товары были переведены заново. Но уверенности нет. С тех пор неоднократно обновлялись версии и WMPL и всего остального. Так что проблема не в версии. (Но мы конечно обновим)

15 февраля, 2023 на 11:07 дп #13039135

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Попробуйте еще перейти в Woocommerce >> Status > Tools и нажать генерировать заново для опции Product lookup tables.

Покажите пример одного такого продукта (отдельно ссылку на продукт и его категорию).

Пожалуйста, не забудьте сделать резервную копию Вашей базы данных, прежде чем продолжить.

15 февраля, 2023 на 11:59 дп #13039629

natashaP

>Попробуйте еще перейти в Woocommerce >> Status > Tools и нажать генерировать заново для опции Product lookup tables.

Не помогло.

>Покажите пример одного такого продукта (отдельно ссылку на продукт и его категорию).

Несмотря на то что это разрабатываемый сайт всё равно не хотелось бы в паблике публиковать ссылки, а у форума нет возможности добавления данных не для паблика.

Но.. домен Вы можете увидеть в отладочной информации, а остальное
домен/product/kruzhevo-elastichnoe-losos-shir-21-sm-art-k39/ - товар
домен/product-category/kruzhevo-elastichnoe/page/2/ - страница категории с товаром

Вверху языковые переключатели.

(Кстати и вот сейчас обнаружена ещё одна проблемка - ссылка с переключателя ведёт на первую страницу категории, а не текущую.)

2023-02-15_14-57-07.jpg
15 февраля, 2023 на 2:58 пп #13041701

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Спасибо за информацию.

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

Вы можете создать новый тикет по новой проблеме. Это также поможет другим пользователям при поиске на форуме.

16 февраля, 2023 на 12:21 пп #13048559

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Спасибо за информацию. Я проверил проблему и проделал шаги, которые рекомендовал выше.


Возьмите один такой товар, на языке оригинала внесите легкое изменение и завершите перевод. Затем проверьте его отображение на странице категорий.

Это помогло решить проблему.

Убедитесь, что обновляете и полностью завершаете перевод товара.

2023-02-16 14.20.06.jpg
Screen Shot 2023-02-16 at 14.17.56.png
16 февраля, 2023 на 2:22 пп #13049855

natashaP

Спасибо. Действительно в это раз сработало.

Но.. это "решение" не простое. Даже опуская кучу телодвижений - как Вы можете увидеть товаров достаточно много, найти эти потерящки достаточно сложно. Только вручную высматривать. А они есть во многих категориях.

Что-то можно сделать для облегчения процесса исправления? Может как-то автоматически обновить вначале оригинал, а потом перевод?

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

16 февраля, 2023 на 8:41 пп #13052641

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

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

Опция "Спрятать отсутствующие товары из каталога" убирает все товары, которые скорее всего имеют пользовательское поле _stock_status в значении outofstock в своей базе. Для этих переведенных товаров видимо эта запись присутствует.

Если у Вас есть определенные навыки, Вы можете попробовать понять\сравнить пользовательское поля в wp_postmetа таблице базы данных для такого товара и его перевода, затем выработать идею, как можно быстро их найти.

17 февраля, 2023 на 10:41 дп #13056319

natashaP

Нет, остатки и цены тут не причём. Это всё одинаково во всех версиях. Проблема, насколько я помню, возникла из-за того, что вначале мы не стали использовать страшный "редактор перевода" WPML, а использовали стандартный. Через некоторое время увидели проблему и стали переводить через WPML. Но уже переведённые товары тогда вроде бы исправили. И вот только сейчас, когда всё уже переведено снова обнаружили эту проблему. (допускаю что тогда не доисправляли, тк этим занимался и контролировал другой человек)

>Вы можете попробовать понять\сравнить пользовательское поля в wp_postmetа таблице базы данных для такого товара и его перевода,

Сравнивать оригинал и перевод нет смысла - там даже набор полей разный (см скриншот)

Но вот если сравнить перевод потеряшки до и после исправления, то изменяется "_last_translation_edit_mode" с "native-editor" на "translation-editor". Получается что подтверждается причина - у WPML есть проблема при переводе стандартным редактором.

Но это не единственное различие. В других таблицах тоже происходит не мало изменений связанных с товаром.

И кстати, как оказалось не обязательно проходить весь квест с обновлением оригинала. Достаточно в редакторе WPML обновить и закончить перевод.

2023-02-17_13-39-27.jpg
17 февраля, 2023 на 11:59 дп #13056807

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Спасибо за апдейт. Поле "_last_translation_edit_mode" говорит о том, какой редактор был использован последний для переведенного товара. Сделал несколько тестов на чистой локальной установке с использованием запаса, как с обычным редактором, так и с редактором переводов, проблему не смог воспроизвести, чтобы сообщить о ней разработчикам.

Хочу отметить, что данные два редакторы не синхронизируют переводы между особой. Поэтому важно использовать только один из них. Но, свойства товара всегда копируются в перевод.

Квест, для того, чтобы убедиться, что все изменения подтягиваются. Если достаточно обновить и завершить перевод, тогда можно не обновлять оригинал.