SÄ hÀr visar du inlÀgg frÄn förra veckan i WordPress

SÄ hÀr visar du inlÀgg frÄn förra veckan i WordPress

MÄnga av vÄra lÀsare pÄ nybörjarnivÄ börjar snart Àndra sina WordPress-teman. DÀrför har vi ett WordPress-fuskblad för att hjÀlpa dem komma igÄng. Detta ger nÄgra intressanta utmaningar för nya anvÀndare. En sÄdan lÀsare frÄgade oss nyligen hur man visar förra veckans inlÀgg i WordPress. De ville bara lÀgga till ett avsnitt pÄ sin hemsida som visade inlÀgg frÄn föregÄende vecka. I den hÀr artikeln visar vi hur du visar förra veckans inlÀgg i WordPress.

Innan vi visar hur du visar föregÄende veckas inlÀgg, lÄt oss först titta pÄ hur du kan visa aktuell veckas inlÀgg med WP_Query. Kopiera och klistra in följande kod i ditt temas funktioner.php-fil eller ett platsspecifikt 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 fick vi först reda pÄ aktuell vecka och Är. Vi anvÀnde sedan dessa vÀrden i WP_Query för att visa inlÀgg frÄn den aktuella veckan. Nu Àr allt du behöver göra att lÀgga till i din temafil dÀr du vill visa inlÀggen.

Det hÀr var enkelt, eller hur? För att visa förra veckans inlÀgg Àr allt du behöver göra minus 1 frÄn veckans vÀrde. Men om detta Àr den första veckan pÄ Äret fÄr du 0 för veckan och innevarande Är istÀllet för förra Äret. SÄ hÀr ÄtgÀrdar du 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 placerat tvÄ kontroller. Den första kontrollen sÀtter den senaste 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 den senaste veckans vÀrde Àr 52.

För att visa inlÀgg frÄn förra veckan Àr allt du behöver göra att lÀgga till till ditt temas mallfil dÀr du vill visa dem. Eller om du vill ha en kortkod sÄ att du kan lÀgga till den pÄ en sida eller en widget, lÀgg bara till den hÀr raden under koden ovan.


add_shortcode('lastweek', 'wpb_last_week_posts');

Du kan nu anvÀnda den hÀr kortkoden i ett inlÀgg, en sida eller en sÄdan widget:

[lastweek]

Observera att du inte alltid behöver WP_Query för att skapa anpassade frÄgor. WordPress kommer 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 de befintliga funktionerna behöver du inte riktigt skriva dina egna frÄgor.

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