По-умолчанию, в WooCommerce доступны лишь несколько вариантов сортировки товаров в каталоге магазина. Это сортировка по-умолчанию, по популярности, по рейтингу, по цене (от дешевых к дорогим и от дорогих к дешевым). Предлагаемый нами сниппет добавит еще один способ сортировки товаров — По имени. Название сортировки можно изменить в строке
1 |
$sortby [ 'name_list' ] = 'Сортировать по имени' ; |
Как обычно, добавляем следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:
1 |
add_filter( 'woocommerce_get_catalog_ordering_args' , 'custom_woocommerce_get_catalog_ordering_args' ); |
3 |
function custom_woocommerce_get_catalog_ordering_args( $args ) { |
4 |
$orderby_value = isset( $_GET [ 'orderby' ] ) ? woocommerce_clean( $_GET [ 'orderby' ] ) : apply_filters( 'woocommerce_default_catalog_orderby' , get_option( 'woocommerce_default_catalog_orderby' ) ); |
6 |
if ( 'name_list' == $orderby_value ) { |
7 |
$args [ 'orderby' ] = 'name' ; |
8 |
$args [ 'order' ] = 'ASC' ; |
9 |
$args [ 'meta_key' ] = '' ; |
15 |
add_filter( 'woocommerce_default_catalog_orderby_options' , 'custom_woocommerce_catalog_orderby' ); |
16 |
add_filter( 'woocommerce_catalog_orderby' , 'custom_woocommerce_catalog_orderby' ); |
18 |
function custom_woocommerce_catalog_orderby( $sortby ) { |
19 |
$sortby [ 'name_list' ] = 'Сортировать по имени' ; |
Источник: http://wpincode.com/