Advertisement
  1. Code
  2. Theme Development

Erstellen dynamischer Taxonomieseiten mit WordPress

Scroll to top
Read Time: 12 min

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Haben Sie sich jemals gefragt, wie Sie eine Bibliothek erstellen können, die so flexibel ist wie der Inhalt, den Sie veröffentlichen? Heute werde ich Ihnen zeigen, wie ich dynamsche Taxonomieseiten für die Musiker in meinem Musikblog einrichte, aber Sie können dieselben Techniken auf verschiedene Arten anwenden. Dieses Tutorial zeigt Ihnen, wie Sie einen dynamischen Datensatz für alles erstellen können, worüber Sie schreiben.

Ich betreibe eine große Musikwebsite. Um zu verfolgen, wann und in welchem Kontext verschiedene Künstler erwähnt wurden, wollte ich für jeden eine Seite erstellen. Durch das Erstellen neuer Taxonomien in WordPress konnte ich dies tun, indem ich einfach eine Band/einen Künstler in einem WordPress-Beitrag markierte. Darüber hinaus könnte ich dynamisch Affiliate-Links erstellen und biografische Inhalte von einer Website wie Last.FM einzeichnen.

Dieses Tutorial zeigt Ihnen, wie Sie Ihre Taxonomie einrichten, eine Vorlage dafür erstellen und dann eine dynamische Generierung von Inhalten und Links zum Künstler in Ihrer Taxonomie an anderer Stelle im Web implementieren


Schritt 1 Einrichten Ihrer benutzerdefinierten Taxonomien

Um zu beginnen, müssen Sie Ihrer WordPress-Installation die Funktion für benutzerdefinierte Taxonomien hinzufügen. Öffnen Sie dazu einfach Ihre Datei functions.php in Ihrem Themenordner, scrollen Sie ganz nach unten und aktivieren Sie die Funktion wie folgt:

Sobald Sie dies getan haben, können Sie die gewünschten Taxonomien hinzufügen. In diesem Tutorial fügen wir eine Künstlertaxonomie hinzu, mit der wir Bands in von uns verfassten Posts markieren und WordPress eine Menge Informationen über diese Band oder diesen Sänger abrufen kann, ohne dass wir jemals etwas anderes tun müssen. Abgesehen davon, lassen Sie uns fortfahren und die 'Artist'-Taxonomie direkt unter der Taxonomie-Funktion einfügen, die wir gerade hinzugefügt haben.

Sie müssen keine Künstlertaxonomie hinzufügen, Sie können jede gewünschte Taxonomie hinzufügen. Wir machen es nur für die Zwecke dieses Tutorials. Eine vollständige Liste der Argumente und Optionen, die Sie im Array verwenden können, finden Sie im Codex. Fügen Sie hinzu oder entfernen Sie alles, was Sie möchten. Solange Sie die hier kommentierten Teile verlassen, wird es Ihnen gut gehen.

Öffnen wir jetzt unser WordPress-Admin-Panel und schreiben einen Beitrag. Beachten Sie, dass sowohl Ihrem Admin-Menü als auch Ihren Ansichten zum Schreiben von Posts ein neues Feld "Artist" hinzugefügt wurde. Dies bedeutet, dass WordPress Ihre neue Funktion erkannt hat. Brillant!

Sobald Sie im Künstler-Tag-Feld auf "Hinzufügen" klicken und auf "Veröffentlichen" klicken, erstellt WordPress automatisch einen neuen Künstler mit dem Namen "Wie auch immer Sie Ihre Band genannt haben". Für dieses Tutorial habe ich eine lokale Band namens "Kutosis" ausgewählt.

Einige Leute werden sagen, dass Sie nur eine Kategorieseite haben könnten, um dasselbe zu tun. Sie haben irgendwie recht, aber wir werden gleich auf zwei Probleme stoßen, wenn wir das tun:

  1. Wenn wir über eine gute Anzahl von Bands schreiben, wird unsere WordPress-Installation bald sehr chaotisch, wenn wir für jede Band eine Kategorie erstellen
  2. Wenn wir dynamisch erstellte Inhalte für jeden Künstler einfügen möchten, schwimmen wir in unnötigem Code

Die Verwendung benutzerdefinierter Taxonomien hilft uns, diese Probleme zu vermeiden, und ermöglicht eine echte Skalierbarkeit unserer Website. Dies bedeutet auch, dass wir durch die Bereitstellung eines Artist-Tags eine Menge cooler Dinge mit API-Aufrufen von Musikwebsites erledigen können.

Bevor wir uns jedoch über alle Möglichkeiten freuen, müssen wir herausfinden, wie die Informationen auf unserer Seite angezeigt werden


Schritt 2 Einrichten unserer single.php-Vorlage

Nachdem wir angegeben haben, dass unser Beitrag Verweise auf eine bestimmte Band/einen bestimmten Künstler enthält, müssen wir den Lesern des Beitrags darauf hinweisen können. Der Weg, dies zu tun, besteht darin, ein paar einfache Codezeilen hinzuzufügen, um Links zu allen Künstlern anzuzeigen, über die wir mit der Datei single.php gesprochen haben, mit der WordPress einzelne Beiträge anzeigt.

Siehe den Link? Genau dort, wo "In diesem Beitrag" steht, wird dieser Link durch Hinzufügen des folgenden Codes zu unserer single.php-Datei hergestellt. Ich habe mich entschieden, es direkt über dem Teil meiner Vorlage hinzuzufügen, der die Kommentarvorlage aufruft:

Dieser Codeabschnitt weist WordPress an, einige Dinge zu tun:

  1. Es weist WordPress an, nach Tags zu suchen, die dem Beitrag zugeordnet sind
  2. Dann gibt es an, dass wir am Artist-Tag interessiert sind
  3. Danach teilt es Wordpress mit, wie wir es anzeigen möchten, wenn es vorhanden ist, und wie nichts angezeigt werden soll, wenn dem Beitrag kein Tag zugeordnet ist

Schritt 3 Erstellen einer Taxonomievorlage

Jetzt haben wir die Möglichkeit, auf eine Archivseite zu verlinken, auf der alle Beiträge angezeigt werden, die mit dem im Beitrag getaggten Künstler verknüpft sind. Wir könnten dort aufhören, aber es gibt so viel mehr, dass wir aus diesen mächtigen kleinen Taxonomien herauskommen können. Was ist zum Beispiel, wenn wir unseren Blog monetarisieren und Affiliate-Links einrichten möchten, um die Musik des Künstlers bei iTunes zu kaufen, oder einfach unseren Lesern das Schreiben mit einigen Spotify-Melodien des betreffenden Künstlers ermöglichen möchten? Oder noch besser - wenn wir neugierige Leser haben, können wir ihnen erlauben, ein wenig über den in der Post getaggten Künstler zu lesen und müssen selbst kein Wort schreiben. Aufregend, oder?!

Anstatt unserer Archivvorlage jede Menge bedingten Code hinzuzufügen und sie lächerlich lang zu machen, können wir die Vorlagenhierarchie von WordPress voll ausnutzen. Wir werden eine Datei namens taxonomy-artist.php hinzufügen, die fast der erste Dateiname ist, nach dem WordPress sucht, um unsere Informationen zu formatieren. Weitere Informationen zu WordPress-Vorlagenhierarchien finden Sie im WordPress-Codex.

Duplizieren Sie die Datei archive/category.php aus Ihrem Thema und benennen Sie sie in taxonomy-artist.php um (oder wenn Sie sich entschieden haben, eine andere Taxonomie zu erstellen, ändern Sie den Künstler für eine beliebige Taxonomie), damit Sie sie problemlos verwalten können Ihre Vorlagenstruktur. Sobald Sie die Dateien template/category.php dupliziert haben, sollten Sie Ihrer neuen taxonomy-artist.php-Datei den gesamten Code entziehen, der nicht den Anforderungen Ihrer Struktur entspricht. Keine Sorge, wir werden alles wieder hinzufügen, wenn wir weitermachen.

Sobald Sie gespeichert haben, bleibt eine Struktur wie diese übrig:

Nachdem wir den gesamten Code entfernt haben, den wir nicht benötigt haben, fügen wir den gesamten Code ein, den wir benötigen. Wir beginnen ganz oben, direkt unter der Überschrift unserer Seite, und fügen den vielleicht wichtigsten und kürzesten Code hinzu. Er sieht folgendermaßen aus:

Diese kleine Schönheit gibt uns eine Variable namens $ term für alles, was wir tun werden. $term ist der Name unserer Taxonomie. In unserem Beispiel wird WordPress die Band Kutosis verwenden, da dies der Akt ist, den ich in meinem Beitrag markiert habe.

Dann können wir es in unserer Vorlage verwenden, um einen Taxonomietitel hinzuzufügen

Wir können es auch verwenden, um eine Liste von Posts einzufügen, die auf unserer Website auf den Künstler verweisen. Hinweis: Sie müssen den Beitrag selbst markieren, da WordPress nicht für Sie raten wird.


Schritt 4 Es ist API-Stunde!

Nachdem wir das alles getan haben, haben wir so etwas:

Es sieht nicht allzu beeindruckend aus, oder? Das liegt daran, dass wir die Lautstärke auf der Seite dieser Band wirklich erhöhen werden! Beginnen wir mit dem Hinzufügen einiger Links zum Künstler im Internet, um unseren Lesern einen Mehrwert zu bieten.

Diese drei Codezeilen sind Beispiele für Orte, zu denen Sie möglicherweise eine Verknüpfung herstellen möchten. Ich habe einen Link zu Last.FM, Spotify und iTunes hinzugefügt. Wenn Sie über den iTunes-Link beim Partnerprogramm angemeldet sind, können Sie Ihre Partner-ID zur URL hinzufügen. Wenn Sie kein Mitglied sind, machen Sie sich keine Sorgen, nehmen Sie sie einfach heraus.

Wie gesagt, dies sind nur Beispiele für Orte, auf die Sie verlinken können. Überall dort, wo Sie einen Link zum Künstler im Web hinzufügen möchten, müssen Sie nur herausfinden, wie die Permalinks zu dieser Site strukturiert sind und woher der Name des Künstlers stammt. Fügen Sie dann einfach die von uns eingerichtete Variable in die URL ein, wie ich es im obigen Code getan habe.

Das andere gute daran ist, dass selbst wenn der Künstler Leerzeichen in seinem Namen hat, die meisten Websites dies gut interpretieren können und sicherstellen, dass Sie an den richtigen Ort geleitet werden. Testen Sie es einfach und sehen Sie, was passiert. So sieht unsere Seite aus.

Lassen Sie uns nun tatsächlich eine API verwenden

Bisher haben wir unsere Links nur dynamisch gestaltet. Was ist, wenn wir unseren Lesern einen Mehrwert bieten und ihnen einen schnellen Überblick über den Künstler geben möchten, über den wir geschrieben haben?

Die Last.FM-API ermöglicht uns den vollständigen Zugriff auf die riesige Bibliothek mit Musikinformationen. Diese API ist wahrscheinlich eine der besten auf dem Markt und wir haben Glück! Nehmen wir die Biografie des Künstlers aus der Datenbank von Last.FM.

Wenn Sie noch keinen Last.FM-API-Schlüssel haben, müssen Sie sich für einen registrieren, indem Sie hier klicken, bevor Sie in diesem Lernprogramm fortfahren.

Sobald Sie Ihren Last.FM-API-Schlüssel erhalten haben, öffnen Sie die Datei taxonomy-artist.php und sichern Sie, wo Sie die Biografie platzieren möchten. Schauen Sie sich dann die Dokumentation auf der Last.FM-Website an, um festzustellen, dass der API-Aufruf für artist.getInfo wie folgt aufgebaut ist: http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=cher&api_key= yourapikeynumber.

Sofern Sie nicht auf jeder Künstlerseite Ihrer Website Informationen über Chers musikalische Karriere wünschen, müssen Sie einige Änderungen in der URL vornehmen. Löschen Sie Cher und ersetzen Sie es durch unsere Künstlervariable, damit Sie Folgendes haben:

Das ist die API-Aufrufstruktur, die wir verwenden werden, aber leider ist es nicht so einfach, sie in eine Vorlagendatei einzufügen und WordPress arbeiten zu lassen, es sind magische Ziffern. Wir müssen einen Weg finden, um der Seite genau zu sagen, welchen Teil der Informationen des Künstlers wir benötigen. Bevor wir jedoch vor uns selbst springen, sollten wir eine cURL-Funktion einrichten, um die Informationen von Last.FM zu erhalten.

CURL ist nicht der einzige Weg, dies zu tun, aber die meisten Webhosts werden sich über Sie ärgern, wenn Sie die anderen Funktionen wie fopen in Ihrer PHP.ini-Datei aktivieren, da dies ein Sicherheitsrisiko darstellen könnte. Um peinliche Fehlermeldungen zu vermeiden, wenn Ihr Webhost Sie mit einer Methode entdeckt, die non grata ist, gehen Sie am besten wie folgt vor:

Dies ist eine Standard-CURL-Funktion. Es fordert das Last.FM-Archiv für unseren Künstler an, druckt es in eine Curl-Ressource und gibt es dann gut aus, bevor es sich selbst schließt.

Aber natürlich haben wir immer noch nicht gesagt, wohin die Beschreibung des Künstlers gehen soll oder wie genau die Beschreibung zu finden ist. Machen wir das mit SimpleXML.

Wir möchten nicht alles in der XML-Datei haben - wir möchten nur die Künstlerzusammenfassung erhalten, die eine Kurzversion der Biografie enthält.
Das macht dieses Bit: $info=$xml->artist->bio->summary;

Anschließend wird die Zusammenfassung einer Variablen namens $info zugewiesen, die wir überall auf unserer Vorlagenseite wiedergeben können, sodass wir Folgendes erhalten:


Abschluss

Herzliche Glückwünsche! Sie haben eine dynamisch generierte Künstlerseite für Ihre Lieblingsband erstellt!

Mit der Last.FM-API können Sie alle Arten von großartigen Dingen erledigen, einschließlich Links zu den Top 5, die von einem Künstler angehört wurden, Biobilder usw. Das Beste, was Sie tun können, ist, mit den API-Aufrufen herumzuspielen, die Sie können machen.

Wenn Sie lieber selbst mit Biobildern umgehen möchten, gibt es einige großartige Plugins. Am bemerkenswertesten ist das Plugin Taxonomy Images von Michael Fields, mit dem Sie auf einfache Weise benutzerdefinierte Bilder ohne Codierung zu Ihrer Taxonomie hinzufügen können. Wenn Sie sich für dieses Plugin entscheiden, lesen Sie in den häufig gestellten Fragen zu Michael nach, wie Sie es für Ihre Anforderungen verwenden können.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.