Tutoriais confiáveis de WordPress, quando você mais precisa.
Guia para Iniciantes em WordPress
WPB Cup
Mais de 25 Milhões
Sites usando nossos plugins
16+
Anos de experiência com WordPress
3000+
Tutoriais de WordPress por especialistas

Como Exibir Posts da Semana Passada no WordPress

Muitos de nossos leitores iniciantes logo começam a modificar seus temas do WordPress, é por isso que temos uma planilha de temas do WordPress para ajudá-los a começar. Isso traz alguns desafios interessantes para novos usuários. Um desses leitores, recentemente nos perguntou como exibir as postagens da semana passada no WordPress. Eles queriam apenas adicionar uma seção em sua página inicial que exibisse as postagens da semana anterior. Neste artigo, mostraremos como exibir as postagens da semana passada no WordPress.

Antes de mostrarmos como exibir as postagens da semana anterior, vamos primeiro dar uma olhada em como você pode exibir as postagens da semana atual usando WP_Query. Copie e cole o seguinte código no arquivo functions.php do seu tema ou em um plugin específico do site.

function wpb_this_week() { 
$week = date('W');
$year = date('Y');
$the_query = new WP_Query( 'year=' . $year . '&w=' . $week );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;
}

No exemplo de código acima, primeiro descobrimos a semana e o ano atuais. Em seguida, usamos esses valores no WP_Query para exibir posts da semana atual. Agora, tudo o que você precisa fazer é adicionar <?php wpb_this_week(); ?> no arquivo do seu tema onde você deseja exibir os posts.

Isso foi simples, não foi? Agora, para exibir as postagens da semana passada, tudo o que você precisa fazer é subtrair 1 do valor da semana. Mas se esta for a primeira semana do ano, você obterá 0 para a semana e o ano atual em vez do ano passado. Veja como corrigir esse problema.

function wpb_last_week_posts() { 
$thisweek = date('W');
if ($thisweek != 1) :
$lastweek = $thisweek - 1;   
else : 
$lastweek = 52;
endif; 
$year = date('Y');
if ($lastweek != 52) :
$year = date('Y');
else: 
$year = date('Y') -1; 
endif;
$the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;

}

No código de exemplo acima, colocamos duas verificações. A primeira verificação define o valor da semana passada como 52 (que é a última semana do ano) quando o valor da semana atual é 1. A segunda verificação define o valor do ano como o ano passado quando o valor da semana passada é 52.

Para exibir as postagens da semana passada, tudo o que você precisa fazer é adicionar <?php wpb_last_week_posts(); ?> ao arquivo de modelo do seu tema onde você gostaria de exibi-las. Ou, se você quiser um shortcode para poder adicioná-lo a uma página ou widget, basta adicionar esta linha abaixo do código fornecido acima.

add_shortcode('lastweek', 'wpb_last_week_posts');

Agora você pode usar este shortcode em uma postagem, página ou widget como este:

[lastweek]

Observe que você nem sempre precisa do WP_Query para criar consultas personalizadas. O WordPress vem com um punhado de funções para ajudá-lo a exibir postagens recentes, arquivos, comentários, etc. Se houver uma maneira mais fácil de usar as funções existentes, você realmente não precisa escrever suas próprias consultas.

Esperamos que este artigo tenha ajudado você a exibir as postagens da semana passada no WordPress. Experimente o código e modifique-o para atender às suas necessidades. Informe-nos se tiver alguma dúvida, deixando um comentário abaixo ou junte-se a nós no Twitter.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

8 CommentsLeave a Reply

  1. Fico curioso sobre quando/por que eu gostaria de exibir as postagens da semana? Na minha página inicial, exibo trechos, então as postagens das minhas últimas 2 semanas ou mais estão visíveis. O que estou perdendo aqui? Obrigado!

    • Você não precisa. Mas alguns outros proprietários de sites podem ter um layout onde desejam exibir as postagens da semana anterior separadamente. Este tutorial é voltado para ajudar esses usuários.

      Admin

Leave A Reply

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.