
Сортування товарів WooCommerce, нема в наявності ставимо в кінець переліку товарів
Нещодавно отримав аудит від клієнта і в ньому було одне цікаве завдання, яке часто впроваджують в інтернет магазини для зручності відвідувачів “Сортування товарів WooCommerce, не в наявності ставимо в кінець переліку товарів”.
Перше що я зробив пошук як вирішити завдання засобами WooCommerce, але так і не знайшов. Стандартно плагін магазину пропонував виключати товари зі списку в категорії і якщо в категорії більше не було товарів у наявності вона пропадала б з меню, при цьому посилання на товари залишалися б активними. Ідея звичайно хороша, і для пошуку нормально, але те, що категорія пропадатиме або залишатиметься порожньою це не добре. І тут я приступив googl-ити.
Покопавшись трохи, я знайшов 2 рішення про які і розповім нижче. Яким скористатися вибирати вам!
Сортування товарів WooCommerce за допомогою add_action( ‘pre_get_posts’, … )
За допомогою екшену та функції ми отримуємо запит, який буде направлений у базу даних, якщо запит отримано успішно, то видозмінюємо його за допомогою . $query-> set( ‘meta_key’, ‘_stock_status’ ) і $query-> set(‘meta_key’, ‘_stock_status’). Ці 2 прості рядки означають людською мовою таке. Сортувати отримані дані по полю _stock_status в алфавітному порядку якщо 2 товару будуть однієї дати, то новий товар став першим. Код цього екшену потрібно додавати до файлу functions.php
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 Extra Product Sorting Options.
Сортування товарів за наявності за допомогою плагіна WooCommerce Extra Product Sorting Options
Є відмінний плагін для сортування товарів WooCommerce Extra Product Sorting Options , в якому через адмінку WordPress можна вибрати способи сортування, а потім у налаштуваннях WooCommerce вибрати за умовчанням сортування за наявності товарів. Зробити це можна через меню на панелі адміністратора WooCommerce –> налаштування –> вкладка Товари –> Відображення> пункт Сортування продуктів за замовчуванням та Add Product Sorting . Також за допомогою плагіна ви можете додати кілька нових варіантів сортування на фільтр.
Плагін працює англійською мовою і для його перекладу доведеться використовувати програму Poedit або плагін Loco Translate . Перед початком перекладу не забувайте робити копію файлів сайту. Вдалої роботи над зручними інтернет-магазинами, яких люблять пошукові системи.

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.