вы используете неправильные хуки, woocommerce_get_catalog_ordering_args
используется для добавления новых опций сортировки, которые вам не нужны, так как в WooCommerce уже есть последняя опция sortby.
, поэтому, чтобы изменить опцию сортировки по умолчанию для конкретной категории, вам нужно использовать woocommerce_default_catalog_orderby
hook следующим образом:
add_filter('woocommerce_default_catalog_orderby', 'custom_catalog_ordering_args', 20, 1);
function custom_catalog_ordering_args($sortby)
{
$product_category = 'specials'; // <== HERE define your product category slug
// Only for defined product category archive page
if (! is_product_category($product_category)) {
return;
}
return 'date';
}
Код выше был протестирован и работает, как и ожидалось, просто добавьте код в functions.php
, и вы должны быть готовы к работе