Polylang и вукоммерс — как сделать, чтоб количество товаров в виджете не дублировалось?
Фильтр товаров по атрибуту. У меня стандартный от вукоммерса, который вшитый, не дополнительный плагин, но такое было и в плагинах.
Товара с таким атрибутом например 2, но по 2 в каждой языковой версии, итого 2 языка и в фильтре показано, что их 4.
По логике понятно, что для фильтра записи с этой таксономией 4, но может есть вариант это пофиксить?
Дополнительно
Как я понял, для разных языковых версий вы создаёте разные товары? Почему не переводите их? Тогда и будет отображаться два, вместо четырёх.
Это не wpml с вкладками. wpml платный.
wpml не с вкладами, там также перевод идёт отдельным постом. А ВПшные товары со спец дополнением вообще не пойми как.
есть бесплатный
это классный плаг, в некоторых моментах даже лучше родной ПРОшки, но к сож давно умер. А WC и полиланг с тех пор сильно обновись.
оно во всех так дублируется количество в фильтрах?
хотя я по функционалу пока не ощутил обновлений вукоммерса.
Всё ощущения -- субъективны. А чтобы узнать изменения надо читать чейнчлог (или хотябы "что нового"). .
оно во всех так дублируется количество в фильтрах?
Я без понятия. У меня сейчас нет ИМ с полилигом и воспроизводить твою ситуацию нет желания.
Но у тебя есть вариант на попробовать: заюзай плаги сторонних блоков и посмотри как там. Например https://wordpress.org/plugin/gutentor/. Крутой плаг, но в некоторых блоках имеет не мало косяков вида "не работают глубокие настройки типа задания цветов, ширины, выравнивания и тп". К частью это легко фиксится в css.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В связке Polylang + WooCommerce количество товаров в виджете может дублироваться, если считаются товары всех языков или если переводы товаров считаются как отдельные товары. Нужно фильтровать counts по текущему языку.
Сначала проверьте настройки Polylang для WooCommerce: товары, категории, атрибуты и строки должны быть корректно привязаны к языкам. Если используется Polylang for WooCommerce, он обычно решает большую часть таких проблем.
Если дубли идут в стандартном виджете категорий/атрибутов, причина может быть в кэше WooCommerce transients. Очистите:
WooCommerce → Статус → Инструменты → Очистить transients WooCommerce → Статус → Инструменты → Пересчитать термины
Если виджет кастомный, в запрос нужно добавлять язык. Для Polylang можно учитывать текущий язык:
$lang = function_exists('pll_current_language') ? pll_current_language() : '';
Дальше фильтр зависит от того, как именно строится запрос. Для товаров часто проще использовать стандартные WooCommerce/Polylang функции, а не считать
countвручную.Также проверьте, не индексирует ли виджет родительские товары и их переводы одновременно. Для мультиязычного магазина лучше использовать официальный мост Polylang for WooCommerce.