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 326-336
$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 497-507
'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' ), ) ),