X

Como Exibir Posts Mais Populares Usando Meta de Visualizações de Post

Snippets por IsItWP

Você está procurando uma maneira de exibir os posts mais populares usando meta de postagem de visualizações? Embora provavelmente exista um plugin para isso, criamos um snippet de código rápido que você pode usar para exibir os posts mais populares usando meta de postagem de visualizações no WordPress.

Você também pode precisar verificar como rastrear visualizações de posts sem um plugin usando meta de post.

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo index.php do seu tema:

<? 
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC'); 
?>

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: As 10 melhores empresas de hospedagem de sites e como escolher o melhor registrador de domínio.

Comentários   Deixe uma resposta

  1. Obrigado pelas dicas

  2. Obrigado pelas suas dicas! Muito bom

  3. Felipe Brandão August 25, 2013 at 8:58 pm

    Ei Kevin, como faço para exibir apenas os mais populares de "hoje"?

  4. Obrigado, mas não consigo usar essas dicas. Por favor, me ajude de forma simples. Obrigado, mano

  5. Como exibir posts populares relacionados a uma categoria específica em páginas de posts?? E como organizar esse widget se o adicionarmos usando functions.php??

    1. Basta adicionar &cat= após DESC e inserir o número do ID da categoria.

  6. isso é incrível, muito obrigado… estou tendo problemas com a navegação das páginas (next_posts_link/previous_posts_link) ele mostra a quantidade certa de posts, mas o mesmo post em cada página. como posso consertar isso?? por favor, me ajude!
    obrigado!

    1.  É difícil dizer sem ver o código envolvido. Sugiro que me envie um e-mail e darei uma olhada rápida. http://wpsnipp.com/index.php/contact/

      1. Você conseguiu resolver o problema com este usuário? Estou tendo o mesmo problema na minha página de posts populares. Todas as páginas paginadas mostram os mesmos posts populares da primeira página.

  7. Display Popular Posts in WordPress to Keep Your Best Content Fresh March 13, 2012 at 10:53 am

    […] Temos um bom tutorial aqui sobre Como Exibir Seus Posts Mais Populares nos Últimos 30 Dias. O WPSnipp.com também tem um bom artigo sobre como exibir posts populares usando dados de visualizações de posts. […]

  8. Estou recebendo apenas dois posts no resultado. Embora eu tenha passado  posts_per_page=5 para a consulta de posts.  

    Abaixo está o meu loop. Você pode me dizer onde estou errando?

    query_posts(‘meta_key=views&orderby=views&order=DESC&posts_per_page=5’)

    Eu também tentei sua consulta de posts, mas obtive o mesmo resultado. Apenas dois posts na saída.

    1. essa consulta parece boa, eu assumiria, é claro, que você tem mais de 2 posts. Pode ser algum outro código dentro do seu template.

    2. Isso acontece porque apenas dois dos seus posts foram visualizados e realmente possuem um campo personalizado chamado “views” criado. Eu tive o mesmo problema. Assim que um post era visualizado pela primeira vez, ele aparecia na página da categoria.

  9. Rafael Apocalypse September 1, 2011 at 3:49 pm

    Eu tentei usar este código em um site que estou construindo, mas por algum motivo estranho ele atualizava 2 posts, sempre, e de forma aleatória, era sempre o mesmo, mas em algumas tentativas, mudou, eu realmente não sei por quê.

    Pesquisando online, encontrei alguém usando global $post; e $post_id = (int)$post->ID; para obter o ID do post para usar em update_post_meta(); Então mudei meu código, e tudo está ok agora.

    1. Oi Rafael, Interessante hhhmmmm, algumas pessoas também disseram que tiveram problemas, eu me pergunto se isso resolveria. Vou testar as coisas e fazer uma atualização. Obrigado pela informação….

  10.  Oi, tentei integrar este snippet na minha página, mas ele só funciona pela metade do que deveria. Toda vez que um post é clicado, o snippet de código também exibe o post seguinte como se tivesse sido visualizado por alguém. Espero que você entenda o que quero dizer 😉

    1. Bem, este trecho funciona com o seguinte trecho para salvar as visualizações em postmeta,  http://wpsnipp.com/index.php/functions-php/track-post-views-without-a-plugin-using-post-meta/

      Então, se você tiver ambos configurados, deve funcionar bem.  O trecho acima apenas permite que você ordene as postagens pelas visualizações de postagem se você tiver ambos os trechos configurados.

      1.  Obrigado pela sua resposta. (Infelizmente) Eu tenho ambos configurados e não funciona. É bem estranho para mim...

        1. qual versão do wordpress você está executando atualmente? Eu testei em uma instalação limpa 3.1.2. Pode ser um dos seus plugins que está causando problemas.

        2. qual versão do wordpress você está executando atualmente? Eu testei em uma instalação limpa 3.1.2. Pode ser um dos seus plugins que está causando problemas.

        3. Estou executando a 3.1.1. Mas eu não acho que haja uma diferença significativa entre as duas, não é?

        4. Não, 3.1.1 não deveria ser um problema, o que pode causar problemas é um plugin

  11. Corrigindo meu próprio problema:
    ordby=post_views_count deve ser alterado para orderby=meta_value_num meta_value_num foi adicionado ao core há algum tempo: http://core.trac.wordpress.org/ticket/10649Robert

    1. Ahh ok legal, fico feliz que você conseguiu fazer funcionar. Você pode postar um novo link para o bug – recebo um erro de não encontrado.

      1. Na verdade, ele está certo. Eu obtive apenas posts aleatórios usando este código e mudar o orderby para  meta_value_num realmente corrigiu o problema. Obrigado

        1. Daniel, você está correto, fiz alguns testes e acabei de atualizar o post, obrigado novamente pela contribuição.

  12. A ordenação não funciona corretamente. Meus posts são ordenados assim: 9,8,7,6,5,4,3,2,1,10,11,12 etc.

    Alguma ideia para obter a ordem correta: 12,11,10,9,8…?

  13. simone bernacchia April 22, 2011 at 1:04 am

    Com uma pequena modificação também pode funcionar com wp-comments, já que usa o mesmo método:

    query_posts('meta_key=views&orderby=views&order=DESC');

    1. Não estou familiarizado com wp-comments, é um plugin?

  14. Como você configura isso para mostrar os posts mais populares de hoje, esta semana ou este mês?

    Isso é de todos os tempos, presumo.

    Obrigado.

    1. Você pode apenas adicionar um pouco à query_post &monthnum=’ . date( ‘n’, current_time( ‘timestamp’ ) )

      query_posts(‘meta_key=post_views_count&orderby=post_views_count&order=DESC&monthnum=’ . date( ‘n’, current_time(‘timestamp’))’);

      1. Caro Kevin, tentei isso, mas não está funcionando, aqui está meu código 

        por favor me ajude

      2. estes mas não está funcionando aqui está meu código 
        query_posts(‘meta_key=post_views_count&orderby=post_views_count&order=DESC&monthnum=’ . date( ‘n’, current_time(‘timestamp’))); if ( have_posts() ) : while ( have_posts() ) : the_post(); 
        caro Kevin eu tentei 

        por favor me ajude

        1.  seu valor de orderby não está correto,

          1. Sangeeta Mevar July 7, 2012 at 8:46 am

            por favor responda a Yashmistrey Kevin !!

          2. Sangeeta, eu respondi, no trecho acima você pode ver

            orderby=meta_value_num

    2. Obrigado

  15. 20 More WordPress Code Snippets and Hacks March 28, 2011 at 5:27 am

    […] <? query_posts('meta_key=post_views_count&orderby=post_views_count&order=DESC'); ?> Fonte →Breadcrumbs Without a PluginBreadcrumbs podem ser uma técnica de navegação útil que oferece um link para o […]

  16. Entendi!

    Aqui está meu código.

    <a href="”>

    1. Legal, fico feliz que você conseguiu fazer as coisas funcionarem, este é um link para um código de exemplo que você também pode usar,
      http://wpsnipp.com/wp-content/uploads/2011/03/post-views-per-page.txt

  17. Não consigo fazer isso funcionar

    Assim?

    ‘dropzone’, ‘posts_per_page’ => 2) ); ?>

    have_posts() ) : $loop->the_post(); ?>
    <a href="”>

    1. Oi Alec,
      Se você quiser limitar o número de posts, você faria isso
      http://wpsnipp.com/wp-content/uploads/2011/03/posts-per-page-post-views.txt

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!