Suporte » Temas » Ordernar postagens de Custom Post Type

  • Resolvido Rank

    (@felipe-rank)


    Olá, no projeto que estou trabalhando tenho que por algo que ordene as postagens dos produtos:

    Menor Preço (Custom Field) | uso get_post_meta
    Maior Preço (Custom Field) | uso get_post_meta
    Mais Vendidos
    Mais bem avaliados
    A-Z
    Z-A
    Data de lançamento
    Descontos % (Custom Field) | uso get_post_meta

    Preciso que isso fique em um “input select”, Alguém tem alguma idéia de como fazer isso?
    Desde já agradeço.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Criador do tópico Rank

    (@felipe-rank)

    <select>
    <option selected="selected">Selecione</option>
    <option>Maior Preço</option>
    <option>Menor Preço</option>
    <option>Mais Vendidos</option>
    <option>Mais bem avaliados</option>
    <option>A-Z</option>
    <option>Z-A</option>
    <option>Data de Lançamento</option>
    <option>Desconto %</option>
    </select>

    Com essas opções o cliente muda a ordem de postagens, alguém tem alguma sugestão ?

    Criador do tópico Rank

    (@felipe-rank)

    Olha, eu tenho esse código atualmente:

    <select>
    	<option selected="selected">Selecione</option>
    	<option>Maior Preço</option>
    	<option>Menor Preço</option>
    	<option>Mais Vendidos</option>
    	<option>Mais bem avaliados</option>
    	<option>A-Z</option>
    	<option>Z-A</option>
    	<option>Data de Lançamento</option>
    	<option>Desconto %</option>
    </select>
    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
    <?php query_posts( 'post_type=products&orderby=meta_value_num&order=DESC&meta_key=hypercart_meta_discount&key=price&cat=' .get_query_var('cat')."&paged=".$paged); ?>
    <?php get_template_part("loop-products"); ?>

    Ele mostra do maior disconto até o menor, só queria criar a opção “Select box” para que o cliente mude a ordem de desconto, maior preço e etc, no caso algo para mudar a query_posts.

    Grato!!

    Moderador Allyson Souza

    (@allysonsouza)

    Faça um <form> com método post e um botão submit.
    Na lógica do seu código php você irá verificar se há algum valor especificado no array $POST[], utilizando as informações dele para verificar qual tipo de consulta desejaria fazer.

    Moderador Allyson Souza

    (@allysonsouza)

    Vi que você está utilizando o método query_posts(), entretanto no próprio codex do WordPress é alertado que ele não é muito recomendado.

    http://codex.wordpress.org/Function_Reference/query_posts

    Considere utilizar get posts ou adicionar uma ação no hook ‘pre_get_posts’
    http://codex.wordpress.org/Function_Reference/get_posts

    Criador do tópico Rank

    (@felipe-rank)

    Sim amigo, muito obrigado, você tem como me fornecer o exemplo que você falou do <form> ? Ficarei agradecido.

    Abraço

    Criador do tópico Rank

    (@felipe-rank)

    AllysonSouza, eu resolvi o problema, era bem como você disse mesmo, Obrigado!

    Pra quem quiser a solução está aqui: Pastebin

    Moderador Allyson Souza

    (@allysonsouza)

    De nada Rank, bom que resolveu. Tava trabalhando então não consegui ajudar mais.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Ordernar postagens de Custom Post Type’ está fechado para novas respostas.