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

Как скрыть вариации товаров которых нет фактически?

Romakod

Новичок
Постараюсь максимально подробно объяснить проблему. Дело в том что товар в интернет-магазине очень вариативный ссылка на страницу а также скриншот прикладываю. Дело в том что после заведения всех атрибутов появляется проблема когда некоторые сочетания вариаций отображается вот так как на скриншоте. (Жаль, но товаров, соответствующих вашему выбору, не обнаружено. Пожалуйста, выберите другую комбинацию) То есть этой вариации по факту нету. Использую плагин вариации Variation Swatches for WooCommerce - Pro Автор: Emran Ahmedтам есть возможность скрыть товары которых нет в наличии пробовал создавать эти вариации и указывать их не в наличии но не помогает. Подскажите пожалуйста как сделать так чтобы вариации которых по факту нет не отображались для выбора? Надеюсь я доступно описал проблему. Использую тему woodmart

Без названия (1).png
 

tuxfighter

Гуру
Местный
если ты действительно удалил вариации, то они и не должны отображаться.
если все равно отображаются - ищи кто это делает: коммерческий плагин или коммерческая тема.
как найдешь виновника - обращайся к ним в ТП.
 

joy66

Опытный
Тут надо уточнить. Есть две ситуации. Вариации не существует и Вариции нет в наличии.
В первом случае, подобные плагины не дают выбрать вариацию (блокируют/перечеркивают кнопку/прячут кнопку), во втором , при выборе вариации, предупреждают, что такой вариации нет. Вы о каком случае говорите и для какой ситуации должны действовать настройки плагина? (на скринах плагин Variation Swatches for WooCommerce от ThemeHigh )

231021063702.png231021063836.png
 

Romakod

Новичок
Тут надо уточнить. Есть две ситуации. Вариации не существует и Вариции нет в наличии.
В первом случае, подобные плагины не дают выбрать вариацию (блокируют/перечеркивают кнопку/прячут кнопку), во втором , при выборе вариации, предупреждают, что такой вариации нет. Вы о каком случае говорите и для какой ситуации должны действовать настройки плагина? (на скринах плагин Variation Swatches for WooCommerce от ThemeHigh )

Посмотреть вложение 6016Посмотреть вложение 6017
Здравствуйте! Да именно первый вариант я имею в виду. Что интересно заполняю сейчас два товара. Первый который я уже указывал и второй посмотрите как они ведут себя по-разному при переключении вариаций и на втором товаре несуществующие вариации не отображаются как я и хочу (указал в настройках плагина). Почему такая ситуация я не понимаю!
 

joy66

Опытный
Здравствуйте! Да именно первый вариант я имею в виду. Что интересно заполняю сейчас два товара. Первый который я уже указывал и второй посмотрите как они ведут себя по-разному при переключении вариаций и на втором товаре несуществующие вариации не отображаются как я и хочу (указал в настройках плагина). Почему такая ситуация я не понимаю!
А в чем разница в поведении?
Да и реакция на несущ. вариации такая же Мебельный щит Дуб – WordPress - Google Chrome_231021110718.png
 

Romakod

Новичок
А в чем разница в поведении?
Да и реакция на несущ. вариации такая же Посмотреть вложение 6018
Да вы правы. Я сейчас в процессе добавления новых вариаций. Заметил что второй товар начал вести себя так же как первый. Может быть плагин не тянет такое количество вариаций? Дело в том что до какого-то момента всё работает как надо.
 

joy66

Опытный
Да вы правы. Я сейчас в процессе добавления новых вариаций. Заметил что второй товар начал вести себя так же как первый. Может быть плагин не тянет такое количество вариаций? Дело в том что до какого-то момента всё работает как надо.
Может и не тянет. (Это уже надо лог ошибок включать и смотреть)Кстати плагин, который я упоминал без проблем работал с товарами по 2300 вариаций. Но такое кол-во зло )) Поэтому где это возможно использовал плагин опциий. Например атрибуты с одинаковой ценой/наценкой .
 

joy66

Опытный
Да вы правы. Я сейчас в процессе добавления новых вариаций. Заметил что второй товар начал вести себя так же как первый. Может быть плагин не тянет такое количество вариаций? Дело в том что до какого-то момента всё работает как надо.
Кстати, такое большое кол-во вариаций на рабочем сервере, будут создавать серьезную нагрузку на сервер, когда поисковые и не только боты начнут сканировать сайт. Все потому , что связка WP+Woo не оптимизированы для такого дела. Мне в свое время пришлось отказаться от вариаций совсем, а потом к ним вновь вернуться в комбинации с опциями, но переходить с виртуального хостинга на VPS
 

Romakod

Новичок
Кстати, такое большое кол-во вариаций на рабочем сервере, будут создавать серьезную нагрузку на сервер, когда поисковые и не только боты начнут сканировать сайт. Все потому , что связка WP+Woo не оптимизированы для такого дела. Мне в свое время пришлось отказаться от вариаций совсем, а потом к ним вновь вернуться в комбинации с опциями, но переходить с виртуального хостинга на VPS
Спасибо! Атрибуты с одинаковой ценой вряд ли подойдут в моём случае. У меня задание заказчика скопировать сайт и товары с другого сайта на битриксе. Вот этот. Буду иметь ваш плагин ввиду, по моим подсчётам у меня товары не более 1500 вариаций. Попробую ещё сделать вот что когда заполню все товары и все вариации отключу свой плагин и переустановлю я не специалист по коду но может быть у него есть какая-то база которая обновляется.
 

joy66

Опытный
Спасибо! Атрибуты с одинаковой ценой вряд ли подойдут в моём случае. У меня задание заказчика скопировать сайт и товары с другого сайта на битриксе. Вот этот. Буду иметь ваш плагин ввиду, по моим подсчётам у меня товары не более 1500 вариаций. Попробую ещё сделать вот что когда заполню все товары и все вариации отключу свой плагин и переустановлю я не специалист по коду но может быть у него есть какая-то база которая обновляется.
1500 вариаций это очень много для woocommerce. (И кстати, атрибуты у товаров глобальные?) А если не секрет, с чем связан переход с Битрикс на Woo ? Я бы понял обратный переход... Не знаю политики timeweb и какой вариант хостинга у вас будет. Товары в ручную заполняете или через импорт? Если второе, может скинуть файл импорта этого товара с такими вариациями, я попробую определить причину глюка.

PS Мой совет. Пока не поздно. Пересмотреть структуру товаров или представления товара с целью сокращения вариаций. Если это невозможно и надо сделать (один в один), отказаться от воплощения этого на woocommerce. Либо быть готовым к тормозам, танцем с бубнами, с перепиской с поддержкой хостинга, к непонятным ошибкам и ответы на вопросы заказчика-"что-то медленно"
 
Последнее редактирование:

Romakod

Новичок
1500 вариаций это очень много для woocommerce. (И кстати, атрибуты у товаров глобальные?) А если не секрет, с чем связан переход с Битрикс на Woo ? Я бы понял обратный переход... Не знаю политики timeweb и какой вариант хостинга у вас будет. Товары в ручную заполняете или через импорт? Если второе, может скинуть файл импорта этого товара с такими вариациями, я попробую определить причину глюка.

PS Мой совет. Пока не поздно. Пересмотреть структуру товаров или представления товара с целью сокращения вариаций. Если это невозможно и надо сделать (один в один), отказаться от воплощения этого на woocommerce. Либо быть готовым к тормозам, танцем с бубнами, с перепиской с поддержкой хостинга, к непонятным ошибкам и ответы на вопросы заказчика-"что-то медленно"
Спасибо за советы! это человек хочет такой же сайт как у другого конкурента по бизнесу. Товары заполняю вручную (очень трудоёмко). На сколько потянет Wordpress не знаю, будет не больше десяти таких вариативных товаров остальные гораздо проще в общем посмотрим как оно выйдет.
 

marr

Специалист
Местный
Попробуйте отключить минификацию, у вас jQuery глючит
 
Последнее редактирование:

joy66

Опытный
Попробуйте отключить минификацию в настройках WP Fastest Cache, у вас jQuery глючит
На мой взгляд проблема не минификации... А в плагине Woo Product tab, вернее в faq.jquery.js где используется устаревшая конструкция

JavaScript:
jQuery(window).load(function(){
    jQuery(".wt-faqcontent").hide();
    jQuery(".wt-adminadvanced").show();
    jQuery(".wt-faqtitle").on("click",function () {

        jQuery(this).next(".wt-faqcontent").slideToggle(500);
        jQuery(this).toggleClass("expanded");
    });
});

В версии 3.x jQuery следует использовать jQuery(window).on('load', function(){}) ,а не jQuery(window).load()

Но в общем, это вряд ли относится к изначальной проблеме, так как глюк начинается, насколько я понял, после какого-то количественного роста вариаций.
Можно попробовать отключить плагины Woo Product Tab и плагин кеширования.
 

Romakod

Новичок
На мой взгляд проблема не минификации... А в плагине Woo Product tab, вернее в faq.jquery.js где используется устаревшая конструкция

JavaScript:
jQuery(window).load(function(){
    jQuery(".wt-faqcontent").hide();
    jQuery(".wt-adminadvanced").show();
    jQuery(".wt-faqtitle").on("click",function () {

        jQuery(this).next(".wt-faqcontent").slideToggle(500);
        jQuery(this).toggleClass("expanded");
    });
});

В версии 3.x jQuery следует использовать jQuery(window).on('load', function(){}) ,а не jQuery(window).load()

Но в общем, это вряд ли относится к изначальной проблеме, так как глюк начинается, насколько я понял, после какого-то количественного роста вариаций.
Можно попробовать отключить плагины Woo Product Tab и плагин кеширования.
Здравствуйте, отключил плагины

Autoptimize
Woocommerce Product Tab Pro
WP Fastest Cache

но эффекта нет
 

joy66

Опытный
Здравствуйте, отключил плагины

Autoptimize
Woocommerce Product Tab Pro
WP Fastest Cache

но эффекта нет
Ожидаемо.
Вобчем дело вот в чем. Плагин вариаций "красиво" ведет себя с количеством вариаций не более 100. О чем косвенно подтверждает настройка в админке Archive variation threshold , вернее что больше 100 там не выставить.
Не буду грузить умными мыслями..
Добавьте в functions.php дочерней темы такие строчки (цифры сами нужные подставьте)

Код:
//Если надо снять ограничение на генерацию 50 вариаций . 3000 это будет предел. Это к проблеме не относится, просто для удобства
define( 'WC_MAX_LINKED_VARIATIONS', 3000 );

// Это отвечает за предельное число вариаций, с которыми работают фишки плагина.
add_filter('woo_variation_swatches_global_ajax_variation_threshold_max',function(){return 2000;});

//Это число вариаций в товаре ниже которого плагин по разному с этими вариациями работает. Типа быстрее-медленнее обработка. Должно быть не больше, чем число выше .
add_filter('woo_variation_swatches_ajax_variation_threshold_min',function(){return 100;});
 

Romakod

Новичок
Ожидаемо.
Вобчем дело вот в чем. Плагин вариаций "красиво" ведет себя с количеством вариаций не более 100. О чем косвенно подтверждает настройка в админке Archive variation threshold , вернее что больше 100 там не выставить.
Не буду грузить умными мыслями..
Добавьте в functions.php дочерней темы такие строчки (цифры сами нужные подставьте)

Код:
//Если надо снять ограничение на генерацию 50 вариаций . 3000 это будет предел. Это к проблеме не относится, просто для удобства
define( 'WC_MAX_LINKED_VARIATIONS', 3000 );

// Это отвечает за предельное число вариаций, с которыми работают фишки плагина.
add_filter('woo_variation_swatches_global_ajax_variation_threshold_max',function(){return 2000;});

//Это число вариаций в товаре ниже которого плагин по разному с этими вариациями работает. Типа быстрее-медленнее обработка. Должно быть не больше, чем число выше .
add_filter('woo_variation_swatches_ajax_variation_threshold_min',function(){return 100;});
Спасибо большое за код всё работает и довольно шустро! Установил первые два варианта а третий честно говоря не понял логику работы
 

joy66

Опытный
Спасибо большое за код всё работает и довольно шустро! Установил первые два варианта а третий честно говоря не понял логику раб
Тоже не въехал в суть. В других плагинах подобная настройка делает следующее. Если вариаций меньше , чем число, то все вариации подгружаются сразу в код страницы товара и все работает за счет JS кода. Если больше, то типа чтоб не перегружать браузер клиента, при смене вариации происходит ajax запрос к серверу. Но это не точно )) .
Но настройка в админке задает именно это число. А настроек для ... там где у меня 2000.. вовсе нет.
 

Romakod

Новичок
Тоже не въехал в суть. В других плагинах подобная настройка делает следующее. Если вариаций меньше , чем число, то все вариации подгружаются сразу в код страницы товара и все работает за счет JS кода. Если больше, то типа чтоб не перегружать браузер клиента, при смене вариации происходит ajax запрос к серверу. Но это не точно )) .
Но настройка в админке задает именно это число. А настроек для ... там где у меня 2000.. вовсе нет.
Интересно, надо будет подумать об этом на досуге. Спасибо вам большое ещё раз за решение моей проблемы!
 
Сверху Снизу