Oprócz stron i wpisów, WordPress umożliwia tworzenie własnych typów treści zgodnie z unikatowymi potrzebami twojej treści. Na przykład, możesz utworzyć własny typ treści dla recenzji filmów, produktów lub referencji. Może to pomóc w bardziej efektywnej organizacji twojej witryny i poprawić komfort użytkowania.
Jeśli chcesz pójść o krok dalej, możesz również skonfigurować kanał RSS dla każdego z własnych typów treści. Oferowanie wyspecjalizowanych kanałów odwiedzającym witrynę internetową pozwala im angażować się w Twoje materiały w bardziej dostosowany sposób.
W tym przewodniku przeprowadzimy Cię przez proces konfigurowania oddzielnych kanałów RSS dla własnych typów treści w WordPress. Zaczynajmy!
Tworzenie oddzielnych kanałów RSS dla własnych typów treści w WordPressie
Domyślnie WordPress generuje kilka kanałów RSS dla twojej witryny internetowej.
Na przykład, wszystkie twoje ostatnie wpisy na blogu pojawiają się na głównym kanale RSS twojej witryny. Dostęp do tego kanału można uzyskać, dodając /feed/ do nazwy twojej domeny w następujący sposób:
https://example.com/feed/
Większość początkujących nie wie, że WordPress generuje osobne kanały RSS dla każdej strony archiwum.
Na przykład, ma oddzielne kanały RSS dla kategorii, tagów, autorów i niestandardowych typów treści.
Załóżmy, że masz własny typ treści o nazwie filmy na twojej witrynie internetowej. Możesz zobaczyć wszystkie treści utworzone w tym typie treści, przechodząc na stronę archiwum typów treści:
https://example.com/movies
Aby zobaczyć kanał RSS, wystarczy dodać /feed/ obok adresu URL archiwum niestandardowego typu treści.
https://example.com/movies/feed/
Alternatywnie, możesz zobaczyć kanał dodając parametr typu treści do twojego głównego kanału RSS WordPress. Na przykład:
https://example.com/feed/?post_type=movies
Ten adres URL będzie wtedy pobierał tylko własny typ treści o nazwie filmy.
Używamy własnych typów treści dla naszych sekcji Glosariusz i Hosting WordPress. Oba mają włączone kanały RSS i mogą być używane przez użytkowników, którzy chcą subskrybować te konkretne sekcje.
Dodaj odnośnik do kanału RSS własnego typu treści.
Teraz, gdy już wiesz, jak uzyskać dostęp do kanałów RSS dla dowolnego niestandardowego typu wpisu w witrynie internetowej WordPress, możesz użyć tego adresu URL, aby utworzyć odnośniki do niestandardowych kanałów typu treści.
Na przykład, możesz chcieć wyświetlić ikonkę lub zwykły odnośnik tekstowy na stronie archiwum własnego typu treści, aby twoi klienci mogli łatwo subskrybować te wpisy.
1. Dodawanie odnośnika do kanału RSS własnego typu treści w motywach blokowych
Jeśli korzystasz z motywu blokowego z pełną obsługą edycji witryny, oto jak dodać odnośnik.
Po pierwsze, musisz dodać własny fragment kodu do swojej witryny internetowej WordPress za pomocą wtyczki WPCode.
Uwaga: Istnieje również darmowa wersja WPCode, której można użyć do dodania tego fragmentu kodu.
Najpierw należy zainstalować i włączyć wtyczkę WPCode, a następnie przejść do strony Code Snippets ” + Add New Snippet.
Następnie kliknij przycisk „Użyj fragmentu kodu” znajdujący się pod opcją „Dodaj swój konfigurator (nowy fragment kodu)”.
Na następnym ekranie podaj nazwę twojego fragmentu kodu. Może to być cokolwiek, co pomoże ci zidentyfikować fragment kodu. Następnie wybierz „PHP Snippet” jako rodzaj kodu.
Na koniec dodaj następujący kod w polu Podgląd kodu:
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');
Nie zapomnij zastąpić „movies” nazwą twojego niestandardowego typu treści.
Oto jak wyglądałoby to jako fragment kodu we wtyczce WPCode:
Teraz włącz przełącznik „Aktywny” i „Zapisz/Zaktualizuj” twój fragment kodu.
Ten kod automatycznie wykrywa, czy użytkownik zobaczył określoną stronę archiwum niestandardowego typu treści, a następnie wyświetla odnośnik do subskrypcji.
Następnie tworzy krótki kod, którego możesz użyć w twoim motywie blokowym lub widżetach, aby wyświetlić odnośnik.
Następnie należy przejść na stronę Wygląd ” Edytor, aby uruchomić edytor witryny. Następnie wybierz opcję Szablony ” Archiwum z menu po lewej stronie.
Następnie dodaj blok Shortcode w miejscu, w którym chcesz wyświetlić odnośnik do kanału RSS.
Najlepiej byłoby wyświetlić go na górze, tuż pod nazwą archiwum.
Wewnątrz bloku Shortcode należy dodać następujący krótki kod:
[custom_post_type_rss_link]
Następnie nie zapomnij zapisać twoich zmian.
Możesz teraz przejść na stronę archiwum twojego niestandardowego typu treści, aby zobaczyć odnośnik kanału RSS w działaniu.
2. Dodawanie odnośnika do kanału RSS własnego typu treści w motywach klasycznych
Najprostszym sposobem na to jest utworzenie osobnego szablonu dla własnego typu treści w twoim motywie WordPress.
Połącz się ze swoją witryną internetową WordPress za pomocą klienta FTP i przejdź do katalogu /wp-content/themes/your-current-theme/.
Teraz, jeśli twój własny typ treści nazywa się filmy, możesz utworzyć plik archive-{post_type}.php
w katalogu motywu WordPress.
Następnie wystarczy skopiować treść z szablonu archive.php twojego motywu i rozpocząć konfigurowanie nowego szablonu.
Możesz po prostu dodać zwykły odnośnik HTML do twojego archiwum typu treści, używając poniższego kodu:
<p><strong>Subscribe to: <a href="https://example.com/movies/feed/">Movies</a></strong></p>
Nie zapomnij zmienić adresu URL na adres URL twojego kanału typu treści.
Problem z tym kodem polega na tym, że będziesz musiał utworzyć nowy plik szablonu tylko dla tego konkretnego typu treści.
Ta następna metoda pozwoli ci dynamicznie wygenerować odnośnik do kanału RSS typu treści dla wszystkich twoich stron archiwum.
Wystarczy dodać następujący kod do pliku archive.php
szablonu twojego motywu.
<?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 } ?>
Ten kod po prostu doda odnośnik poniżej tytułu strony archiwum typu treści, zachęcając użytkowników do subskrypcji tego konkretnego typu treści.
Dodatkowa wskazówka: Dodaj własny typ treści do głównego kanału RSS
Kanały RSS własnego typu treści nie są łatwo wykrywalne przez czytniki kanałów, a większość klientów może łatwiej znaleźć kanał RSS twojej witryny.
Oznacza to, że klienci subskrybujący twój główny kanał RSS przegapią treści publikowane w twoim dostosowanym typie treści.
Możesz to łatwo poprawić, dodając treść z własnego typu treści, aby pojawiała się w głównym kanale RSS Twojej witryny.
Aby to zrobić, musisz dodać niestandardowy fragment kodu do swojego bloga WordPress. Zalecamy użycie WPCode do dodawania własnych fragmentów kodu w WordPress.
Najpierw należy zainstalować i włączyć darmową wtyczkę WPCode. Więcej szczegółów można znaleźć w naszym artykule na temat instalacji wtyczki WordPress.
Po włączeniu wtyczki przejdź na stronę Code Snippets ” + Add Snippet z panelu bocznego administratora WordPress.
W tym miejscu należy kliknąć przycisk „Użyj fragmentu kodu” pod opcją „Dodaj swój konfigurator (nowy fragment kodu)”.
Zostaniesz teraz przekierowany na stronę „Create Custom Snippet”, gdzie możesz zacząć od wpisania rodzaju nazwy dla twojego fragmentu kodu.
Nazwa ta nie będzie nigdzie wyświetlana i służy jedynie do celów identyfikacyjnych.
Następnie wybierz opcję „Fragment kodu PHP” z rozwijanego menu „Rodzaj kodu” po prawej stronie.
Następnie możesz dodać swój własny fragment kodu.
Wystarczy skopiować i wkleić poniższy kod w polu Podgląd kodu:
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');
Po dodaniu kodu wpisz nazwę własnego typu treści obok miejsca, w którym wpisano „[’post_type’]”. W naszym przykładzie mamy „wpis”, „filmy” i „książki”.
Ten własny typ treści zostanie dodany do Twojego głównego kanału RSS WordPress.
Następnie należy przewinąć do góry strony i przełączyć przełącznik „Nieaktywne” na „Aktywne”.
Na koniec nie zapomnij kliknąć przycisku „Zapisz fragment kodu”, aby zapisać i wykonać kod na twojej witrynie internetowej WordPress.
To wszystko, twoja treść niestandardowego typu treści zostanie teraz dodana do głównego kanału RSS witryny.
Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak utworzyć osobny kanał RSS dla własnych typów treści w WordPress. Zachęcamy również do zapoznania się z naszym poradnikiem na temat optymalizacji kanałów RSS w WordPressie oraz wyborem najlepszych wtyczek RSS do WordPressa.
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.
Administrator
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.
Administrator
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.
Administrator
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.
Administrator
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/
Administrator
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.
Administrator
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.