Возможность индивидуальной числовой сортировки продуктов WooCommerce по определенным метаданнымPhp

Кемеровские программисты php общаются здесь
Anonymous
Возможность индивидуальной числовой сортировки продуктов WooCommerce по определенным метаданным

Сообщение Anonymous »


У меня возникла проблема с заказом продуктов. У каждого продукта есть метазначение «cheapest_worktop» с ЦИФРОВЫМ значением.

Я использую фильтр «woocommerce_get_catalog_ordering_args», чтобы изменить запрос так, чтобы он сортировался по метазначению:

$args["meta_key"] = "самая дешевая_рабочая поверхность"; $args["orderby"] = "meta_value_num"; $args["meta_type"] = 'DECIMAL'; $args["order"] = "ASC"; $args["meta_query"] = массив( 'отношение' => 'И', множество( 'key' => "самая дешевая_рабочая поверхность", 'compare' => 'EXISTS', // Извлекаем только те продукты, у которых существует метаключ ) ); но в конечном итоге отображаются продукты с мета-ключом и без него,

Это работает только тогда, когда я удаляю

$args["meta_key"] = "самая дешевая_рабочая поверхность"; Это скрывает продукты, у которых нет мета_ключа, но не сортирует их. Изначально это было просто

$args["meta_key"] = "самая дешевая_рабочая поверхность"; $args["orderby"] = "meta_value_num"; $args["meta_type"] = 'DECIMAL'; $args["order"] = "ASC"; Это сработало, но по какой-то причине оно просто перестало работать не на 100%, почему на сайте не произошло никаких других изменений, никаких обновлений, никаких новых плагинов или ничего кода.

Я использовал

глобальный $wp_query; echo print_r($wp_query, true); echo print_r($args, true); Чтобы дважды проверить выполнение $args и убедиться, что они верны.

Будем благодарны за любые советы.

Вернуться в «Php»