WordPress 3 schließt eine Reihe wichtiger Lücken in Richtung eines ernsthaften Content-Management-Systems. Mit der benutzerfreundlichen benutzerdefinierten Taxonomie-Funktion erhalten Website-Designer einige leistungsstarke Werkzeuge zum Erstellen einer guten Informationsarchitektur. Erfahren Sie, was Taxonomien sind, warum sie nützlich sind und wie Sie sie im heutigen Tutorial verwenden können!
Taxonomien sind unterschiedliche Methoden zur Klassifizierung von Dingen.
Taxonomien sind unterschiedliche Methoden zur Klassifizierung von Dingen. Dieses Tutorial verwendet ein Beispiel für Beiträge zu verschiedenen Desktop-Computern, die nach verschiedenen Kriterien klassifiziert werden können, darunter:
Vor der Version 2.3 gab es in WordPress nur eine generische Taxonomie (Kategorie) für Posts. Dies funktionierte gut für Blogs, da Sie eine Top-Level-Kategorie namens "Desktop-Computer" mit einer Unterkategorie namens "RAM" erstellen konnten, die Unterkategorien wie "Weniger als 1 GB", "1 GB", "2 GB" enthalten kann bis 4 GB "und so weiter. Eine zweite untergeordnete Kategorie von "Desktop-Computern" könnte als "Betriebssystem" bezeichnet werden, mit Unterkategorien wie "Windows XP", "Mac OS", "Red Hat", "Ubuntu" und so weiter.
Wenn ein System Ihnen erlaubt, Kategorien zu haben, die in Unterkategorien unterteilt werden können, nennen wir es eine hierarchische Struktur. Das Beste, was Sie für eine seriöse Site-Architektur vor WordPress Version 2.3 tun können, war das Erstellen einer großen Hierarchie von Kategorien, wobei die Kategorien der obersten Ebene große Taxonomiegruppen repräsentierten.
Version 2.3 von WordPress fügte eine andere Art von Taxonomie namens Tags hinzu. Während Kategorien in der Regel vorab durchdacht werden, stellen Tags für die Inhaltstypen einer Website eine eher unformbare Methode dar, um Inhalte zu klassifizieren.
Wenn Sie beispielsweise einen Post über einen bestimmten Desktop-Computer schreiben, können Sie mithilfe von Tags ein oder mehrere Schlüsselwörter eingeben, z. B. "Gaming", "Tivo", "Rauschender Lüfter" usw. Diese Keywords sind möglicherweise als website-weite Kategorien nicht sinnvoll, helfen jedoch bei der Klassifizierung eines Beitrags. Die Besucher der Website konnten dann später leicht alle mit "noisy fan" getaggten Beiträge finden. Die Freiformform von Tags hilft uns jedoch nicht beim Aufbau eines soliden Klassifizierungssystems um bekannte Werte wie Betriebssystemtypen oder CPU-Typen. Tags sind auch eindimensional und erlauben keine hierarchische Struktur.
Mit Wordpress Version 2.8 konnten benutzerdefinierte Klassifizierungsschemas mit nur wenigen Änderungen am Code Ihrer Website hinzugefügt werden. Auf diese Weise konnten Sie eine Liste möglicher Betriebssysteme erstellen, getrennt von einer Liste möglicher RAM-Typen usw. Diese benutzerdefinierten Taxonomien konnten jedoch nicht in einer der generischen Kategorien Taxonomie ähnlichen Hierarchie aufgebaut werden.
Schließlich bietet WordPress Version 3 vollständig hierarchische benutzerdefinierte Taxonomien. Beachten Sie, dass wir aufgrund der hierarchischen Struktur die Betriebssystem-Taxonomie vereinfachen können, indem Sie beispielsweise alle verschiedenen Windows-Varianten unter eine übergeordnete Klassifizierung "Windows" stellen. Auf diese Weise können Besucher alle mit einem Windows-Betriebssystem klassifizierten Beiträge anzeigen oder genauer festlegen und beispielsweise nur mit Windows XP klassifizierte Beiträge anzeigen.
In WordPress Version 3 können Sie keine benutzerdefinierten Taxonomien auf dem Verwaltungsbildschirm erstellen. Wenn Sie Ihre benutzerdefinierten Taxonomien zunächst ohne ein Plugin definieren möchten, müssen Sie der functions.php-Datei Ihres Themas ein wenig Code hinzufügen. Das ist nicht zu schwierig - folgen Sie einfach meinem Beispiel.
Um benutzerdefinierte Taxonomien hinzuzufügen, müssen Sie die Datei "functions.php" bearbeiten, die sich in Ihrem Designverzeichnis befindet. Beispielsweise verwende ich das Standarddesign "20", das mit WordPress 3.0 geliefert wird, und meine WordPress-Installation befindet sich in einem Verzeichnis mit dem Namen "wp". Meine functions.php-Datei lautet dann:
[website_root] /wp/wp-content/themes/twentyten/functions.php.
Wir bleiben beim Beispiel des Desktop-Computers und fügen separate Taxonomien für RAM, Festplatte und Betriebssystem hinzu. An diesem Punkt fügen wir einfach die Taxonomien selbst hinzu, wie leere Behälter. Glücklicherweise können wir die verschiedenen Klassifikationen, wie "Windows XP", bequem über das Admin-Dashboard hinzufügen und verwalten.
Erstens müssen wir eine Funktion erstellen, die alle Taxonomien erstellt, die wir benötigen. Wir nennen die Funktion "build_taxonomies". Fügen Sie diese Funktion am Ende der Datei „functions.php“ hinzu.
Funktion build_taxonomies () // Code geht hier hin
Als Nächstes müssen wir für jede Taxonomie, die wir erstellen möchten, eine bestimmte WordPress-Funktion mit den richtigen Parametern aufrufen. Hier ist die Funktion und ihre wichtigen Parameter erklärt.
register_taxonomy ('interner_name', 'object_type', array ('hierarchisch' => true | false, 'label' => 'Vom Menschen lesbarer Name'), 'query_var' => true | false, 'umschreiben' => true | false));
Unser Eintrag zum Hinzufügen der Betriebssystemsystem-Taxonomie sieht folgendermaßen aus:
register_taxonomy ('operating_system', 'post', array ('hierarchisch' => true, 'label' => 'Betriebssystem', 'query_var' => true, 'rewrite' => true));
Fahren Sie fort und fügen Sie dies Ihrer "build_taxonomies" -Funktion hinzu.
"register_taxonomy" wird im WordPress-Codex weiter definiert.
Wir müssen der Datei "functions.php" eine weitere Zeile hinzufügen, damit die Funktion "build_taxonomies" tatsächlich ausgeführt wird. Wir "haken" die Funktion "build_taxonomies" für das "init" -Ereignis ein, indem Sie den folgenden Code hinzufügen:
add_action ('init', 'build_taxonomies', 0);
Sie können diese Zeile an einer beliebigen Stelle einfügen, aber im Allgemeinen füge ich sie oberhalb der aufgerufenen Funktion hinzu.
// Benutzerdefinierter Taxonomie-Code add_action ('init', 'build_taxonomies', 0); Funktion build_taxonomies () register_taxonomy ('operating_system', 'post', array ('hierarchisch' => true, 'label' => 'Betriebssystem', 'query_var' => true, 'rewrite' => true));
Erfahren Sie mehr über add_action.
Wenn Sie die Taxonomie "Operating System" korrekt zur Datei "functions.php" hinzugefügt haben, sollte sie als neues Element im Bereich "Beiträge" Ihres Dashboards angezeigt werden. Klicken Sie auf den Namen der Taxonomie, um die hinzuzufügenden Klassifikationen hinzuzufügen und zu bearbeiten.
Jetzt können Sie Betriebssysteme genauso hinzufügen und bearbeiten wie generische Kategorien.
Wenn Sie die Taxonomien "RAM" und "Festplatte" hinzufügen möchten, die mit dem Beispiel verbunden werden sollen, fügen Sie der Datei "functions.php" Folgendes hinzu:
register_taxonomy ('ram', 'post', array ('hierarchisch' => true, 'label' => 'RAM', 'query_var' => true, 'umschreiben' => true)); register_taxonomy ('hard_drive', 'post', array ('hierarchisch' => true, 'label' => 'Hard Drive', 'query_var' => true, 'rewrite' => true));
Sobald der Vorgang abgeschlossen ist, sieht der geänderte Abschnitt Ihrer Datei "functions.php" in etwa wie folgt aus:
// Benutzerdefinierter Taxonomie-Code add_action ('init', 'build_taxonomies', 0); Funktion build_taxonomies () register_taxonomy ('operating_system', 'post', array ('hierarchisch' => true, 'label' => 'Betriebssystem', 'query_var' => true, 'rewrite' => true)); register_taxonomy ('ram', 'post', array ('hierarchisch' => true, 'label' => 'RAM', 'query_var' => true, 'umschreiben' => true)); register_taxonomy ('hard_drive', 'post', array ('hierarchisch' => true, 'label' => 'Hard Drive', 'query_var' => true, 'rewrite' => true));
Erstellen Sie einige neue Beiträge, und Ihre neuen Taxonomieoptionen werden auf dem Bildschirm "Beitrag bearbeiten" angezeigt. Wählen Sie die Klassifikationen aus, die auf Ihre Posts zutreffen.
Nichts, was wir bisher getan haben, können die Besucher Ihrer Website sehen. Wir möchten, dass Posts zeigen, in welchen benutzerdefinierten Taxonomien sie klassifiziert werden, wie dies bei Posts normalerweise der Fall ist.
Dazu müssen wir in bestimmten Vorlagendateien nur eine einfache Ergänzung der Schleife hinzufügen.
Im zwanzigsten Thema und vielen anderen werden die Kategorien und Tags eines Beitrags unter dem Haupttext aufgelistet. Wir werden benutzerdefinierte Taxonomie-Informationen hinzufügen, sofern vorhanden, unmittelbar vor den Kategorien- und Tag-Informationen.
Dazu müssen wir die Vorlagendatei "single.php" bearbeiten, die normalerweise aufgerufen wird, um einen einzelnen Beitrag anzuzeigen. Meine single.php-Datei befindet sich unter: [website_root] /wp/wp-content/themes/twentyten/single.php.
Suchen Sie in single.php die Zeile mit:
Dies erscheint kurz vor dem:
In zwanzig enthält dieses div die Kategorien, Tags, Permalink und andere Daten für den aktuellen Beitrag. Wir werden unsere Taxonomie-Informationen direkt über dieses Div legen.
Schritt 2 Rufen Sie Taxonomie-Informationen zum aktuellen Beitrag ab
Füllen Sie einige Variablen auf, um die Ausgabe der Taxonomie-Informationen und die verschiedenen Taxonomie-Informationen zu speichern, die wir erwarten können.
ID, 'Betriebssystem', 'Betriebssysteme): ',', ', ");Hier rufen wir die WordPress-Funktionsliste "get_the_term" mit den folgenden Parametern auf:
- $ post-> ID : die ID des aktuellen Beitrags.
- 'Betriebssystem' : Der Name der benutzerdefinierten Taxonomie, die wir auf Daten überprüfen. Wir fragen, ob der aktuelle Beitrag Klassifizierungen in der 'operating_system'-Taxonomie erhalten hat.
- 'Betriebssysteme)' : Wenn etwas zurückgegeben wird, ist dies die Zeichenfolge, die wir gerne davor haben möchten.
- ',' : Wenn mehrere Elemente zurückgegeben werden, ist dies die Zeichenfolge, durch die sie getrennt werden sollen.
- " : Wenn etwas zurückgegeben wird, ist dies die Zeichenfolge, die wir gerne haben möchten. In diesem Fall möchten wir nichts hinter dem Ergebnis hinzufügen.
Wir werden dasselbe für die anderen beiden Taxonomien tun, von denen wir erwarten würden, dass sie Daten enthalten:
$ ram_list = get_the_term_list ($ post-> ID, 'ram', 'RAM Option (en): ',', ', "); $ hd_list = get_the_term_list ($ post-> ID,' hard_drive ','Festplattenoption (en): ',', ', ");Mehr Informationen:
Weitere Informationen zu "get_the_term_list".
Schritt 3 Formatieren Sie die Ergebnisse der Klassifizierungen, falls vorhanden
Überprüfen Sie die Ergebnisse in jeder der drei möglichen Taxonomien. Wenn sie vorhanden sind, fügen Sie sie unserer Ausgabe hinzu, sowie einen Zeilenumbruch.
// Betriebssystemliste hinzufügen, wenn dieser Beitrag mit einem Tag versehen wurde, wenn ("! = $ Os_list) $ taxo_text. =" $ Os_list
\ n "; // RAM-Liste hinzufügen, wenn dieser Beitrag mit einem Tag versehen wurde, wenn ("! = $ ram_list) $ taxo_text. = "$ ram_list
\ n "; // HD-Liste hinzufügen, wenn dieser Beitrag mit einem Tag versehen wurde, wenn ("! = $ hd_list) $ taxo_text. = "$ hd_list
\ n ";
Schritt 4 Klassifizierungsergebnisse anzeigen, falls vorhanden
Prüfen Sie, ob die obigen Schritte dazu geführt haben, dass überhaupt Taxonomie-Informationen ausgegeben wurden. Wenn Taxonomie-Informationen vorhanden sind, geben wir sie in einem Div der Klasse "entry-utility" ein.
// Gib Taxonomie-Informationen aus, wenn es welche gab. // HINWEIS: Wir werden nicht einmal ein Div öffnen, wenn nichts drin ist. if ("! = $ taxo_text) ?>// endif ?>
Schritt 5 Überprüfen Sie Ihre Ergebnisse
Besuchen Sie eine Post-Seite, und Sie sollten alle benutzerdefinierten Taxonomie-Klassifizierungen unten sehen.
Anzeigen einer Liste von Beiträgen nach Taxonomie-Klassifizierung
Jetzt sagen uns unsere einzelnen Beiträge, mit welchen kundenspezifischen Taxonomien sie klassifiziert wurden. Wenn sie eine benutzerdefinierte Taxonomie-Klassifizierung auflisten, stellen sie auch einen Link zur Verfügung, um alle Beiträge dieser Klassifizierung aufzulisten. Wenn Sie beispielsweise auf den Link "Mac OS" neben "Betriebssysteme" in unserem Beitrag klicken, werden theoretisch alle Posts mit der Betriebssystemklassifizierung "Mac OS" aufgelistet.
Dies ist jedoch in WordPress Version 3 nicht der Fall. Wir müssen eine benutzerdefinierte Vorlagendatei erstellen, um Taxonomie-Archive anzuzeigen, damit sie funktioniert. Mit WordPress können Besucher bereits alle Beiträge anzeigen, die einer bestimmten Kategorie zugewiesen sind, oder alle Beiträge, die einem bestimmten Tag zugewiesen wurden. Wenn wir hier fertig sind, können wir auch alle Beiträge anzeigen, die bestimmten Klassifikationen in unseren benutzerdefinierten Taxonomien zugeordnet sind.
Dazu müssen wir die Vorlagendatei "taxonomy.php" erstellen. WordPress versucht, diese Datei immer dann zu verwenden, wenn Beiträge in einer benutzerdefinierten Taxonomie aufgelistet werden sollen.
Schritt 1
Öffnen Sie die Datei "category.php", kopieren Sie deren Inhalt und fügen Sie sie in eine neue Datei mit dem Namen "taxonomy.php" ein. Speichern Sie taxonomy.php im Designverzeichnis. Zum Beispiel ist meine taxonomy.php-Datei unter:
[website_root] /wp/wp-content/themes/twentyten/taxonomy.php.
Schritt 2 Informieren Sie sich über die aktuelle Taxonomieklassifizierung
In der Datei taxonomy.php müssen wir Informationen zur aufgelisteten Taxonomie abrufen. Wir werden wahrscheinlich den Namen und die Beschreibung (falls vorhanden) für die ausgewählte Klassifizierung wünschen.
Knapp unter , füge folgende Zeile hinzu:
$ term = get_term_by ('slug', get_query_var ('term'), get_query_var ('taxonomy'));Dadurch werden alle Informationen zur Taxonomie, die diese Seite aufgerufen hat, abgerufen und als Objekt in die Variable $ term zurückgegeben. Die Klassifizierung "Mac OS" gibt beispielsweise ein Objekt als solches zurück:
stdClass-Objekt ([term_id] => 13 [name] => Mac OS [Slug] => mac-os [term_group] => 0 [term_taxonomy_id] => 22 [Taxonomie] => Betriebssystem [Beschreibung] => [übergeordnet] => 0 [Anzahl] => 2)
Schritt 3 Klassifizierungsname und Beschreibung anzeigen
Wir möchten den Seitennamen ändern, um den Besuchern mitzuteilen, was sie sehen. Da wir mit der Vorlage category.php angefangen haben, können wir die Zeile, in der der Kategoriename gedruckt wurde, etwas ändern und etwas ändern, um uns den gewünschten Seitennamen und ggf. eine Beschreibung zu geben.
Ändern Sie die folgende Zeile aus category.php:
printf (__ ('Archiv der Kategorie:% s', 'twentyten'), ''. single_cat_title (", false). '');
Lesen Sie wie folgt:
printf (__ ('Geordnete Beiträge zu:% s', 'twentyten'), ''. $ term_name '');
Dadurch wird der statische Text am Anfang der Zeile geändert und der Name der Klassifizierung eingefügt. (Hinweis: Für eine korrekte Lokalisierung müssen Sie der Datei "languages / twentyten.pot" die Option "Posts klassifiziert unter:" korrekt hinzufügen. Dies ist nicht Gegenstand dieses Tutorials. Beachten Sie jedoch die Übertretung hier.)
Dann füge folgendes hinzu:
if ("! = $ term_descr) echo"$ term_descr
\ n ";Wenn für diese Klassifizierung eine Beschreibung vorhanden ist, wird diese direkt unter dem Titel angezeigt.
Nachdem Sie Änderungen an taxonomy.php vorgenommen haben, besuchen Sie einen Ihrer Einträge, für den eine benutzerdefinierte Taxonomie-Klassifizierung vorgenommen wurde. Aufgrund unserer früheren Arbeit in der Datei "single.php" sollte der Beitrag benutzerdefinierte Klassifizierungen darunter anzeigen. Klicken Sie einfach auf eine dieser Klassifizierungen, um die Liste der Taxonomien bei der Arbeit anzuzeigen.
Fazit
Ich hoffe, dass dieses Tutorial klar erklärt hat, was Taxonomien sind und wie Sie sie in WordPress 3 als leistungsfähiges Organisationswerkzeug einsetzen können. Ich hoffe, Ihnen bald ein Folientutorial zu geben, in dem Sie die benutzerdefinierten PostPress-Typen, ihre enge Beziehung zu benutzerdefinierten Taxonomien und deren Verwendung erklären werden. Vielen Dank, dass Sie sich die Zeit genommen haben, um Nettuts zu besuchen!