listagem de posts no category
-
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!
-
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!
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!
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!
Isso mesmo.
Funcionou certinho!
Muito Obrigado. Salvou uma alma!Vlwww
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!
Valeu pelas dicas.
Já é a segunda pessoa que me indica o contact form 7, vou começar a utilizar ele.
Vlw.
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?
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!
fiz, ele puxa o ID 92.
como eu disse deve ser o tag=pagantes/free
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!
É, 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.Faça um teste por gentileza então…
Crie posts teste nessa categoria 92 e veja se eles aparecem onde deveriam!
Aguardo
Criado.
Agência X(free)
Agência Y(pagante)Ambas na categoria Agências > Santa Catarina > Florianópolis
Só que eles está listando os hotéis que também tem as tags: pagantes e free.
Ok, deixa eu fazer uns teste aqui leandro!
Já te respondo algo!
ok
- O tópico ‘listagem de posts no category’ está fechado para novas respostas.