Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
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.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklarsanız komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve nasıl destek olabileceğinizi görün. İşte editoryal sürecimiz.

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.

Ultimate WordPress Araç Kiti

Araç setimize ÜCRETSİZ erişim sağlayın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Reader Interactions

9 yorumBir Cevap Bırakın

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Allison says

    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 says

      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.

      Yönetici

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.