Sayfaların ve yazıların ötesinde WordPress, içeriğinizin benzersiz ihtiyaçlarına göre özel yazı türleri oluşturmanıza olanak tanır. Örneğin, film incelemeleri, ürünler veya referanslar için özel bir yazı türü oluşturmak isteyebilirsiniz. Bu, sitenizi daha etkili bir şekilde düzenlemenize ve kullanıcı deneyimini iyileştirmenize yardımcı olabilir.
Bunu bir adım öteye taşımak isterseniz, özel gönderi türlerinizin her biri için bir RSS beslemesi de oluşturabilirsiniz. Web sitenizin ziyaretçilerine özel beslemeler sunmak, onların materyalinizle daha özelleştirilmiş bir şekilde etkileşime geçmelerini sağlar.
Bu kılavuzda, WordPress’te özel yazı türleri için ayrı RSS beslemeleri ayarlama sürecinde size yol göstereceğiz. Hadi başlayalım!
WordPress’te Özel Yazı Türleri için Ayrı RSS Beslemeleri Oluşturma
WordPress varsayılan olarak web siteniz için birkaç RSS beslemesi oluşturur.
Örneğin, son blog yazılarınızın tümü sitenizin ana RSS beslemesinde görünür. Bu beslemeye, alan adınıza aşağıdaki gibi /feed/ ekleyerek erişebilirsiniz:
https://example.com/feed/
Yeni başlayanların çoğunun bilmediği şey, WordPress’in her arşiv sayfası için ayrı RSS beslemeleri oluşturduğudur.
Örneğin, kategoriler, etiketler, yazarlar ve özel gönderi türleri için ayrı RSS beslemeleri vardır.
Diyelim ki web sitenizde filmler adında özel bir gönderi türünüz var. Yazı türü arşivi sayfasını ziyaret ederek bu yazı türünde oluşturulan tüm içeriği görüntüleyebilirsiniz:
https://example.com/movies
RSS beslemesini görüntülemek için özel gönderi türü arşiv URL’sinin yanına /feed/ eklemeniz yeterlidir.
https://example.com/movies/feed/
Alternatif olarak, ana WordPress RSS beslemenize gönderi türü parametresini ekleyerek beslemeyi görüntüleyebilirsiniz. Örneğin:
https://example.com/feed/?post_type=movies
Bu URL daha sonra yalnızca movies adlı özel gönderi türünü getirecektir.
Sözlük ve WordPress barındırma bölümlerimiz için özel yazı türleri kullanıyoruz. Her ikisinde de RSS beslemeleri etkinleştirilmiştir ve bu belirli bölümlere abone olmak isteyen kullanıcılar tarafından kullanılabilir.
Özel Yazı Tipi RSS Akışına Bağlantı Ekleme
Artık WordPress web sitenizdeki herhangi bir özel yazı türü için RSS beslemelerine nasıl erişeceğinizi bildiğinize göre, özel yazı türü beslemelerinize bağlantılar oluşturmak için bu URL’yi kullanabilirsiniz.
Örneğin, ziyaretçilerinizin bu gönderilere kolayca abone olabilmesi için özel gönderi türü arşiv sayfasında bir simge veya düz metin bağlantısı görüntülemek isteyebilirsiniz.
1. Blok Temalarında Özel Yazı Tipi RSS Akışına Bağlantı Ekleme
Tam site düzenleme desteğine sahip bir blok teması kullanıyorsanız, bağlantıyı nasıl ekleyeceğiniz aşağıda açıklanmıştır.
Öncelikle, WPCode eklentisini kullanarak WordPress web sitenize özel bir kod parçacığı eklemeniz gerekir.
Not: Bu kod parçacığını eklemek için kullanabileceğiniz WPCode’un ücretsiz bir sürümü de vardır.
Öncelikle WPCode eklentisini kurup etkinleştirmeniz ve ardından Code Snippets ” + Add New Snippet sayfasına gitmeniz gerekir.
Buradan, ‘Özel Kodunuzu Ekleyin (Yeni Snippet)’ seçeneğinin altındaki ‘Snippet Kullan’ düğmesine tıklayın.
Bir sonraki ekranda, kod parçacığınız için bir ad girin. Bu, kod parçacığını tanımlamanıza yardımcı olacak herhangi bir şey olabilir. Bundan sonra, Kod Türü altında ‘PHP Snippet’i seçin.
Son olarak, Kod Önizleme kutusuna aşağıdaki kodu ekleyin:
if (is_post_type_archive('movies')) {
$post_type = get_queried_object();
// Get RSS Feed URL
$rss_feed_url = get_post_type_archive_feed_link($post_type->name);
// Output the shortcode content
return '<p>Subscribe to <a href="' . esc_url($rss_feed_url) . '">' . $post_type->label . '</a></p>';
}
}
// Register the shortcode
add_shortcode('custom_post_type_rss_link', 'custom_post_type_rss_link_shortcode');
‘movies’ yerine özel gönderi türünüzün adını yazmayı unutmayın.
İşte WPCode eklentisinde bir snippet olarak nasıl görüneceği:
Şimdi ‘Etkin’ anahtarını açın ve snippet’inizi ‘Kaydet/Güncelle’.
Bu kod, bir kullanıcının belirli bir özel gönderi türü arşiv sayfasını görüntüleyip görüntülemediğini otomatik olarak algılar ve ardından abone olmak için bir bağlantı görüntüler.
Ardından, bağlantıyı görüntülemek için blok temanızda veya widget’larınızda kullanabileceğiniz bir kısa kod oluşturur.
Ardından, site düzenleyicisini başlatmak için Görünüm ” Düzen leyici sayfasını ziyaret etmeniz gerekir. Bundan sonra, sol menüden Şablonlar ” Arşiv seçeneğini seçin.
Ardından, RSS besleme bağlantısını görüntülemek istediğiniz yere Kısa Kod bloğunu ekleyin.
İdeal olarak, bunu en üstte, Arşiv Adının hemen altında göstermek istersiniz.
Kısa kod bloğunun içine aşağıdaki kısa kodu eklemeniz gerekir:
[custom_post_type_rss_link]
Bundan sonra, değişikliklerinizi kaydetmeyi unutmayın.
Artık RSS besleme bağlantısını çalışırken görüntülemek için özel gönderi türü arşiv sayfanızı ziyaret edebilirsiniz.
2. Klasik Temalarda Özel Yazı Tipi RSS Akışına Bağlantı Ekleme
Bunu yapmanın en kolay yolu, WordPress temanızda özel gönderi türünüz için ayrı bir şablon oluşturmaktır.
Bir FTP istemcisi kullanarak WordPress web sitenize bağlanın ve /wp-content/themes/your-current-theme/ klasörüne gidin.
Şimdi, özel gönderi türünüzün adı movies ise, WordPress tema klasörünüzde bir archive-{post_type}.php
dosyası oluşturabilirsiniz.
Bundan sonra, temanızın archive.php şablonundaki içeriği kopyalayabilir ve yeni şablonunuzu özelleştirmeye başlayabilirsiniz.
Aşağıdaki kodu kullanarak gönderi türü arşiv beslemenize düz bir HTML bağlantısı ekleyebilirsiniz:
<p><strong>Subscribe to: <a href="https://example.com/movies/feed/">Movies</a></strong></p>
URL’yi gönderi türü besleme URL’niz olarak değiştirmeyi unutmayın.
Şimdi, bu kodla ilgili sorun, yalnızca söz konusu gönderi türü için yeni bir şablon dosyası oluşturmanız gerekecek olmasıdır.
Bir sonraki yöntem, tüm arşiv sayfalarınız için gönderi türü RSS besleme bağlantısını dinamik olarak oluşturmanızı sağlayacaktır.
Aşağıdaki kodu temanızın archive.php
şablon dosyasına eklemeniz yeterlidir.
<?php if ( is_post_type_archive() ) {
$post_type = get_post_type( get_queried_object_id() );?>
<p><strong>Subscribe to: <a href="<?php echo get_post_type_archive_link( $post_type ); ?>feed/"><?php post_type_archive_title(); ?></a></strong></p>
<?php } ?>
Bu kod, yazı türünün arşiv sayfası başlığının altına bir bağlantı ekleyerek kullanıcıları bu belirli içerik türüne abone olmaya teşvik eder.
Bonus İpucu: Ana RSS Akışınıza Özel Gönderi Türü Ekleyin
Özel yazı tipi RSS beslemeleri, besleme okuyucular tarafından kolayca bulunamaz ve kullanıcılarınızın çoğu sitenizin RSS beslemesini daha kolay bulabilir.
Bu, ana RSS beslemenize abone olan kullanıcıların özel gönderi türünüzde yayınladığınız içeriği kaçıracağı anlamına gelir.
Sitenizin ana RSS beslemesinde görünmesi için özel gönderi türünüzden içerik ekleyerek bunu kolayca düzeltebilirsiniz.
Bunu yapmak için WordPress blogunuza özel bir kod parçacığı eklemeniz gerekecektir. WordPress’e özel kod parçacıkları eklemek için WPCode kullanmanızı öneririz.
Öncelikle, ücretsiz WPCode eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Daha fazla ayrıntı için WordPress eklentisinin nasıl kurulacağına ilişkin makalemize bakın.
Eklenti etkinleştirildikten sonra, WordPress yönetici kenar çubuğundan Code Snippets ” + Add Snippet sayfasını ziyaret edin.
Buradan, ‘Özel Kodunuzu Ekleyin (Yeni Snippet)’ seçeneğinin altındaki ‘Snippet Kullan’ düğmesine tıklamanız gerekir.
Şimdi kod parçacığınız için bir ad yazarak başlayabileceğiniz ‘Özel Snippet Oluştur’ sayfasına yönlendirileceksiniz.
Bu isim hiçbir yerde gösterilmeyecek ve sadece tanımlama amacıyla kullanılacaktır.
Ardından, sağdaki ‘Kod Türü’ açılır menüsünden ‘PHP Snippet’ seçeneğini seçin.
Bundan sonra, özel kod parçacığınızı eklemeye hazırsınız.
Aşağıdaki kodu kopyalayıp Kod Önizleme kutusuna yapıştırmanız yeterlidir:
function myfeed_request($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'movies', 'books');
return $qv;
}
add_filter('request', 'myfeed_request');
Kodu ekledikten sonra, kodda ‘[‘post_type’]’ yazan yerin yanına özel gönderi türünün adını yazın. Bizim örneğimizde ‘post’, ‘movies’ ve ‘books’ var.
Bu özel gönderi türü ana WordPress RSS beslemenize eklenecektir.
Ardından, sayfanın en üstüne geri dönmeniz ve ‘Etkin Değil’ anahtarını ‘Etkin’ olarak değiştirmeniz gerekir.
Son olarak, kodu kaydetmek ve WordPress web sitenizde çalıştırmak için ‘Snippet’i Kaydet’ düğmesine tıklamayı unutmayın.
Hepsi bu kadar, özel gönderi türü içeriğiniz artık sitenizin ana RSS beslemesine eklenecektir.
Bu makalenin WordPress’te özel yazı türleri için ayrı bir RSS beslemesinin nasıl oluşturulacağını öğrenmenize yardımcı olduğunu umuyoruz. WordPress RSS beslemelerinizi optimize etme hakkındaki eğitimimize ve en iyi WordPress RSS eklentileri için uzman seçimlerimize de göz atmak isteyebilirsiniz.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Buddika Wijerathena
Is there way to create RSS feed for single page ?
Ex – example.com/single-post-type/single-post-name
How to create RSS for this ?
WPBeginner Support
RSS feeds are for listing multiple posts, the RSS would include a link to the post itself. We would not recommend creating a specific RSS feed for one post or page.
Yönetici
Milan
Hey, and do you know any rss wordpress plugin for visitors ? As big new companies have own RSS creator to put rss on some freelancer sites, I want to it same, but not with post but with custom post types….do you know some RSS plugin ?
Tori
It still doesn’t work for me – I’m trying to display an RSS Feed for the content on this page –
and displays the RSS feed for all of my posts. Any thoughts?
WPBeginner Support
Hi Tori,
Pages are not included in an RSS feed. The URL you are using would work if you had a custom post type with that particular name.
Yönetici
Tori
Thank you for the response. I’m sorry for the confusion as it looks like my links didn’t appear. The posts that appear on that page are custom posts (it’s like the blog roll but for custom posts), but the method to do the RSS feed didn’t work for me. Any thoughts or suggestions?
WPBeginner Support
Hey Tori,
If you are certain that the posts belong to a custom post type, then you need to find out the name used by the custom post type. You can do that by clicking on the custom post type menu item in your WordPress admin sidebar. Clicking on it will take you to an admin page listing all the posts in that post type. Now if you look into the browser address bar you will see something like this:
http://www.example.com/wp-admin/edit.php?post_type=your_post_type
The part that appears after the post_type= is your custom post type name. Now you need to use this to reach the RSS feed URL for that custom post type.
http://www.example.com/feed/?post_type=your_post_type
Hope this helps.
Tori
Thank you for the response. When I do that, I see this error message — any thoughts?
______
This page contains the following errors:
error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.
WPBeginner Support
Hey Tori,
Please see our guide on how to fix RSS feed Errors.
Yönetici
Cédric Charles
Hi and thanks for this !
I would like to add custom fields for my custom post type feed (not for the regular posts, only for my custom post type).
How could I do that ?
Thanks a lot !
Toni
Great tip! I almost made it from scratch! thank you!
erika
Thank you a lot! your website helped me so much
mike
I’ve gotten this to work but it limits the posts in the rss feed to 10 when I feedburn it. Is there any way to create a full rss feed for custom post types without limiting the quantity of posts it pulls in?
Editorial Staff
Main feed normally displays the most recent posts. If a user tries to pull your feed using their feed reader, it will pull all older posts as well.
Yönetici
Andrew
Hi there. Could you tell me how to create a feed for all post types, so someone can signup to a single RSS feed for all posts on the site, regardless of which post type they are in?
Editorial Staff
You can combine custom post types in your main RSS feed.
https://www.wpbeginner.com/wp-tutorials/how-to-add-custom-post-types-to-your-main-wordpress-rss-feed/
Yönetici
Rems
THANK YOU VERY MUCH, i was looking for this info for 2 hours. Glad i found your info. Fu…. taxonomy, where were you?!! aahhh!
Work so fine now
gabearnold
Thanks! This is simple and a nice tip I didn’t know.
AlexAmelines
it works for me and I love you for it. I created a link to each pos type I’ve got, but in the RSS reader they are all called the same, any way I can affect the title of the feed to reflect the post type?
Alan
If I am using a slug re-write for the taxonomy that wouldn’t make a difference and be causing the problem would it? I’ve tried both ways and it doesn’t work either way, with the actual registered taxonomy title or the slug.
Alan
No plugins. But I haven’t been able to figure out how to url my taxonomies with my custom post types like…
http://www.mysite.com/custompost/taxonomy/taxonmyterm
It’s just…
http://www.mysite.com/taxonomy/taxonomyterm
Would this have an effect?
Alan
That doesn’t seem to work with the taxonomies.
Editorial Staff
In our example if you notice, the genre is a taxonomy and it should work.
Yönetici
Alan
Yeah, I replaced that with my own taxonomy followed by an equal sign and then one of my taxonomy terms, but it still just displayed the custom post type’s feed.
Alan
It actually redirects back to the content post type’s feed url.
Editorial Staff
Are you using any plugin to redirect this? Because this should not be happening…
Alan
No plugins. But I haven’t been able to figure out how to url my taxonomies with my custom post types like…
http://www.mysite.com/custompost/taxonomy/taxonmyterm
It’s just…
http://www.mysite.com/taxonomy/taxonomyterm
Would this have an effect?
Aldi
I can’t seem to make that work. It only takes me back to the custom post type archive page again.
Btw, I use Custom Post Permalinks plugin to allow custom post type permalinks and archive pages. Could that have created the issue??
Cheers!
Aldi
Oops, sorry.. it was my theme’s problem. I had an action call to redirect anything that is related to custom post types, thus the redirection of the feeds. But got it fixed now.