Сегодня перед нами стала нестандартная задача, клиент захотел изменить стандартную сортировку по дате товара в плагине WooCommerce. Захотел он что бы товар сортировался по артикулу , то есть по коду товара (SKU). В самой админе поле артикула находится и выглядит так:
Такая сортировка удобна тем, что когда в вашем магазине есть множество дочерних рубрик и человек находится в родительской, то он видит смешанные товары. А с сортировкой товара по артикулу он увидит нормальный список. В нашем случае были детские игрушки. Суть такова: сам магазин являлся каталогом (рубрикой), все остальные категории были подкаталогами. Когда пользователь заходил в каталог, он видел смешанные товары, такие как кубики, мозаику, развивающие игрушки и т.д. вкупе. Сортировка товара по артикулу (коду товара – SKU) дала нам следующий вид: шли сначала кубики, потом мозаика, потом развивающие игрушки. В общем, суть сортировки, думаю, ясна. Давайте приступим к ее реализации.
Как же сделать сортировку WooCommerce товаров по артикулу (или коду товара – SKU)?
Очень просто. Нужно всего два действия:
- Открываем в вашей теме файл functions.php (путь к вашей теме на FTP – wp-content/themes/ваша_тема/functions.php )
- Добавляем в самый конец файла следующий код:1234567add_filter('woocommerce_get_catalog_ordering_args', 'am_woocommerce_catalog_orderby');function am_woocommerce_catalog_orderby( $args ) {$args['meta_key'] = '_sku';$args['orderby'] = 'meta_value';$args['order'] = 'asc';return $args;}
Сохраняете, обновляйте страницу вашего магазина и вуаля – сортировка товара по артикулу (по коду товара – SKU) сработала.
Надеюсь, данная статья вам помогла. Если да, подписывайтесь на рассылку новых материалов нашего блога от Digrand и будете всегда в курсе новых, вкусных фишек связанных с WordPress.
Спасибо!