Я использую шорткод, чтобы перечислить категорию продукта, как это
[product_category category="products" orderby="title" order="asc"]
И задаетесь вопросом, как сделать так, чтобы рекомендуемые продукты были на вершине списка? Это как-то связано с параметр orderby, но я понятия не имею.
Пожалуйста, не предлагайте сторонние плагины.
Больше информации в официальном WooCommerce документы.
Продукт имеет настраиваемое поле как
_featured
который установлен какyes
для рекомендуемого продукта иno
для неучтенного продукта. Так что вы можете
использованиеwoocommerce_shortcode_products_query
фильтр для перезаписи
WooCOmmerce шорткод.
add_filter('woocommerce_shortcode_products_query', 'wh_woocommerce_shortcode_products_orderby');
function wh_woocommerce_shortcode_products_orderby($args)
{
$standard_array = ['menu_order', 'title', 'date', 'rand', 'id'];
// print_r($args['orderby']);
if (isset($args['orderby']) && !in_array($args['orderby'], $standard_array))
{
$args['meta_key'] = '_featured';
$args['orderby'] = 'meta_value_num';
}
// print_r($args);
return $args;
}
Код помещается в файл function.php вашей активной дочерней темы (или темы). Или также в любом файле плагина php.
ИСПОЛЬЗОВАНИЕ
Для того чтобы перечислить форму продукта, отобранную для нереализованной (то есть форму yes
в no
)
[product_category category="products" orderby="_featured" order="DESC"]
Пожалуйста, обратите внимание:: приведенный выше код, кажется, работает, но если вы печатаете $args['orderby']
это не показывает _featured
ключ, так что я жестко запрограммирован, это в $args
, Это не стандартный способ.
Надеюсь это поможет!
Других решений пока нет …