Как в wordpress в плагине woocommerce добавить свой способ сортировки товаров?

65
10 февраля 2022, 12:30

В woocommerce доступны функции сортировки по цене и рейтингу. Но как добавить сортировку по тому, есть ли на товар скидка и по произвольному полю?

Answer 1

Попробуйте воспользоваться хуком woocommerce_get_catalog_ordering_args

function alphabetical_shop_ordering($sort_args)
{
    $orderby_value = isset($_GET['orderby']) ? woocommerce_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
    if ('alphabetical' == $orderby_value)
    {
        $sort_args['orderby'] = 'title';
        $sort_args['order'] = 'asc';
        $sort_args['meta_key'] = '';
    }
    return $sort_args;
}
add_filter('woocommerce_get_catalog_ordering_args', 'alphabetical_shop_ordering');
function custom_wc_catalog_orderby($sortby)
{
    $sortby['alphabetical'] = 'Sort by Name: Alphabetical';
    return $sortby;
}
add_filter('woocommerce_default_catalog_orderby_options', 'custom_wc_catalog_orderby');
add_filter('woocommerce_catalog_orderby', 'custom_wc_catalog_orderby');
READ ALSO
Подправить логику проверки 2fa Auth (от гугл) php

Подправить логику проверки 2fa Auth (от гугл) php

Здравствуте, написал проверку 6 го кода при авторизации, так как делал это впервой, в голове есть замечания к некоторым нюансам:

94
Проверить есть-ли пользователь в списке или нет Websocket?

Проверить есть-ли пользователь в списке или нет Websocket?

При подключении каждому пользователю присваиваю ID

79
Вывести массива в select

Вывести массива в select

Нужно вывести значение массива в selectКогда я вывожу оно делится на 3 столбика(red,blue,green)

68