@tqvf9a1tiquf

Как переименовать варианты сортировки WooCommerce и одновременно удалить ненужные?

Здравствуйте!
Изменяю названия сортировки Woo следующим образом:
function custom_woocommerce_catalog_orderby( $orderby ) {
    ($orderby["menu_order"]); // Сортировка по умолчанию
	$orderby[ 'menu_order' ] = 'По-умолчанию';
	($orderby["price"]); // Сортировка по цене по возрастанию
	$orderby[ 'price' ] = 'Сначала дешёвые';
    ($orderby["price-desc"]); // Сортировка по цене по убыванию
	$orderby[ 'price-desc' ] = 'Сначала дорогие';
    ($orderby["popularity"]); // Сортировка по популярности
	$orderby[ 'popularity' ] = 'Популярные';
    ($orderby["rating"]); // Сортировка по рейтингу
	$orderby[ 'rating' ] = 'Высокий рейтинг';
    ($orderby["date"]);    // Сортировка по дате
	$orderby[ 'date' ] = 'Новинки';
    ($orderby["title"]);	 // Сортировка по названию
	return $orderby;
}
add_filter( "woocommerce_catalog_orderby", "custom_woocommerce_catalog_orderby", 20 );

Но в то же время необходимо избавиться от некоторых сортировок и установить ту, которая будет работать по умолчанию.
Подскажите пожалуйста как это сделать?
Спасибо.
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Trunk666
Можно скрыть пункты из сортировки

<?php

add_filter( 'woocommerce_default_catalog_orderby_options', 'select_remove_orderby_options' );
add_filter( 'woocommerce_catalog_orderby', 'select_remove_orderby_options' );
 
function select_remove_orderby_options( $sortby ) {
 
	unset( $sortby[ 'popularity' ] ); // по популярности
	unset( $sortby[ 'rating' ] ); // по рейтингу
	unset( $sortby[ 'date' ] ); // Сортировка по более позднему
	unset( $sortby[ 'price' ] ); // Цены: по возрастанию
	unset( $sortby[ 'price-desc' ] ); // Цены: по убыванию
 
	return $sortby;
 
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы