Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress’te Geçen Haftanın Yazıları Nasıl Görüntülenir?

Başlangıç seviyesindeki okuyucularımızın çoğu kısa süre içinde WordPress tem alarını değiştirmeye başlıyor, bu yüzden başlamalarına yardımcı olmak için bir WordPress tema hile sayfamız var. Bu da yeni kullanıcılar için bazı ilginç zorlukları beraberinde getiriyor. Böyle bir okuyucumuz geçenlerde bize WordPress’te geçen haftanın yazılarının nasıl görüntüleneceğini sordu. Ana sayfalarına bir önceki haftanın yazılarını gösteren bir bölüm eklemek istiyorlardı. Bu makalede, WordPress’te geçen haftanın gönderilerini nasıl görüntüleyeceğinizi göstereceğiz.

Önceki haftanın gönderilerini nasıl görüntüleyeceğinizi göstermeden önce, WP_Query kullanarak mevcut haftanın gönderilerini nasıl görüntüleyebileceğinize bir göz atalım. Aşağıdaki kodu kopyalayıp temanızın functions.php dosyasına veya siteye özel bir eklentiye yapıştırın.

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

Yukarıdaki örnek kodda, önce geçerli haftayı ve yılı bulduk. Daha sonra bu değerleri WP_Query’de mevcut haftadaki gönderileri görüntülemek için kullandık. Şimdi tek yapmanız gereken tema dosyanızda gönderileri görüntülemek istediğiniz yere <?php wpb_this_week(); ?> eklemek.

Bu basitti, değil mi? Şimdi geçen haftanın gönderilerini görüntülemek için tek yapmanız gereken haftanın değerinden 1 eksiltmek. Ancak bu yılın ilk haftasıysa, geçen yıl yerine hafta ve mevcut yıl için 0 elde edersiniz. İşte bu sorunu nasıl çözeceğiniz.


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;

}

Yukarıdaki örnek kodda iki kontrol yerleştirdik. İlk kontrol, geçerli haftanın değeri 1 olduğunda son haftanın değerini 52 (bir yılın son haftası) olarak ayarlar. İkinci kontrol, son haftanın değeri 52 olduğunda yılın değerini geçen yıl olarak ayarlar.

Geçen haftanın gönderilerini görüntülemek için tek yapmanız gereken temanızın şablon dosyasına <?php wpb_last_week_posts(); ?> eklemektir. Ya da bunu bir sayfaya veya widget’a ekleyebilmeniz için bir kısa koda sahip olmak istiyorsanız, bu satırı yukarıda verilen kodun altına eklemeniz yeterlidir.

add_shortcode('lastweek', 'wpb_last_week_posts');

Artık bu kısa kodu bir gönderide, sayfada veya bunun gibi bir widget’ta kullanabilirsiniz:

[lastweek]

Özel sorgular oluşturmak için her zaman WP_Query’ye ihtiyacınız olmadığını lütfen unutmayın. WordPress, son yazıları, arşivleri, yorumları vb. görüntülemenize yardımcı olacak bir avuç işlevle birlikte gelir. Mevcut işlevleri kullanmanın daha kolay bir yolu varsa, kendi sorgularınızı yazmanıza gerçekten gerek yoktur.

Umarız bu makale geçen haftanın yazılarını WordPress’te görüntülemenize yardımcı olmuştur. Kodu deneyin ve ihtiyaçlarınızı karşılayacak şekilde değiştirin. Herhangi bir sorunuz olursa aşağıya yorum bırakarak bize bildirin veya Twitter‘da bize katılın.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

8 yorumLeave a Reply

  1. Ali Hesari

    This is very useful for me. Thank you.

  2. hitesh

    this is very useful for us. keep it

  3. Kenny

    This would be great if a YouTube video was made available

  4. Allison

    I am curious about when/why I would want to display the week’s posts? On my home page, I display excerpts, so the posts from my past 2 weeks or so are visible. What am I missing here? Thanks!

    • WPBeginner Support

      You don’t need to. But some other website owners may have a layout where they might want to display previous week’s posts separately. This tutorial is aimed to help those users.

      Admin

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.