Anonim

Möglicherweise müssen Sie irgendwann in Ihrer WordPress-Entwicklung jemandem einen benutzerdefinierten Feed bereitstellen. Unabhängig davon, ob jemandem eine API zur Verfügung gestellt werden soll oder nur eine bessere Benutzererfahrung für eine bestimmte Gruppe von Benutzern bereitgestellt werden soll, ist dies problemlos möglich.

Ich ziehe es vor, einen neuen Feed zu erstellen, anstatt die Standard-Feeds zu erweitern, da ich diese Methode etwas einfacher finde

add_feed WordPress-Funktion

add_filter ('init', 'tj_init_custom_feed'); Funktion tj_init_custom_feed () {// initialisiere den Feed add_feed ('custom-feed', 'tj_custom_feed'); }

Fügen Sie in Ihrer functions.php-Datei in Ihrem WordPress-Design den obigen Code hinzu. Da es am besten ist, add_feed nicht direkt aufzurufen, fügen wir es durch einen Filter auf 'init' hinzu. Der erste Parameter im Funktionsaufruf wird verwendet, um den URL-Slug für den Feed bereitzustellen. Der zweite Parameter wird verwendet, um ihn an einen Funktionsnamen zu binden. Wenn diese URL aufgerufen wird (yourblogurl.com/custom-feed), führt sie die PHP-Funktion tj_custom_feed aus.

Bitte beachten Sie, dass die Umschreiberegeln für WordPress gelöscht werden müssen, bevor diese URL richtig erkannt wird. Eine gute einfache Möglichkeit, das Löschen der Regeln zu erzwingen, ist, zu WordPress Admin -> Einstellungen -> Permalinks zu gehen und dann auf die Schaltfläche Änderungen speichern zu klicken.

XML ausgeben

Die Ausgabe des RSS / XML-Feed-Codes ist wirklich nicht zu komplex. Zunächst wird der Inhaltstyp über die PHP-Header-Funktion festgelegt, damit er entsprechend gerendert werden kann. Als Nächstes rufen wir einige Daten von get_posts ab, durchlaufen sie und geben sie auf dem Bildschirm aus.

Funktion tj_custom_feed () {header ("Inhaltstyp: text / xml"); Echo "\ n"; echo " \ n "; $ posts = get_posts (); foreach ($ posts als $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; echo ' '; echo "\ t ". $ post-> ID." \ n "; Echo" \ t ". $ post-> post_date." \ n "; Echo" \ t ". $ post_link." \ n "; Echo" \ t \ n "; Echo" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; Echo" \ t ". $ image." "; echo ' '; } echo " "; Ausfahrt; }

Erstellen eines benutzerdefinierten WordPress-RSS / XML-Feeds