Сортування товарів WooCommerce, немає в наявності ставимо в кінець переліку товарів
Нещодавно отримав аудит від клієнта і в ньому було одне цікаве завдання, яке часто впроваджують в інтернет магазини для зручності відвідувачів “Сортування товарів WooCommerce, не в наявності ставимо до кінця переліку товарів”.
Перше що я зробив пошукав як вирішити завдання засобами WooCommerce, але так і не знайшов. Стандартно плагін магазину пропонував виключати товари зі списку в категорії і якщо в категорії більше не було товарів у наявності вона пропадала б з меню, при цьому посилання на товари залишалися б активними. Ідея, звичайно, гарна, і для пошуку нормально, але те що категорія пропадатиме або залишатиметься порожньою це не добре. І тут я приступив googl-іт.
Покопавшись трохи я знайшов 2 рішення про які і розповім нижче. Яким користуватися вибирати вам!
Сортування товарів WooCommerce за допомогою add_action( ‘pre_get_posts’, … )
За допомогою екшену та функції ми отримуємо запит, який буде направлений до бази даних., якщо запит отримано успішно, то видозмінюємо його за допомогою . $query->set( ‘meta_key’, ‘_stock_status’ ) і $query->set( ‘meta_key’, ‘_stock_status’ ). Ці 2 прості рядки означають людською мовою наступне. Сортувати отримані дані по полю _стоковий_статус в алфавітному порядку якщо 2 товару будуть однієї дати, то новий товар став першим. Код цього екшену потрібно додавати до файлу functions.php
1 2 3 4 5 6 7 8 9 |
add_action( 'pre_get_posts', 'mik_exclude_category' ); function mik_exclude_category( $query ) { if ( $query->is_main_query() ) { $query->set( 'meta_key', '_stock_status' ); $query->set( 'orderby', array('meta_value' => 'ASC', 'date' => 'DESC') ); } } |
Код вийшов простий та робочий. Цю дію можна зробити також за допомогою плагіна Додаткові параметри сортування продуктів WooCommerce.
Сортування товарів за наявності за допомогою плагіна WooCommerce Extra Product Sorting Options
Є відмінний плагін для сортування товарів Додаткові параметри сортування продуктів WooCommerce в якому через адмінку WordPress можна вибрати способи сортування, а потім у налаштуваннях WooCommerce вибрати за умовчанням сортування за наявністю товарів. Зробити це можна через меню панелі адміністратора WooCommerce -> Налаштування -> вкладка Товари -> Відображення> пункт Сортування продуктів за промовчанням та Add Product Sorting. Також за допомогою плагіна ви можете додати кілька нових варіантів сортування у фільтр.
Плагін працює англійською мовою і для його перекладу доведеться використовувати програму Poedit або плагін Loco Translate. Перед початком перекладу не забувайте робити копії файлів сайту. Вдалої роботи над зручними інтернет-магазинами, яких люблять пошукові системи.
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.