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

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.

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.

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

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

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:
- WordPress'te Yapışkan Yazılar Nasıl Yapılır (Hızlı ve Kolay)
- WordPress'te Kategoriler İçin Sabitlenmiş Gönderiler Nasıl Eklenir
- WordPress'te Yapışkan Gönderilerle Yapabileceğiniz Harika Şeyler
- WordPress'te Yapışkan Gönderileri Döngüden Hariç Tutma
- WordPress'te Gönderileri Kolayca Yeniden Sıralama (Adım Adım)
- WordPress'te Yapışkan Kayar Gezinme Menüsü Nasıl Oluşturulur
- WordPress'te Yapışkan Kayar Kenar Çubuğu Widget'ı Nasıl Oluşturulur
- WordPress'te “Yapışkan” Kayar Alt Bilgi Çubuğu Nasıl Oluşturulur
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.

Clare
Örneğinizden yararlanarak özel bir gönderi türünü bir arşivde "sabitlenmiş" hale getirdim. Süper yardımcı oldu, teşekkürler!
WPBeginner Desteği
Glad to hear our guide was helpful!
Yönetici
rom
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
Markus Froehlich
Bu Yapışkan Gönderi Anahtarı Eklentisini kullanabilirsiniz
Özel gönderi türleri için de özelliği etkinleştirir
Pat Ducat
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?
Aaron
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ı?
Daniel Dropik
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?
WPBeginner Desteği
Daniel, evet elbette ayrı bir sayfa şablonunda yapılabilir. Özel bir şablon oluşturun ve yukarıdaki talimatları izleyin.
Yönetici
Shawn
Bunu arşivler yerine Custom Taxonomy.php için nasıl yaparsınız?
WPBeginner Desteği
ö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
Mr.Ultra
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?
Anir
Çok bilgilendirici, paylaştığınız için teşekkürler. Çok yardımcı oluyor.
Daniel
Gerçekten güzel bir eğitim.