WordPress

Inscreva-se em nosso canal no Youtube Daviwp

Utilizando a função get_posts no seu site WordPress

18/06/2013 WordPress (2) comentários

Olá pessoal,

mais um post quentinho ai pra vocês, vamos a uma boa pratica de uso da função get_posts, porque boa pratica, sabemos que o uso excessivo do Query post não é bom, o próprio WordPress deixa isso bem claro, devido ser uma consulta global isso pode deixar nosso site um pouco pesado ao abrir ou pode acarretar diversos conflitos, por exemplo duplicação de conteúdo problemas na paginação lentidão ao abrir o site e outros e outros, esse foi alguns problemas que já tive ao utilizar a função query post para buscar um conteúdo de uma pagina ou categoria em fim!

hoje fazendo um ajuste em um site me deparei com um problema, o site demorava muito para abrir, o cliente disse que isso aconteceu desde o inicio do projeto quando foi desenvolvido,  então ele me contratou para descobrir o que poderia ser! bem fui verificar a home do site tinha 10 query posts não sei pra que tanto! Até a logo tinha um query post! Galera lembrando que estou falando isso não é para não usar o query post e sim para ter um boa pratica ao utilizar ele.
O correto é usar só uma vez, o método que vou ensina funciona perfeitamente sem utilizar query posts.  Por fim! Eu mudei todos os query posts da home do portal do cliente
o site voltou a funcionar normalmente abrindo rápido cliente ficou super feliz e não tive tanto trabalho em 5 minutos estava tudo pronto, então vamos lá vou mostrar dois tipos um para puxar conteúdos de paginas e outro para puxar conteúdos de categorias,
vamos lá é bem simples e considero uma das melhores praticas a ser utilizadas.

01 – Tópico

01 – Puxando conteúdo de uma pagina utilize o seguinte código, veja que fizemos uma consulta buscando os argumentos post_type do tipo page e uma pagina especifica chamada sobre e o numberposts é o numero de paginas a ser exibida que nem precisa esta ai mas coloco sempre para obrigar exibir uma se preferir pode tirar.

 <?php
        $args = array('post_type'=>'page','pagename'=>'sobre','numberposts'=>1);
        $my_posts = get_posts($args);
    ?>
    <?php foreach( $my_posts as $post ): setup_postdata($post); ?>
 
    <?php the_excerpt();?>
 
<?php endforeach; ?>

02 – Tópico

02 – Puxando conteúdo de uma categoria lembrando que pode ser usado tanto para post type post padrão quanto para custom post types criados ai por vocês,
onde esta escrito category_name é o nome da categoria que você deseja exibir caso queira listar tudo so tirar esta opção category_name deixa sem e coloca em numberposts =-1

   <?php
        $args = array('post_type'=>'post','category_name'=>'blog','numberposts'=>1);
        $my_posts = get_posts($args);
        if( $my_posts ):
    ?>
 
       <?php foreach( $my_posts as $post ) : setup_postdata($post); ?>
 
         <?php the_excerpt();?>
 
   <?php endforeach; endif; ?>

Bem pessoal é isso espero ter ajudado alguém que esta passando por isso ou não sabia dessa outra alternativa ou até mesmo para quem esta aprendendo fica ai uma dica utilizando desta forma você vai minimizar bem problemas futuros.
abraço e até a próxima!

Post: Daviwp

daviwp

Meu nome é Davi Alves desenvolvedor web e WordPress developer, residente de Belo Horizonte, sou um dos organizadores do WordCamp evento oficial do WordPress em BH e co-fundador do Belo Horizonte WordPress Group juntamente com o fundador Mateus Neves, sou articulista de alguns sites, e fundador do daviwp.com, aqui compartilho conhecimentos para toda galera aficionada em WordPress.