2016-06-29 14 views
0

Ich versuche, einige benutzerdefinierte Werte zum WordPress-RSS-Feed hinzuzufügen. Zu Testzwecken habe ich diesen Code:Wordpress: Inhalt zu RSS-Feed hinzufügen

function add_custom_fields_to_rss() { 
    return "<test>test</test>\n"; 
} 
add_action('rss_item', 'add_custom_fields_to_rss'); 
add_action('rss_item2', 'add_custom_fields_to_rss'); 

ich dies auf den Grund meiner Themen function.php gesetzt haben. Wenn ich jetzt versuche, die rss mit http://example.com/feed zu bekommen, gibt es keinen Test-Inhalt, den ich in meiner benutzerdefinierten Funktion zurückgegeben habe.

Weiß jemand warum?

+0

Ihre Funktion 'echo' und nicht' return' muss. – naththedeveloper

Antwort

2

Das erste, was Sie tun müssen, ist die neue RSS-Feed in Ihrem Thema der functions.php Datei

add_action('init', 'customRSS'); 
function customRSS(){ 
     add_feed('feedname', 'customRSSFunc'); 
} 

Der obige Code löst die customRSS Funktion erstellen, die den Feed hinzufügt. Die Funktion add_feed hat zwei Argumente, feedname und eine Callback-Funktion. Der Feedname wird Ihre neue Feed-URL yourdomain.com/feed/feedname bilden, und die Callback-Funktion wird aufgerufen, um den Feed tatsächlich zu erstellen. Notieren Sie sich den Feednamen, da Sie dies später benötigen. Sobald Sie den Feed initialisiert haben, müssen Sie die Callback-Funktion erstellen, die erforderliche Feed, mit dem folgenden Code in Ihrem Thema der functions.php Datei

function customRSSFunc(){ 
     get_template_part('rss', 'feedname'); 
} 

Der obige Code zu erzeugen, wird unter Verwendung der get_template_part Funktion Link zu einer separaten Vorlagendatei, Sie können den RSS-Code aber auch direkt in die Funktion einfügen. Mit get_template_part können wir die Funktionalität getrennt vom Layout halten. Die Funktion get_template_part hat zwei Argumente, slug und name, die nach einer Vorlagendatei mit dem Namen im folgenden Format suchen, beginnend mit der Datei oben (wenn sie die erste nicht findet, geht sie weiter zur zweiten) und so weiter):

wp-content/themes/child/rss-feedname.php 
wp-content/themes/parent/rss-feedname.php 
wp-content/themes/child/rss.php 
wp-content/themes/parent/rss.php 

zum Detail, sollten Sie diesen Link überprüfen http://www.wpbeginner.com/wp-tutorials/how-to-create-custom-rss-feeds-in-wordpress/

+0

Ich glaube nicht, dass er versucht, einen * neuen * Feed hinzuzufügen, sondern Inhalt zu einem * existierenden * hinzuzufügen. – naththedeveloper

+0

, aber er versucht, benutzerdefinierte Felder zum Rss-Feed hinzuzufügen, also meiner Meinung nach wäre es besser, eigenen benutzerdefinierten Feed zu verwenden. – Jayanta

+0

Sie haben Recht. Vielen Dank! – m1crdy