Oi @itamarsilvacc,
Segundo este texto aqui, você pode fazer isso adicionando o seguinte código ao functions.php
do seu tema:
function wpbrforum_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
$args['orderby'] = 'meta_value_num';
$args['order'] = 'ASC';
$args['meta_key'] = '_sale_price';
return $args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'wpbrforum_get_catalog_ordering_args' );
Não esqueça de voltar para dizer se funcionou e, se for o caso, para marcar seu tópico como resolvido, ok?
Agradeço a contribuição @felipeelia , mas não funcionou para mim. Não colocou os produtos em promoção listados no fim dos loops do Woocommerce.
Tente então usar _min_variation_sale_price
como meta_key
, @itamarsilvacc. Neste outro texto aqui o autor fala sobre a função wc_get_product_ids_on_sale(), de repente ela pode apontar uma outra direção para você.
Não esqueça de voltar para dizer se funcionou, beleza?