So fügen Sie Inhalte hinzu und manipulieren Ihre WordPress-RSS-Feeds vollständig
Vor einiger Zeit haben wir mitgeteilt, wie Sie Ihren WordPress-RSS-Footer mit einem bekannten Plugin namens RSS-Footer von Joost steuern können. Das Plugin ist zwar toll, aber es ist sehr begrenzt. Sie können der Fußzeile nur Text hinzufügen. In der Fußzeile jedes Beitrags wird immer derselbe Text angezeigt. Was ist, wenn Sie für jeden Beitrag in Ihrem RSS-Beitrag einen anderen Text anzeigen möchten? Was ist, wenn bestimmte Beiträge in RSS-Feeds einen anderen Titel haben sollen? Was ist, wenn Sie ein bestimmtes benutzerdefiniertes Feld in Ihren RSS-Feeds anzeigen möchten? Aus diesem Grund stellen wir Ihnen diesen Artikel vor, der Ihnen zeigt, wie Sie beliebige Inhalte in Ihre WordPress-RSS-Feeds einfügen. Mit diesem Hack haben Sie die Kontrolle über Ihre WordPress-RSS-Feeds und können diese beliebig bearbeiten.
Hinweis: Dieser Hack ist nicht für Anfänger. Dies sollten nur Benutzer versuchen, die sich mit der Bearbeitung der Datei "functions.php" auskennen und sich mit php auskennen. Anfänger sollten entweder das in diesem Artikel erwähnte Plugin verwenden oder sich von Fachleuten wie uns beraten lassen.
1. Fügen Sie Ihrer WordPress-RSS-Fußzeile ein benutzerdefiniertes Feld hinzu
In diesem ersten Beispiel zeigen wir Ihnen, wie Sie benutzerdefinierte Felder verwenden können, um bestimmten Text / Objekte in Ihrem WordPress-RSS-Feed anzuzeigen. Dieser Trick ermöglicht es Ihnen, für jeden Beitrag einen anderen Text, eine Werbung, ein Bild oder etwas anderes anzuzeigen. Öffnen Sie zunächst Ihre functions.php und fügen Sie die folgenden Codes in die PHP-Tags ein:
Funktion wpbeginner_postrss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, 'coolcustom', true); if (is_feed ()) if ($ coolcustom! == ") $ content = $ content."
". $ coolcustom." "; else $ content = $ content; return $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Nun fragen sich die meisten von Ihnen, wie dieser Code funktioniert. Also hier eine Erklärung. Wir erstellen eine Funktion namens wpbeginner_postrss, die eine globale wp_query ausführt, um in jedem Beitrag zu suchen, wenn ein benutzerdefiniertes Feld namens "coolcustom" definiert ist. Wenn "Cool Custom" definiert ist, wird der Wert nach dem Beitragsinhalt angezeigt. Wenn kein benutzerdefiniertes Feld definiert ist, zeigt die Funktion standardmäßig nur den Post-Inhalt und nichts anderes an. Wir verwenden die Variable $ content, um den Inhalt anzuzeigen. Wir verwenden die if (is_feed) -Funktion und fügen den benutzerdefinierten Text oder anderen Inhalt zum Hauptpostinhalt selbst hinzu, den Sie mit dem zweiten Filter sehen können. Es wird jedoch nur in den RSS-Feeds angezeigt, wenn der Benutzer die Funktion if (is_feed) verwendet. Auf diese Weise vermeiden wir alle Kompatibilitätsprobleme.
Einige von Ihnen werden sagen, aber Sie haben einfach getan, was ein RSS-Footer-Plugin mit einer Funktion macht. Ja und nein. Ja, wir fügen den Code in der Fußzeile des Beitrags hinzu, aber dieser Text ist nicht für jeden Beitrag identisch. Dies ist anders, weil Sie für jeden Beitrag über benutzerdefinierte Felder einen anderen Text angeben. Dieser Trick ist sehr praktisch, um die neuen FTC-Richtlinien für Blogs zu erfüllen, die alle Arten von Posts haben.
2. Hinzufügen von zusätzlichem Text zur Veröffentlichung von Titeln in RSS
Hat Ihr Blog Gastbeiträge, Sponsored Posts und Review Posts? Wenn Sie dies tun, werden Sie dies sehr nützlich finden. Einige Blogger verfügen über ein benutzerdefiniertes Styling, um die verschiedenen Arten von Posts anzuzeigen, sodass ihre Benutzer zwischen ihnen unterscheiden können. Aber wenn diese Beiträge in einen Leser gehen, sind alle Stylings weg. Dann ist dieser Trick praktisch. In diesem Trick fügen wir den Text entweder vor oder nach dem Titel ein.
Wenn Ihr Titel beispielsweise "Commercial WordPress Theme - StudioPress" lautete und ein gesponserter Beitrag war, können Sie ihn in "Sponsored Post: Commercial WordPress Theme - StudioPress" ändern. Das Gleiche gilt, wenn jemand einen Gastbeitrag geschrieben hat.
Öffnen Sie dazu die Datei functions.php und fügen Sie den folgenden Code dort ein:
Funktion wpbeginner_titlerss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ gpost = get_post_meta ($ postid, 'guest_post', true); $ spost = get_post_meta ($ postid, 'sponsored_post', true); if ($ gpost! == ") $ content = 'Gastbeitrag:'. $ content; elseif ($ spost! ==") $ content = 'Gesponserter Beitrag:'. $ content; else $ content = $ content; return $ content; add_filter ('the_title_rss', 'wpbeginner_titlerss');
Erklärung für den Code:
Wir verwenden die Funktion wpbeginner_titlerss, die eine globale wp_query ausführt, um in jedem Beitrag zu suchen, ob er entweder $ gpost oder $ spost enthält. Diese beiden Elemente suchen im Wesentlichen nach zwei spezifischen benutzerdefinierten Feldern, die als "guest_post" oder "sponsored_post" bezeichnet werden. Wenn jemand diese benutzerdefinierten Felder mit einem Wert "true" hinzugefügt hat, fügt der Code ihn dem Text hinzu. Wenn nicht, sehen Sie nur den normalen Titel. Sie können zuerst sehen, ob der Code sucht, ob $ gpost wahr ist, wenn dies nicht der Fall ist, wenn $ spost wahr ist. Wenn dies nicht auch nicht definiert ist, wird normaler Inhalt angezeigt. Wenn einer der beiden zutreffend ist, wird der von Ihnen hier angegebene Text angezeigt. Wir verwenden $ content string, um den Beitragstitel anzuzeigen.
Nun wurden nur benutzerdefinierte Felder im Titel angezeigt. Möchten Sie den Kategorienamen für jeden Titel anzeigen? Dann sollten Sie einfach folgenden Code in Ihre Datei "functions.php" einfügen:
Funktion wpbeginner_cattitlerss ($ content) $ postcat = ""; foreach ((get_the_category ()) als $ cat) $ postcat. = '('. $ cat-> cat_name. ')'; $ content = $ content. $ postcat; $ content zurückgeben; add_filter ('the_title_rss', 'wpbeginner_cattitlerss');
Erläuterung: Wir verwenden die Funktion wpbgeinner_cattitlerss, um die Kategorie-ID für jeden Beitrag abzurufen und diese dann rechts neben dem Titel anzuzeigen. Wenn der Titel also "Get Contact Form 7" lautet, wäre es "Get Contact Form 7 [Plugins]". Sie können sehen, dass es in diesem Code keine if-Variable gibt. Wir verwenden $ content für den Haupttitel und die Variable $ postcat, um den Kategorienamen zu definieren. Sie ordnen das um, wenn Sie möchten.
3. Fügen Sie in allen Posts in RSS den gleichen Text hinzu
Wenn Sie nur den gleichen Text hinzufügen möchten, können Sie auch das Plugin RSS Footer von Joost verwenden, da dies einfacher ist. Aber wenn Sie es selbst machen wollen, dann machen Sie es. Öffnen Sie die Datei functions.php, und fügen Sie den folgenden Code hinzu:
function wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Dieser Beitrag wurde von Syed Balkhi verfasst'. $ content.'Check WPBeginner '; return $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Erläuterung: Wir rufen eine Funktion wpbeginner_postrss auf, um vor dem Beitrag in jedem Beitrag einen Inhalt hinzuzufügen, der besagt, dass Dieser Beitrag von Syed Balkhi geschrieben wurde und nach dem Inhalt Check WPBeginner. Wir fügen jedoch die Funktion if (is_feed) hinzu, so dass sie nur in RSS-Feeds angezeigt wird.
Dies wäre sehr hilfreich, wenn Sie Anzeigen in bestimmten Posts in RSS verkaufen, benutzerdefinierte FTC-Richtlinien hinzufügen oder einfach mehr Kontrolle über Ihre RSS-Feeds haben möchten.
Quelle: Wir haben Joost 'RSS Footer-Plugin als Anleitung für das Schreiben dieses Tutorials verwendet. Der Titel-RSS-Hack-Teil, den wir von einer französischen Tutorial-Site erhielten, fügten wir unsere eigenen Variablen hinzu und gaben ihm die Möglichkeit, benutzerdefinierte Titel pro benutzerdefiniertem Feld zu verwenden.