woocommerce_default_catalog_orderby_options
Позволяет изменить варианты сортировки в настройках каталога товаров.
Использование
add_filter( 'woocommerce_default_catalog_orderby_options', 'wp_kama_woocommerce_default_catalog_orderby_options_filter' );
/**
* Function for `woocommerce_default_catalog_orderby_options` filter-hook.
*
* @param $array
*
* @return
*/
function wp_kama_woocommerce_default_catalog_orderby_options_filter( $array ){
// filter...
return $array;
}
- $value(массив)
- Массив параметров сортировки.
Примеры
#1 Удалим из настроек сортировку по рейтингу
add_filter( 'woocommerce_default_catalog_orderby_options', 'remove_default_sort_by_rating' );
function remove_default_sort_by_rating( $array ){
unset( $array['rating'] );
return $array;
}
#2 Добавим в настройки кастомный вариант сортировки
C полным примером добавления сортировки по кастомному полю можно ознакомится перейдя по ссылке
add_filter( 'woocommerce_default_catalog_orderby_options', 'add_sorting_by_sale' );
function add_sorting_by_sale( $array ){
$array['sale'] = __( 'Sale', 'woocommerce' );
return $array;
}
Где вызывается хук
woocommerce_default_catalog_orderby_options
woocommerce_default_catalog_orderby_options
woocommerce/includes/customizer/class-wc-shop-customizer.php 325-335
$options = apply_filters( 'woocommerce_default_catalog_orderby_options', array( 'menu_order' => __( 'Default sorting (custom ordering + name)', 'woocommerce' ), 'popularity' => __( 'Popularity (sales)', 'woocommerce' ), 'rating' => __( 'Average rating', 'woocommerce' ), 'date' => __( 'Sort by most recent', 'woocommerce' ), 'price' => __( 'Sort by price (asc)', 'woocommerce' ), 'price-desc' => __( 'Sort by price (desc)', 'woocommerce' ), ) );
woocommerce/includes/customizer/class-wc-shop-customizer.php 496-506
'choices' => apply_filters( 'woocommerce_default_catalog_orderby_options', array( 'menu_order' => __( 'Default sorting (custom ordering + name)', 'woocommerce' ), 'popularity' => __( 'Popularity (sales)', 'woocommerce' ), 'rating' => __( 'Average rating', 'woocommerce' ), 'date' => __( 'Sort by most recent', 'woocommerce' ), 'price' => __( 'Sort by price (asc)', 'woocommerce' ), 'price-desc' => __( 'Sort by price (desc)', 'woocommerce' ), ) ),
