Suporte » Ajustando o WordPress » query_posts personalizado (limit e categorias)

  • Estou migrando um site para o wordpress e encontrei a seguinte dificuldade: quero fazer uma consulta personalizada no banco de dados, mostrando um post que está na categoria de destaque, onde ele fica em destaque (rs) na página, e os demais vem logo em baixo. Porém, estes demais post, são três com miniaturas e 9 sem miniaturas.

    Resumindo:
    DESTAQUE
    3 Matérias
    9 Matérias

    Na clausula antiga era feita uma consulta selecionando apenas um destaque e outra abaixo selecionando as 12 matérias, separadas por break dentro do while.

    Há alguma forma de fazer isso usando o query_posts?

    Outra dúvida, consigo usar o showposts da mesma forma que uso o limit? Ex.: 5,10 (a partir da posição 5, busque 10 posts?)

    Obrigado!

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Moderador Míriam de Paula

    (@miriamdepaula)

    Nunca use query_posts() em queries secundárias ou personalizadas!

    Use a classe WP_Query() pra isso.
    https://codex.wordpress.org/Class_Reference/WP_Query

    Você pode fazer uma consulta para pegar o destaque e outra consulta para pegar os demais posts, menos esse post destaque…

    Criador do tópico Júlio Santos

    (@juliusantos)

    Miriam, você sugere isso devido ao excesso de consulta ao banco de dados? Pois na própria referência do wordpress ele cita essa questão, mas não vê como um problema muito grande se tratando de sites que não possuem muitos acesso. Por isso não vi problemas em utilizá-la. Vou pesquisar sobre essa classe.

    Entendi. Mas consigo utilizar o showpost com esse intervalo que citei acima?

    Obrigado pela ajuda Miriam.

    Moderador Míriam de Paula

    (@miriamdepaula)

    Eu digo isso pelo fato de que a query padrão do template usa query_posts()
    Quando vc usa o query_posts() em uma query secundária, vc conflita com a principal… Pode funcionar num primeiro momento, mas em alguma parte do processo você terá problemas.. e o principal problema é com paginação.

    Usar a classe é a forma mais correta e profissional de trabalhar com o WordPress, vai por mim ehehehe

    Quanto ao ‘showposts’ você vai usar o parametro ‘posts_per_page’ no lugar. Você pode guardar o ID do post destaque em uma variável e usar no parametro ‘post__not_in’ na outra query, pra remove-lo dela…

    Tem vários exemplos de uso naquele link que eu te passei.. e qualquer dúvida, volte aqui 🙂

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘query_posts personalizado (limit e categorias)’ está fechado para novas respostas.