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 Özel Gönderi Türü Arşivlerine Sabitlenmiş Gönderiler Nasıl Eklenir

Bir web siteniz olduğunda, muhtemelen diğerlerinden daha önemli bazı gönderileriniz vardır. Bu gönderilerin ziyaretçileriniz tarafından ilk görülmesini sağlamanın bir yolu, onları bir sayfanın en üstüne yerleştirmektir.

WordPress yapışkan gönderiler özelliği, bunu standart gönderilerle yapmanıza olanak tanır. Ancak web sitenizde özel gönderi türleri kullanıyorsanız, bu yapışkan gönderiler beklediğiniz gibi sayfanın en üstünde görünmeyecektir.

Bu makalede, özel gönderi türlerinize sabitleme işlevi eklemeyi ve bunları özel gönderi türü arşiv sayfalarında nasıl göstereceğinizi anlatacağız.

WordPress Özel Gönderi Türü Arşivlerine Sabitlenmiş Gönderiler Nasıl Eklenir

WordPress Özel Gönderilerini Neden Yapışkan Hale Getirmelisiniz?

WordPress web siteniz için standart bir gönderi veya sayfadan farklı bir formatta içerik oluşturuyorsanız, muhtemelen zaten özel bir gönderi türü kullanıyorsunuzdur. Örneğin, bir kitap inceleme sitesi çalıştırıyorsanız, bir Kitap İncelemeleri gönderi türü oluşturmuş olabilirsiniz.

En önemli içeriğinizi özel gönderi türü arşivinin en üstüne yerleştirmek isteyebilirsiniz. Bu, derinlemesine ve zamana duyarlı içeriğin yanı sıra en popüler özel gönderilerinizi öne çıkarmanın en iyi yollarından biridir.

Ancak WordPress, sabitleme gönderileri özelliğini sunarken, bu özel gönderi türleri için mevcut değildir.

Özel gönderi türü arşiv sayfalarınıza bir yapışkan özelliği eklemeye bakalım.

Özel Gönderi Türlerine Yapışkan Gönderiler Ekleme

Öncelikle Sticky Posts – Switch eklentisini yüklemeniz ve etkinleştirmeniz gerekecektir. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza bakın.

Not: Bu eklenti uzun süredir güncellenmemiş olsa da, testlerimizde hala iyi çalışıyor. WordPress sürümünüzle test edilmemiş eklentileri yükleyip yüklememeniz gerektiği hakkındaki makalemizi okumak isteyebilirsiniz.

Etkinleştirme üzerine, eklentiyi yapılandırmak için Ayarlar » Sabitlenmiş Gönderiler – Anahtar sayfasını ziyaret etmeniz gerekir. Sabitlemek istediğiniz özel gönderi türlerinin yanındaki kutuyu işaretlemeniz yeterlidir.

Bu eğitim için 'Kitap İncelemeleri' gönderi türünü kontrol edeceğiz.

Ayarlar » Yapışkan Gönderiler - Eklentiyi Yapılandırmak İçin Sayfayı Değiştir'i Ziyaret Edin

Bundan sonra, ekranın altındaki ‘Değişiklikleri Kaydet’ düğmesine tıklamanız gerekir.

Artık o özel gönderi türü için yönetici sayfasını ziyaret ettiğinizde, gönderileri sabitlemenize olanak tanıyan yeni bir sütun fark edeceksiniz. Yapmanız gereken tek şey, öne çıkarmak istediğiniz gönderilerin yanındaki yıldıza tıklamak.

Yapışkan Hale Getirmek İstediğiniz Gönderilerin Yanındaki Yıldız'a Tıklayın

Gönderiyi yapışkan hale getirdiniz. Sorun şu ki WordPress yapışkan gönderileri yalnızca ana sayfada gösterir. Şimdi, yapışkan gönderileri arşiv sayfalarında nasıl göstereceğimize bakacağız.

Özel Gönderi Türü Arşivlerinde Yapışkan Gönderileri Görüntüleme

Özel gönderi arşiv sayfanızın en üstünde yapışkan gönderilerinizi görüntülemek için yeni bir şablon oluşturmanız gerekir.

Bunu yapmak için, barındırma kontrol panelinizdeki bir FTP istemcisini veya dosya yöneticisi seçeneğini kullanmanız gerekecektir. Daha önce FTP kullanmadıysanız, WordPress'e dosya yüklemek için FTP'nin nasıl kullanılacağına dair rehberimize bakmak isteyebilirsiniz.

FTP istemcinizi veya dosya yöneticinizi kullanarak sitenize erişmeniz ve ardından /wp-content/themes/YOURTHEME/ klasörüne gitmeniz gerekir.

Örneğin, Twenty Twenty-One temasını kullanıyorsanız, o zaman /wp-content/themes/twentytwentyone/ yoluna gitmeniz gerekir.

Ardından, o klasörde archive-POSTTYPE.php gibi bir adla yeni bir dosya oluşturmanız gerekir.

Örneğin, özel gönderi türü kodunuz ‘bookreviews’ ise, archive-bookreviews.php adında yeni bir dosya oluşturmalısınız.

FTP İstemcisi Kullanarak Tema Klasörünüzü Ziyaret Edin

Bundan sonra, aynı klasördeki archive.php dosyasını bulmanız gerekir. Archive.php içeriğini kopyalayıp oluşturduğunuz yeni dosyaya yapıştırmanız yeterlidir.

Sonraki adım, temanızın dosyalarına kod eklemenizi gerektirir. Sitenize kod ekleme konusunda yardıma ihtiyacınız varsa, WordPress'e özel kod ekleme kılavuzumuza bakın.

Hazır olduğunuzda, aşağıdaki kodu temanızın functions.php dosyasına veya WPCode gibi bir kod parçacığı eklentisine (önerilir) eklemeniz gerekir:

function wpb_cpt_sticky_at_top( $posts ) {
  
    // apply it on the archives only
    if ( is_main_query() && is_post_type_archive() ) {
        global $wp_query;
  
        $sticky_posts = get_option( 'sticky_posts' );
        $num_posts = count( $posts );
        $sticky_offset = 0;
  
        // Find the sticky posts
        for ($i = 0; $i < $num_posts; $i++) {
  
            // Put sticky posts at the top of the posts array
            if ( in_array( $posts[$i]->ID, $sticky_posts ) ) {
                $sticky_post = $posts[$i];
  
                // Remove sticky from current position
                array_splice( $posts, $i, 1 );
  
                // Move to front, after other stickies
                array_splice( $posts, $sticky_offset, 0, array($sticky_post) );
                $sticky_offset++;
  
                // Remove post from sticky posts array
                $offset = array_search($sticky_post->ID, $sticky_posts);
                unset( $sticky_posts[$offset] );
            }
        }
  
        // Look for more sticky posts if needed
        if ( !empty( $sticky_posts) ) {
  
            $stickies = get_posts( array(
                'post__in' => $sticky_posts,
                'post_type' => $wp_query->query_vars['post_type'],
                'post_status' => 'publish',
                'nopaging' => true
            ) );
  
            foreach ( $stickies as $sticky_post ) {
                array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) );
                $sticky_offset++;
            }
        }
  
    }
  
    return $posts;
}
  
add_filter( 'the_posts', 'wpb_cpt_sticky_at_top' );
 
// Add sticky class in article title to style sticky posts differently
 
function cpt_sticky_class($classes) {
            if ( is_sticky() ) : 
            $classes[] = 'sticky';
            return $classes;
        endif; 
        return $classes;
                }
    add_filter('post_class', 'cpt_sticky_class');

Bu kod, yapışkan gönderilerinizi en üste taşır. Temanız post_class() fonksiyonunu kullanıyorsa, yapışkan gönderilerinizi CSS kullanarak stilize edebilmeniz için bir 'sticky' sınıfı da ekler.

Kitap İncelemeleri özel gönderi türü arşivinin demo sitemizde nasıl göründüğü budur. Kodu eklemeden önce, yapışkan gönderi listede ikinci sıradaydı.

Özel Gönderi Türü Arşivinde Yapışkan Gönderi Önizlemesi

Yapışkan gönderilerinizi temanızın style.css stil sayfasındaki .sticky sınıfını kullanarak artık stilleyebilirsiniz. İşte bir örnek:

.sticky { 
background-color:#ededed;
background-image:url('http://example.com/wp-content/uploads/featured.png');
background-repeat:no-repeat;
background-position:right top;
}

İşte demo web sitemizden güncellenmiş bir ekran görüntüsü.

Yapışkan Gönderinin CSS Stilinin Önizlemesi

Sabitlenmiş Gönderiler Hakkında Uzman Rehberleri

Bu eğitimde WordPress özel gönderi türü arşivlerinde yapışkan gönderilerin nasıl ekleneceğini öğrendiğinizi umuyoruz. Ayrıca WordPress'te yapışkan gönderilerle ilgili diğer bazı kılavuzlara da 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

13 CommentsLeave a Reply

  1. Örneğinizden yararlanarak özel bir gönderi türünü bir arşivde "sabitlenmiş" hale getirdim. Süper yardımcı oldu, teşekkürler!

  2. Merhaba,

    Şu anda kafamı duvara vuruyorum….
    Bu eklentiyi kullanıyorum, düzgün çalışıyor, yönetici panelinde görebiliyorum ve veritabanında wp_options'daki sticky_posts'u güncellediğini görebiliyorum. Ancak, 'post__not_in' => get_option('sticky_posts') kullanmaya çalıştığımda, hiçbir şeyi filtrelemiyor.
    Bu yüzden var_dump(get_option('sticky_posts')) denedim ve aldığım tek şey 'normal gönderinin' kimliği, wp_options/sticky_posts'ta görebildiğim kimliklerin tam listesi değil.

    Which mean if I try to use is_stiky in my loop, it only work in ‘normal’ post, not in CPT, which is logic, since get_option(‘sticky_posts’) is not working properly…. Any idea how I can fix that ? it’s driving me crazy :D

  3. Bu Yapışkan Gönderi Anahtarı Eklentisini kullanabilirsiniz
    Özel gönderi türleri için de özelliği etkinleştirir

  4. Bu iyi çalışıyor ancak sayfalara ayrılmış bir arşivin her sayfasında yapışkan hale getiriyor. Yerleşik yapışkan işlevsellik standart gönderiler için de böyle mi çalışıyor?

  5. Bunu özel bir taksonomi arşiv sayfasıyla çalışacak şekilde nasıl ayarlayabilirim?
    Fonksiyonunuzun 4. satırındaki is_post_type_archive() yerine 'is_tax' ve 'is_category' eklemeyi denedim ama bu sadece sayfayı bozuyor.

    Belli ki bir şeyi kaçırıyorum ama bulamıyorum.
    Fikirleriniz var mı?

  6. Teşekkürler. Bu öğreticiyi, arşiv sayfasında değil, özel bir sayfa şablonunda yapışkan gönderileri görüntülemek için uyarlamak mümkün mü? Eğer öyleyse bunu nasıl başarabilirim?

    • özel taksonomi, yapışkan gönderi desteği olan gönderi türlerini görüntülüyorsa, aynı şekilde görüntüleyebilirsiniz. archive-post-type.php şablonu yerine taxonomy-custom-taxonomy.php şablonunda değişiklik yapın.

      Yönetici

  7. Teşekkürler. Bu faydalı.
    Ancak mümkünse bir eklenti kullanmadan özel gönderi türlerine yapışkan işlevsellik ekleyebilir miyim?
    Parçacığı paylaşabilir misiniz?

  8. Çok bilgilendirici, paylaştığınız için teşekkürler. Çok yardımcı oluyor.

Cevap 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.