Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man visar förra veckans inlägg i WordPress

Många av våra nybörjarläsare börjar snart modifiera sina WordPress-teman, därför har vi ett WordPress-temaguide för att hjälpa dem att komma igång. Detta medför några intressanta utmaningar för nya användare. En sådan läsare frågade oss nyligen hur man visar inlägg från förra veckan i WordPress. De ville bara lägga till en sektion på sin startsida som visade inlägg från föregående vecka. I den här artikeln visar vi hur du visar inlägg från förra veckan i WordPress.

Innan vi visar hur du visar inlägg från föregående vecka, låt oss först titta på hur du kan visa inlägg från den aktuella veckan med WP_Query. Kopiera och klistra in följande kod i din temas functions.php-fil eller ett webbplatsspecifikt plugin.

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;
}

I exempelkoden ovan räknade vi först ut den aktuella veckan och året. Vi använde sedan dessa värden i WP_Query för att visa inlägg från den aktuella veckan. Nu behöver du bara lägga till <?php wpb_this_week(); ?> i din temafil där du vill visa inläggen.

Detta var enkelt, eller hur? Nu för att visa förra veckans inlägg behöver du bara subtrahera 1 från veckans värde. Men om detta är årets första vecka, får du 0 för veckan och innevarande år istället för förra året. Här är hur du löser det problemet.

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;

}

I exempelkoden ovan har vi lagt in två kontroller. Den första kontrollen sätter förra veckans värde till 52 (vilket är den sista veckan på ett år) när den aktuella veckans värde är 1. Den andra kontrollen sätter årets värde till förra året när förra veckans värde är 52.

För att visa inlägg från förra veckan behöver du bara lägga till <?php wpb_last_week_posts(); ?> i din temas mallfil där du vill visa dem. Eller om du vill ha en kortkod så att du kan lägga till detta i en sida eller en widget, lägg då bara till den här raden under koden som ges ovan.

add_shortcode('lastweek', 'wpb_last_week_posts');

Du kan nu använda denna kortkod i ett inlägg, en sida eller en widget så här:

[förra veckan]

Observera att du inte alltid behöver WP_Query för att skapa anpassade frågor. WordPress levereras med en handfull funktioner som hjälper dig att visa senaste inlägg, arkiv, kommentarer, etc. Om det finns ett enklare sätt att använda befintliga funktioner, då behöver du egentligen inte skriva egna frågor.

Vi hoppas att den här artikeln hjälpte dig att visa förra veckans inlägg i WordPress. Experimentera med koden och modifiera den för att uppfylla dina behov. Låt oss veta om du har några frågor genom att lämna en kommentar nedan eller gå med oss på Twitter.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

8 CommentsLeave a Reply

  1. Jag är nyfiken på när/varför jag skulle vilja visa veckans inlägg? På min startsida visar jag utdrag, så inläggen från mina senaste 2 veckor eller så är synliga. Vad missar jag här? Tack!

    • Det behöver du inte. Men vissa andra webbplatsägare kan ha en layout där de vill visa inlägg från föregående vecka separat. Den här handledningen är avsedd att hjälpa dessa användare.

      Admin

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.