Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
No meu site tenho uma lista com várias empresas da categoria que o usuário escolheu. Essas empresas aparecem em ordem de pacote (ouro, prata e bronze) e, dentro de cada pacote por ordem alfabética. Abaixo está o código disso que estou falando.
Acontece que, gostaria que antes de se ordernar alfabeticamente, acontecesse um filtro de PESO. A custom_field peso já está implementada.
Uma empresa tem o pacote ouro, porém seu nome começa com Z e ele quer aparecer nas cabeças, então o mesmo compraria peso, que são em números inteiros. Pode ser ASC ou DESC, o importante é o sistema diferenciar, dentro de cada pacote, primeiro o peso de depois a ordem alfabética.
Nessa ordem: PACOTE ==> PESO ==> ALFABÉTICA
$term = get_queried_object()->term_id;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'posts_per_page' => 10,
'order' => 'ASC',
'post_type' => 'guiacomercial',
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'categori',
'terms' => $term,
'field' => 'term_id'
)
),
'orderby' => 'meta_value',
'meta_key' => 'plano_do_cliente',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'plano_do_cliente',
'value' => array(1, 2, 3),
'compare' => 'IN',
),
array(
'key' => 'peso',
)
)
);
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post();
No código, a key PESO ainda não faz diferença.
Seguinte a imagem anexada, gostaria que o estabelecimento TESTE2 viesse primeiro que o GORDUCHOS, pois seu peso é maior.
/applications/core/interface/imageproxy/imageproxy.php?img=https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn1/v/t35.0-12/10386045_4156316323025_35766744_o.jpg?oh=68c431b4956964568a5cf51ea192fdbc%26oe=537FFB2F%26__gda__=1400927595_6229c687e36dbd25ada21da88073bbc7&key=d256d1cc7f1e1decacb890c998f72a99a0b8ea5141c8e9a445f9d60567f1c463" alt="10386045_4156316323025_35766744_o.jpg?oh" />
Pelo que percebi, o campo 'meta_query' não precisa estar ali. Quem manda é o 'meta_key'. Se ele estiver com 'plado_do_cliente', a ordem é pelo pacote do cliente, mas se ele estiver seta com 'peso', ele ordena por peso.
Eu quero que ele seja ordenado pelos dois, primeiramente por pacote e dentro do pacote, por peso.
Carregando comentários...