RSS-Feed für Beiträge, die einen beliebigen Begriff aus einer Taxonomie enthalten

Ich kann mir vorstellen, dass die Antwort auf diese Frage mit der Frage zusammenhängt, die ich gestern gestellt habe:

Benutzerdefinierte Taxonomie WP_Query für alle Begriffe in einer Taxonomie?

Ich möchte einen RSS-Feed ausgeben, der alle Beiträge enthält, denen ein Eintrag von einer bestimmten Taxonomie zugewiesen wurde. Ich kann dies tun:

http://blog.example.com/feed/?taxonomy=taxonomy-name&term=test-term

Um alle Beiträge zurückzugeben, die einem bestimmten Begriff zugeordnet sind, möchte ich jedoch einen Feed haben, der alle Beiträge aller Begriffe in dieser Taxonomie anzeigt.

Danke, Dave

Solutions Collecting From Web of "RSS-Feed für Beiträge, die einen beliebigen Begriff aus einer Taxonomie enthalten"

Die Lösung

WordPress 3.1 Taxonomie Feeds Plugin (muss verwendet werden)

Setzen Sie dieses Must-Use-Plugin auf Ihre Website und fordern Sie Folgendes an:

http://blog.example.com/feed/?taxonomie=taxonomie-name

wie du es verlangst.

Genaue Information

WordPress-Angebote fordern den Feed mit mehreren Konfigurationen an. Das Finden Ihrer Feed-URL (WordPress Codex) zeigt, was möglich ist. Neben dem Standard-Feed (Posts) können Sie Folgendes haben:

  • Kommentare – http://example.com/?feed=commentsrss2
  • Kategorien – http://example.com/?cat=42&feed=rss2
  • Tags – http://example.com/?tag=tagname&feed=rss2
  • Autoren – http://example.com/author/authorname/feed/
  • Suche – http://example.com/?s=searchterm&feed=rss2

(Hinweis: RSS2 ist WordPress’Standard-Feed-Format)

Wie Sie sehen können, wird keine Beispiel-URL angeboten, bei der der Feed nach Posts einer Taxonomie abgefragt wird.

Im Allgemeinen ist der Feed wie jeder andere Blogpost oder jede Kommentarzeile: a WP_Query und führt dann die Schleife in einer Feedvorlage aus.

WP_Query unterstützt standardmäßig den taxonomy Parameter. Dieser Anfrage-Parameter ist in Codex dokumentiert , dieser Abschnitt hat zwei Probleme: 1.) Es ist Taxonomie (nicht Steuern) und zweite 3.1 ist noch nicht veröffentlicht, so dass es nicht schon veraltet ist. Der Punkt, den ich dieses Dokument verlinke, ist zu zeigen, dass sein Wert mit dem Taxonomie-Slug verglichen wird.

Um herauszufinden, ob WordPress einfach das tun kann, was Sie tun möchten, müssen Sie herausfinden, ob der Feed bereits Taxonomien unterstützt, wenn Sie eine bestimmte Kategorie anfordern. Ich habe das schon gemacht, das ist nicht der Fall. Eine zusätzliche Anfrageabfrage var wird stattdessen verwendet: category_name .

Im Moment ist der einzige interessante Teil, dass wir den taxonomy Parameter zusätzlich verwenden können und wenn WordPress nach Feed-databasedaten sucht, befindet es sich in einem Abfragemodus für ältere Kategorien und nicht in einem Abfragemodus für Taxonomie. Das ist ein bisschen schade, wenn Sie nach Taxonomien suchen.

Atmen Sie für den Moment ein

Weil du brauchst. Das Problem hier mit WordPress ist, dass Sie jetzt beginnen, in die komplexesten inneren Eingeweide der Software zu laufen. Es gibt einige enorme komplexe functionen im Paket, die zu verstehen sind wie Debugging-Code: Sie müssen Schritt für Schritt durchgehen.

Dabei können Sie vielleicht das Glück haben, einen Filter oder einen Hook zu finden, mit dem Sie Werte und callbacke manipulieren können, um das zu tun, was Sie tun möchten. Aber das Problem ist, je mehr Sie basteln, desto höher ist das Risiko, Dinge zu brechen.

Die Kunst besteht darin, den Ort für Veränderungen zu finden, der weniger invasiv ist.

Hinzufügen von Unterstützung für Taxonomien

Wie oben beschrieben, muss die Unterstützung für Taxonomien direkt in WP_Query hinzugefügt werden. Dies kann geschehen, indem man sich in diese function einklinkt und dabei Werte ändert.

Aber kann überhaupt nach Taxonomien gefragt werden? Ich konnte nicht viel vor 3.1 Informationen darüber finden. Es sieht so aus, dass sogar WordPress 3.0 benutzerdefinierte Taxonomien unterstützt. Es war nicht möglich, Beiträge, die sich in einer bestimmten Taxonomie befinden, nach dem Parameter request abzufragen.

Selbst in meinem 3.1 Testbed konnte ich Anfrageparameter nicht auf Taxonomieabfragen abbilden. Selbst mit 3.1 ist das nicht einfach.

Die beste Lösung, die ich bis jetzt sehen kann, ist, sich in WP_Query einzuloggen und eine auf WordPress 3.1 basierende benutzerdefinierte Taxonomieabfrage zu verwenden , hier ein paar Mock-up-Code:

 $myquery['tax_query'] = array( array( 'taxonomy' => 'category', ), ); query_posts($myquery); 

Ich rieche, dass das nicht funktioniert, weil wir nur nach Taxonomie fragen. Lassen Sie uns das im Detail überprüfen.

WP 3.1 Benutzerdefinierte Taxonomie-Abfrage nur für Taxonomie

Um das herauszufinden, implementiere ich ein einfaches Skript, das in pre_get_posts und die oben gezeigte benutzerdefinierte Taxonomie-Abfrage von WordPress 3.1 pre_get_posts . Als Taxonomie verwendete ich eine der Standardkategorien: category (Hier finden Sie alle Standardtaxonomien ). Es spuckt eine Menge PHP-Warnungen aus, was ein Zeichen dafür ist, dass dieses Feature irgendwie fragil ist. Seien Sie also gewarnt, erwarten Sie nicht, dass die Dinge sofort funktionieren.

Jedenfalls habe ich das getestet und um eine lange Geschichte zu machen, die Quickies beendet, fand ich die Lösung, einfach alle Begriffe zu erfassen und sie dann der Abfrage hinzuzufügen. Hier ist mein mu-plugin, das ich bisher benutzt habe: (oben gepostet), macht den Job für mich.

Oder verwenden Sie einfach URL: feed: //www.myurl.org/feed? post_type = news & category_name = MyCategory