Suporte » Desenvolvendo com WordPress » listagem de posts no category

  • Resolvido leandromarten

    (@leandromarten)


    Opa galera,

    Estou quebrando a cabeça aqui para achar uma solução para meu problema.
    Seguinte:

    Meu cliente tem um portal de agencias/hotéis, e quer dividir o anunciante em duas categorias > pagos e não pagos.
    Os pagos terão algumas informações a mais, como imagem, telefone, etc. Até ai tudo tranquilo, pois utilizo o IF de campos personalizados.

    Mas agora ele também quer que os pagantes fiquem sempre no topo da página
    e fiquem randomizando de posição, e os não pagantes apareçam abaixo.

    Alguem tem alguma idéia ou dica para fazer isso? Lembrando que está tudo no “category”.

    tetei de tudo e até agora nada. Obrigado!

Visualizando 15 respostas - 1 até 15 (de um total de 21)
  • rlsrodrigues

    (@rlsrodrigues)

    O que você vai fazer é trabalhar com esse arquivo de categoria de maneira diferente, dentro do arquivo category vão haver dois loopings, um looping puxando os posts da categoria “pagantes” no topo e outro looping puxando os posts da categoria “não pagantes”.

    No looping para pagantes você coloca os seguintes argumentos: ?php query_posts("cat=iddacategoria&showposts=quantidadedepostsqueseramostrada&orderby=rand"); ?> trocando as informações pelas suas próprias.

    O looping de pagantes pode somente chamar a categoria!

    PS: Lembre-se de usar a tag query_reset() depois de cada looping para não ter problemas

    Espero ter ajudado, abraços!

    Criador do tópico leandromarten

    (@leandromarten)

    Cara, ja pensei nisso … Mas acontece o seguinte:
    Vou citar um exemplo real de como está hoje…

    ->Agências(categoria pai)
    –>São Paulo(cateoria filha)
    –>Rio de janeiro(categoria filha)
    –>outros estados(todos estão predefinidos e serão filhas de agencia)
    –>Santa Catarina(categoria filha)
    —>Florianópolis(categoria neta)
    —>Palhoça(cateoria neta)
    —-> POSTS(serão as agências)

    1 – Utilizo o “category”, pois não tenho como saber a categoria que o usuário irá clicar.
    2 – Esses esquema se repete para Hotéis.
    3 – As categorias netas serão adcionadas conforme a demanda do cliente.

    Agora, com uma explicação melhor, o que acontece é o seguinte:

    Existiram posts de agências que pagam e agencias que não pagam, assim como acontece em hotéis.

    E depois disso, os pagantes precisam sempre ficar no topo e randomizando, os não pagantes aparecem abaixo.

    você pode ver o site em http://www.guiaviagembrasil.com.br/site/

    Nos links agências e hoteis!
    ——-

    Obrigado pela sua ajuda!

    rlsrodrigues

    (@rlsrodrigues)

    Olá Leandro, ok vamos lá!

    Só pra eu entender melhor vamos analisar um pseudo caso!

    1 – No site irão existir agencias em cada estado e também em cada cidade.
    2 – Na cidade de curitiba no paraná entre pagantes e não pagantes existem 30 agencias cadastradas.
    3 – Quando o usuário final do site clicar em Curitiba eu preciso que ele veja as agencias “pagantes” no topo e “não pagantes” logo abaixo.
    4 – Somente o filtro por pagante e não pagante é que muda.

    (se alguma das afirmações acima estiver errada me corrija!)

    Se realmente a única coisa que vai mudar é a questão de pagante ou não você tem duas opções, uma sem plugin e outra com (eu faria a sem plugin pra economizar processamento)

    SEM PLUGIN

    1 – Crie duas TAGS “pagantes”, “gratuitas”
    2 – No arquivo category crie dois loopings em um você usara a queryposts para trazer todas as agencias da categoria curitiba que estejam com a tag “pagantes” e no outro você listara todos os posts da categoria, ou mostrar só os que estão com a tag “gratuitas”

    Fiz um exemplo rápido aqui que ficou assim:

    Query pagantes
    <?php query_posts("cat=$cat&showposts=3&tag=pagantes&orderby=rand"); ?> //lembre-se de usar a variavel $cat para chamar o id da categoria;

    Query Gratuitas
    <?php query_posts("cat=$cat&tag=gratuitas"); ?> //lembre-se de usar a variavel $cat para chamar o id da categoria;

    Query para todos os posts
    <?php query_posts("cat=$cat"); ?> //lembre-se de usar a variavel $cat para chamar o id da categoria;

    COM PLUGIN

    É só instalar o Advanced Custom Fields criar um grupo de campos personalizados para a categoria que deseja exemplo de campo: “Tipo da agencia” com as opções paga ou gratuita!
    Ai você cria dois loopings e faz uma condicional (if else) para listar com base nas respostas.

    Espero ter ajudado!

    Criador do tópico leandromarten

    (@leandromarten)

    Isso mesmo.

    Funcionou certinho!
    Muito Obrigado. Salvou uma alma!

    Vlwww

    rlsrodrigues

    (@rlsrodrigues)

    De nada!

    Que bom que pude ajudar!

    Aproveitei e dei uma olhada geral em seu site, ele está bem legal se você me permitir fazer algumas observações e feedbacks construtivos!

    – Na página agencias e também na hotéis e pousadas você pode usar a função
    wp_list_categories(‘child_of=id da categoria agencia ou hoteis’);
    Assim você só mostrará as cidades que realmente tem agencias ou hotéis cadastrados!

    – Na página roteiros coloque links na imagem e no texto também não só no botão ver oferta (usabilidade)
    – Notei que você está utilizando um script próprio de contato, se não houver nenhum motivo mais forte para usa-lo, use o plugin contact form 7 ele é realmente bem feito, e já vem com diversas validações javascript, além de uma compatibilidade incrível de envio com os servidores smtp e etc o que normalmente é um grande problema!

    O site está bem apresentado e visualmente fácil de se achar bem legal, só esses pontos ai mesmo lembrando que do jeito que está não é errado apenas pode ser melhor com esses toques!

    Abraços!

    Criador do tópico leandromarten

    (@leandromarten)

    Valeu pelas dicas.

    Já é a segunda pessoa que me indica o contact form 7, vou começar a utilizar ele.

    Vlw.

    Criador do tópico leandromarten

    (@leandromarten)

    rlsrodrigues,

    Acabei de entrar n site para corrigir alguns errinhos e percebi que indiferente da categoria que eu abrir(agências/hoteis) o category só está listando os hotéis.

    Estou utilizando o código:

    <?php query_posts('cat=$cat&orderby=rand&tag=pagantes');?>

    Acredito que seja por causa do “tag=pagantes”
    tirei ele e voltou ao normal.

    E agora, como fazer para randomizar?

    rlsrodrigues

    (@rlsrodrigues)

    Hum, vamos ver umas coisas.

    Dá um <?php echo $cat ?> no arquivo category e veja se ele está trazendo o id da categoria atual.

    Aguardo!

    Criador do tópico leandromarten

    (@leandromarten)

    rlsrodrigues

    (@rlsrodrigues)

    Leandro, me tira uma dúvida:

    Nesse arquivo temos dois loopings… ele está fazendo isso somente com o looping de pagantes ou está fazendo com os dois…

    Por exemplo, quando entro na categoria 92 que é de agencia ele mostras os posts de agencia embaixo e os hoteis em cima ou mostra hotel em tudo?

    aguardo!

    Criador do tópico leandromarten

    (@leandromarten)

    É, ele puxa a categoria certa, mas por causa do “tag=pagantes” ele busca os posts com o mesmo tag.
    Por isso a mistura de posts.

    * eles esão listando por tags.

    ou seja, no primeiro query as pagantes(tanto de agencias quanto de hotéis)
    e abaixo a mesma coisa com os gratuitos.

    rlsrodrigues

    (@rlsrodrigues)

    Faça um teste por gentileza então…

    Crie posts teste nessa categoria 92 e veja se eles aparecem onde deveriam!

    Aguardo

    Criador do tópico leandromarten

    (@leandromarten)

    Criado.

    Agência X(free)
    Agência Y(pagante)

    Ambas na categoria Agências > Santa Catarina > Florianópolis

    http://www.guiaviagembrasil.com.br/site/category/agencias/santa-catarina-agencias/florianopolis-santa-catarina-agencias/

    Só que eles está listando os hotéis que também tem as tags: pagantes e free.

    rlsrodrigues

    (@rlsrodrigues)

    Ok, deixa eu fazer uns teste aqui leandro!

    Já te respondo algo!

    Criador do tópico leandromarten

    (@leandromarten)

    ok

Visualizando 15 respostas - 1 até 15 (de um total de 21)
  • O tópico ‘listagem de posts no category’ está fechado para novas respostas.