Suporte » Desenvolvendo com WordPress » Postagens mais clicadas dos últimos três meses

  • Boa noite.

    Atualmente listo na lateral do blog os 5 posts mais clicados, sem limitação de datas. Isso faz com que postagens muito antigas continuem aparecendo na lista, gostaria de limitar os resultados aos posts mais clicados nos últimos três meses somente. Alguém poderia ajudar?

    Desde já agradeço.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Rodrigo,

    Coloque antes do Loop da página index.php a seguinte linha:

    $mes = date(‘m’); query_posts(‘monthnum=’ . $mes );

    Caso não saiba, o Loop é a estrutura para exibir os posts. Um exemplo:

    if ( have_posts() ) : while ( have_posts() ) : the_post();

    http://codex.wordpress.org/The_Loop

    Coloque antes do Loop da página index.php a seguinte linha:
    if (is_home()) query_posts(‘monthnum=’ . date(‘m’) );

    Criador do tópico rodrigochristo

    (@rodrigochristo)

    Bom dia, Julio.

    Dessa forma seriam exibidos os posts do mês atual, ou estou enganado? O código para seleção dos posts mais recentes está da seguinte forma:

    $args = array( 'meta_key' => 'post_views_count',
    		'orderby'  => 'meta_value_num',
    		'order'    => 'DESC',
    		'post_date' => $data,
    		'numberposts' => '5'  );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ){
    /* Código para exibição do thumbnail + título do post */
    }

    Esse código me mostra as postagens mais visualizadas desde o início, mas preciso limitar somente aos três últimos meses. Efetuei alguns testes, mas em nenhum deles tive sucesso.

    Rodrigo que loop/funcao usou para buscar os mais clicados?

    Criador do tópico rodrigochristo

    (@rodrigochristo)

    A pesquisa estava sendo feita usando o código da minha última postagem, com a função wp_get_recent_posts, mas não estava conseguindo limitar por datas. Pra resolver eu fiz a seleção manualmente, efetuando uma consulta direta no BD com o mysql_query e apresentando os resultados dentro do loop abaixo:

    while($recent = mysql_fetch_assoc($recent_posts)){
    /* Código para exibição do thumbnail + título do post */
    }

    Não é o melhor dos mundos, mas ainda não consegui achar uma forma de fazer isso usando as funções nativas do wordpress.

    Rodrigo, pelas suas pesquisas você viu algo como isso: http://rockablemedia.com/wordpress/adding-a-date-range-to-your-wordpress-query

    Só encontrei em ingles. Veja se consegue adaptar com sua função.

    Criador do tópico rodrigochristo

    (@rodrigochristo)

    Ainda não havia encontrado dessa forma, Everaldo. Vou fazer um teste aqui e posto os resultados. Muito obrigado pelo auxílio.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Postagens mais clicadas dos últimos três meses’ está fechado para novas respostas.