En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

WordPress Gönderi Döngüsünden En Son Gönderiyi Hariç Tutma

Kullanıcılara WordPress bloglarını kurarken, düzeni özelleştirme, özellikle de en son gönderiyi nasıl öne çıkaracağımız hakkında sık sık sorular alıyoruz.

Bazen en yeni gönderinin blog akışındaki diğer gönderilerle karışıp gitmesini istemezsiniz. Özel bir tasarımınız olabilir veya tamamen farklı bir konumda görünmesini sağlamanız gerekebilir.

WordPress gönderi döngüsünden en son gönderiyi hariç tutmak işte tam burada devreye giriyor. Bu size en son içeriği istediğiniz gibi görüntüleme esnekliği sağlar. Bu kılavuzda, WordPress gönderi döngüsünden en son gönderiyi hariç tutmanın iki yolunu göstereceğiz.

WordPress gönderi döngüsünden en son gönderiyi hariç tutma

Neden En Son Gönderiyi WordPress Gönderi Döngüsünden Hariç Tutmalı?

Varsayılan olarak WordPress, blog yazılarınızı ziyaretçilere ters kronolojik sırada görüntüler, böylece daha yeni gönderiler önce görünür. Ancak, en son gönderinin özel ana sayfanızda veya WordPress arşiv sayfanızda nasıl görüneceğini değiştirmek isteyebilirsiniz.

En son gönderiyi WordPress gönderi döngüsünden hariç tutarak, bu içeriği farklı bir konumda gösterebilir ve hatta kendi özel stilinizi ekleyebilirsiniz.

Bu bağlamda, en son blog gönderisini WordPress gönderi döngüsünden hariç tutarak nasıl gizleyebileceğinizi görelim. Kullanmak istediğiniz yönteme doğrudan atlamak için aşağıdaki hızlı bağlantıları kullanmanız yeterlidir:

En son gönderiyi gönderi döngüsünden hariç tutmanın en kolay yolu, WordPress web sitenize kod eklemektir.

Bazı kılavuzlar tema dosyalarını manuel olarak düzenlemenizi söyleyecektir, ancak bu yaygın WordPress hatalarına neden olabilir ve hatta web sitenizi tamamen bozabilir.

Bu nedenle, WPCode kullanmanızı öneririz. Sitenizi riske atmadan WordPress'e özel kod eklemeyi kolaylaştıran en iyi kod parçacığı eklentisidir.

Öncelikle, ücretsiz WPCode eklentisini yüklemeniz ve etkinleştirmeniz gerekecektir. Daha fazla bilgi için, bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza bakın.

Eklenti etkinleştirildikten sonra, Kod Parçacıkları » + Parçacık Ekle'ye gidin.

WordPress'e özel kod parçacıkları ekleme

Burada, sitenize ekleyebileceğiniz tüm hazır kod parçacıklarını göreceksiniz. Bunlar arasında yorumları tamamen devre dışı bırakmanıza, WordPress'in normalde desteklemediği dosya türlerini yüklemenize, ek sayfa sayfalarını devre dışı bırakmanıza ve çok daha fazlasına olanak tanıyan bir kod parçacığı bulunur.

Artık fare imlecinizi ‘Özel Kod Ekle (Yeni Kod Parçacığı)’ seçeneğinin üzerine getirebilir ve göründüğünde ‘+ Özel Kod Parçacığı Ekle’ düğmesine tıklayabilirsiniz.

Özel Kod Parçacığı Ekle düğmesine tıklayın

Ardından, ekranda gösterilen seçenekler listesinden kod türü olarak ‘PHP Snippet’i seçin.

Kod türü olarak PHP Kod Parçacığı'nı seçin

Bir sonraki sayfada, kod parçacığına bir başlık yazın. Bu sadece referansınız içindir, bu yüzden istediğiniz herhangi bir şeyi kullanabilirsiniz.

WordPress gönderi döngüsünden en son blogu hariç tutma

Bu işlemden sonra, aşağıdaki kodu 'Kod Önizleme' kutusuna yapıştırmanız yeterlidir:

<?php
function wpsites_exclude_latest_post( $query ) {
	if ( $query->is_home() && $query->is_main_query() ) {
		$query->set( 'offset', '1' );
	}
}

add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );

Bundan sonra, sayfayı aşağı kaydırarak 'Ekleme' bölümüne gidin.

Henüz seçilmemişse, 'Otomatik Ekle' ve 'Her Yerde Çalıştır'ı seçin.

Bir WordPress web sitesine otomatik olarak kod ekleme

Son olarak, ekranın üst kısmına kaydırın ve ‘Etkin Değil’ kaydırıcısına tıklayarak ‘Etkin’ olarak görünmesini sağlayın.

Ardından, kod parçasını canlı hale getirmek için ‘Snippet Kaydet’ veya ‘Güncelle’ düğmesine tıklayın.

WordPress gönderi döngüsünden en son blogu hariç tutma

Şimdi, WordPress web sitenizi ziyaret ederseniz, en son blog gönderisi gizlenecektir.

Yöntem 2: WordPress Tema Dosyalarını Düzenleme (Eklenti Gerekmez)

Notlar: Bu öğretici yalnızca klasik WordPress temaları ile çalışacaktır, çünkü blok temaların farklı tema dosyaları vardır. Bir blok tema kullanıyorsanız, ilk yöntemi kullanmanızı öneririz.

Ayrıca, bu yöntemi izlerken hataları önlemek için öncelikle web sitenizi yedeklemenizi ve/veya bir hazırlama ortamı kullanmanızı öneririz.

En son gönderiyi WordPress gönderi döngüsünden hariç tutmanın bir başka yolu da WordPress tema dosyalarınıza kod eklemektir.

Bu, yukarıdaki kodla benzer bir sonuç elde eder, ancak görüntülenmesini istediğiniz WordPress döngüsüne doğrudan eklemeniz gerekecektir.

Örneğin, web sitenizdeki gönderi döngüsünü değiştirmek istiyorsanız, kodu index.php dosyanıza eklemeniz gerekir.

Yalnızca WordPress dosyalarınıza doğrudan kod eklemenin, WordPress blogunuzda sayfalama sorunlarına yol açabileceğini unutmayın.

Öncelikle, WordPress barındırma sağlayıcınızın dosya yöneticisini açmanız veya web sitenizi bir FTP istemcisiyle bağlamanız gerekir.

Bu eğitim için, FTP kullanmaktan çok daha kolay olduğu için Bluehost'un dosya yöneticisini kullanacağız. Bununla birlikte, FTP veya farklı bir web barındırıcısı kullanmanızdan bağımsız olarak adımlar az çok aynıdır.

Eğer bir Bluehost kullanıcısıysanız, hosting hesabı kontrol panelinize giriş yapın ve 'Web Siteleri' sekmesine gidin. Ardından, düzenlemek istediğiniz web sitesindeki 'Ayarlar'a tıklayın.

Bluehost site ayarları

Şimdi, Hızlı Bağlantılar bölümüne gidin.

Ardından, ‘Dosya Yöneticisi’ düğmesine tıklayın. Bluehost ayrıca ihtiyacınız olursa web sitenizin kök dizinini de gösterir.

Bluehost'ta bir web sitesinin dosya yöneticisine erişme

Dosya yöneticisine girdikten sonra, düzenlemek istediğiniz dosyayı bulmanız gerekir. Diyelim ki kodu index.php dosyasına eklemek istiyorsunuz, o zaman bunu genel_html/wp-content içindeki mevcut temanızın klasöründe bulacaksınız.

Oraya ulaştığınızda, index.php dosyasına sağ tıklayın ve 'Düzenle'ye tıklayın.

Bluehost dosya yöneticisinde index.php dosyasını açma

Şimdi, aşağıdaki kodu kopyalamanız ve WordPress döngünüze eklemeniz gerekecek:

query_posts('posts_per_page=6&offset=1');

Bu kod, döngüye en son gönderiden sonra yalnızca 5 gönderi göstermesini söyler.

Kodu WordPress döngünüzün hemen üstüne eklemeniz gerekecek, böylece aşağıdaki kod parçacığına benzer görünecektir:

<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {

	// Load posts loop.
	while ( have_posts() ) {
		the_post();

		get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
	}

	// Previous/next page navigation.
	twenty_twenty_one_the_posts_navigation();

} else {

	// If no content, include the "No posts found" template.
	get_template_part( 'template-parts/content/content-none' );

}

Bluehost dosya yöneticimizdeki kodumuz şu şekilde görünüyor:

Bluehost dosya yöneticisinde en son gönderiyi hariç tutmak için kod ekleme

Kodu ekledikten sonra, 'Değişiklikleri Kaydet' düğmesine tıklamanız yeterlidir.

Ardından, WordPress web sitenizi önizleyin.

WordPress Gönderilerinizi Yönetmek İçin Daha Fazla İpucu ve Püf Noktası Öğrenin

WordPress blogunuzu daha da optimize etmek ister misiniz? Bu kılavuzlara göz atın:

Umarım bu makale, WordPress döngüsünden en son gönderiyi nasıl hariç tutacağınızı öğrenmenize yardımcı olmuştur. Ayrıca, WordPress'te toplu gönderi ve sayfa ekleme kılavuzumuza ve WordPress için en iyi ilgili gönderi eklentileri hakkındaki uzman seçimlerimize de bakmak isteyebilirsiniz.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.

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

Nihai WordPress Araç Seti

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

Okuyucu Etkileşimleri

41 CommentsLeave a Reply

  1. Öne çıkan görselleri (küçük resimleri) olmayan tüm gönderileri nasıl kaldırırım, 9000 tane var onları kaldırmak istiyorum!

  2. Selam millet, bu makale için teşekkürler! Bunu uygulamak istiyorum, ancak her denediğimde garip bir sorunla karşılaşıyorum: girişler, gönderinin kendisini göstermek yerine, en son gönderilerin bir listesini gösteren ön sayfa ile tam olarak aynı görünüyor. Kodum biraz farklı, çünkü SMTheme kullanıyor. Herhangi bir yardım çok takdir edilecektir. Not: İki kez gönderdiğim için üzgünüm, ancak kod yanlış yazdırıldı. İşte buyurun:

  3. Çözüm iyi çalışıyor, Teşekkürler. ancak bu kodu uyguladıktan sonra sayfalama bozuldu, denedim ama doğru sayfalama ile çalışamadım. Sayfalama için herhangi bir çözüm var mı? .

    • sayfa sayısına ve bir sayaca göre li'ye sınıf uygulayın ve p1c1'e display:none; olarak stil verin

  4. İki eklenti kullandım. Biri "Recent facebook post" wordpress'te son gönderileri göstermek için ve "Facebook publish page" wordpress gönderilerimi facebook'ta yayınlamak için. Şimdi, wordpress gönderilerimden zaten yayınlanmış olan facebook'un son gönderisini hariç tutmak istiyorum.

    Bunu nasıl yapabilirim?

    • Bunun için Facebook sayfanızdan içerik yayınlayan eklentinizin, bir gönderinin zaten WordPress'ten Facebook'a yayınlanıp yayınlanmadığını kontrol etmesi gerekir. Eklenti dosyalarını doğrudan düzenlemenizi önermiyoruz. Ancak, php dosyalarını düzenleme konusunda rahatsanız, eklentiyi yeni bir eklenti olarak çatallayabilir ve bunu başarmak için kodu ekleyebilirsiniz.

      Yönetici

  5. Harika ipucu için teşekkürler. Bunu anlamak için saatler harcamıştım ve siz çok basitleştirdiniz!

  6. Çok teşekkürler.
    'post__not_in' seçeneği wordpress 3.5'te çalışmıyor

  7. Hmm, bu kodu bir kategori sayfası döngüsünde denediğimde, gönderileri yalnızca o kategori için tutamadı, bunun yerine ön sayfa döngüsüymüş gibi davrandı ve tüm gönderileri gösterdi.

  8. Merhaba, sadece bir sorum var, bunu yaptığımda, sayfalama artık çalışmıyor, bunu nasıl düzeltebilirim?

    teşekkürler, bunun dışında mükemmel çalışıyor!!

    Teşekkürler!

    • Yes, pagination not working. you have found any working solution for pagination, I am still searching .. :(

        • sayfalama çoğu zaman ana sayfada çalışmıyor, bu yüzden kendi ajax sayfalama çağrımızı yapabiliriz ve çoğunlukla sayfalama için WP_Query() yerine query_posts() çalışır

  9. Bir gönderiyi bir kategoriden öteye taşımanın bir yolu var mı?

    Örneğin, x kategorisindeki SON gönderi dışındaki tüm gönderileri göstermek istiyorum

  10. “query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation. :(

  11. Thanks for the info. Worked well :) Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?

    Asıl mesele, podcast yayınlayan bir blogum var. Ana sayfa en son podcast'i öne çıkarıyor – gönderiler Kategori: Podcast altında kendi özel stiliyle yayınlanıyor. Aynı zamanda, ana sayfa ayrıca en son 5 gönderiyi de gösteriyor, bu gönderiler arasında “podcast” kategorisi altındaki gönderiler de olabilir. En son “Podcast” kategorisi altındaki gönderiyi döngüde göstermek istemiyorum çünkü zaten kendi özel stiliyle öne çıkarılmış durumda. Umarım bana yardımcı olabilirsiniz. Teşekkürler!

    • İsterseniz tüm gönderileri "postcast" kategorisinden döngünüzden hariç tutabilirsiniz. Ancak yalnızca en son gönderiyi hariç tutmanın basit bir yolu yoktur.

      Yönetici

  12. İpucu için teşekkürler!
    Ancak şu anda ekranda gösterilen gönderiyi hariç tutmanın bir yolu olup olmadığını merak ediyordum.

    Evet ise, bunu nasıl yapabileceğimi söyler misiniz?

    Şimdiden teşekkürler!

      • Sayfalarımdan biri, kullanıcının görüntülediği en son veya mevcut gönderiyi ilk önce görüntüler.

        Mevcut gönderi döngü tarafından çağrılır.

        Bu gönderinin altında, mevcut gönderi bu listede görüntülenmeden diğer önceki gönderilerin özetlerini görüntülemek istiyorum.

        Önceki gönderi özetleri query_posts tarafından çağrılır:

        query(‘showposts=3&cat=5’);
        while($previousPosts->have_posts()) : $previousPosts->the_post();
        ?>

        Gördüğünüz gibi, 5 numaralı kategoriden 3 gönderi (alıntı) çağırıyorum, bu da Haberler kategorisinden üç gönderi gösteriyor. Bu normal görünüyor ancak bu 3 gönderi alıntısının içinde, döngü tarafından çağrılan mevcut gönderi de bu listede yer alıyor.
        Bu listeden mevcut gönderiyi hariç tutmanın bir yolunu biliyor musunuz?

        Tekrar teşekkürler!

        • Tekrar hızlı yanıtınız için teşekkürler!
          Ancak, sorguda offset=1'i denedim, tek sorun şu ki, daha eski bir gönderiye bastığınızda, ana döngüde eski gönderiyi görürsünüz, liste özetlerinde en son gönderi hariç tutulur, ancak şu anda geçerli gönderi olan eski gönderi hala özet listesindedir.

          En son gönderiyi değil, mevcut gönderiyi hariç tutmanın bir yolu var mı?

          Thanks so far already :)

        • Sorunun tam olarak ne olduğunu görebilmemiz için sitenin canlı bağlantısını bize e-posta ile gönderin. E-posta için iletişim formunu kullanın.

  13. Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done :)

  14. Ana sayfada yapışkan olanlar hariç tüm gönderileri kaldırmak için bu kodu tam olarak nereye koyuyorsunuz?

    Teşekkürler,

    • Bu çok adımlı bir işlemdir. İlk olarak özel bir sayfa şablonuna sahip olmanız gerekir. İkinci olarak, bu özel sayfayı, yani ön sayfanızı oluşturmanız gerekir. Ardından, yalnızca sabitlenmiş gönderileri gösteren özel şablonda bir sorgu çalıştırırsınız.

      Yönetici

Yanıt Bırakın

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.