In einem früheren Tutorial habe ich gezeigt, wie ein Taxonomie-Archiv erstellt wird, das die Einträge nach Taxonomie-Begriffen auflistet.
Dieses Tutorial ist ähnlich, da es Ihnen zeigt, wie Sie Beiträge in Ihren Archiven trennen, es verwendet jedoch eine andere Struktur und eine andere Vorlagendatei. Ich zeige Ihnen, wie Sie hier vorgehen, eine Archivvorlage für eine Taxonomie zu erstellen, in der die Beiträge nach Beitragstyp aufgelistet sind.
Dies kann nützlich sein, wenn Sie einen Beitragstyp registriert haben, den Sie von normalen Beiträgen oder einem anderen Beitragstyp getrennt halten möchten, aber eine Taxonomie haben, die für beide gilt. Zum Beispiel, wenn Sie Bücher und Artikel als verschiedene Beitragstypen auflisten, jedoch gemeinsame Themen als Taxonomie haben (z. B. WordPress!)..
In dem Beispiel, das ich hier verwenden werde, arbeite ich mit dem Posttyp "Tiere" wie im vorherigen Tutorial, aber dieses Mal werde ich auch mit normalen Posts arbeiten. Ich werde zuerst Tiere mit dem abgefragten Begriff auflisten und dann Blogbeiträge mit diesem Begriff auflisten.
Ich werde ein Thema erstellen, das ein untergeordnetes Thema von vierundzwanzig ist. Wenn Sie also die Quelldateien für dieses Lernprogramm verwenden, müssen Sie dieses Thema auch auf Ihrer Website installieren. Im Stylesheet meines Themes füge ich Folgendes hinzu:
/ * Themenname: WPTutsPlus Erstellen eines Taxonomie-Archivs zum Auflisten von Beiträgen nach Beitragstyp Themen-URI: http://rachelmccollin.co.uk/wptutsplus-tax-archive-by-post-type/ Beschreibung: Thema zum Erstellen des WPTutsPlus-Lernprogramms ein benutzerdefiniertes Taxonomie-Archiv. Kinderthema für das Thema Zwanzig Vierzehn. Autor: Rachel McCollin Autor URI: http://rachelmccollin.co.uk/ Vorlage: fünfundzwanzig Version: 1.0 * / @import url ("… /twentyfourteen/style.css");
Das ist alles, was ich hinzufügen muss, um mein Kinderthema zu erstellen. Wenn Sie ein eigenes Thema verwenden, können Sie diesen Schritt überspringen.
Hinweis: Wenn Sie meinem anderen Lernprogramm zum Erstellen einer benutzerdefinierten Posttyp-Archivvorlage gefolgt sind, können Sie das von Ihnen erstellte Design verwenden, da es die gleichen Posttypen und dieselbe Taxonomie verwendet. Sie müssen nur eine Änderung vornehmen, die ich in diesem Abschnitt hervorheben möchte, und eine neue Vorlagendatei für das Taxonomie-Archiv hinzufügen.
Der nächste Schritt ist die Registrierung des Posttyps „Tier“ und einer Taxonomie der „Tierfamilie“. Ein ... kreieren Functions.php
Datei für Ihr Thema und fügen Sie zunächst die Funktion hinzu, um den Beitragstyp zu registrieren:
// Einen benutzerdefinierten Beitragstyp namens 'animals' -Funktion registrieren wptp_create_post_type () $ labels = array ('name' => __ ('Animals'), 'singular_name' => __ ('animal'), 'add_new' => __ ('Neues Tier'), 'add_new_item' => __ ('Neues Tier hinzufügen'), 'edit_item' => __ ('Tier bearbeiten'), 'new_item' => __ ('Neues Tier'), 'view_item '=> __ (' Tier anzeigen '),' search_items '=> __ (' Tiere suchen '),' not_found '=> __ (' Keine Tiere gefunden), 'not_found_in_trash' => __ ('Keine Tiere gefunden in Müll' ), ); $ args = array ('labels' => $ labels, 'has_archive' => true, 'public' => true, 'hierarchisch' => false, 'unterstützt' => array ('title', 'editor', ' Auszug ',' Benutzerdefinierte Felder ',' Miniaturansicht ',' Seitenattribute '),' Taxonomien '=> array (' post_tag ',' category '),); register_post_type ('animal', $ args); add_action ('init', 'wptp_create_post_type');
Als nächstes unterhalb dieses Schritts registrieren Sie die Aminal Familientaxonomie.
Wenn Sie mit dem im vorherigen Tutorial erstellten Design arbeiten, müssen Sie Folgendes hinzufügen Array ("Tier," Post ")
Zu deinen Argumenten für die Funktion, willst du gerade 'Tier'
.
// Eine Taxonomie mit dem Namen "Animal Family" -Funktion registrieren wptp_register_taxonomy () register_taxonomy ('animal_cat', array ('animal', 'post')), array ('labels' => array ('name' => 'Animal Families' , 'singular_name' => 'Tierfamilie', 'search_items' => 'Tierfamilien suchen', 'all_items' => 'Alle Tierfamilien', 'edit_item' => 'Tierfamilien bearbeiten', 'update_item' => ' Tierfamilie aktualisieren ',' add_new_item '=>' Neue Tierfamilie hinzufügen ',' new_item_name '=>' Neuer Tierfamilienname ',' menu_name '=>' Tierfamilie '),' hierarchisch '=> wahr,' sortieren '=> true,' args '=> array (' orderby '=>' term_order '),' rewrite '=> array (' slug '=>' animal-family '),' show_admin_column '=> true)); add_action ('init', 'wptp_register_taxonomy');
Speichern Sie Ihre Funktionsdatei und Sie werden feststellen, dass Ihr neuer Beitragstyp und Ihre Taxonomie in Ihrem Site-Administrator angezeigt werden.
Fügen Sie nun einige Daten hinzu - ich habe der Familie "Hunde" einige Tiere und Beiträge hinzugefügt.
Erstellen Sie nun eine Datei mit dem Namen taxonomy-animal_cat.php
. Dies ist die Archivvorlage für die neue Taxonomie.
Kopieren Sie den Wrapper-Code aus Ihrem Design in diese Datei, damit Elemente und Klassen mit dem Rest Ihres Designs gemeinsam sind. Ich kopiere von vierundzwanzig - wenn Sie Ihr eigenes Thema verwenden, kopieren Sie davon. Kopieren Sie alles außer der Überschrift und der Schleife und fügen Sie oben einige Kommentare hinzu, um Sie daran zu erinnern, wofür diese Datei gedacht ist:
4. Identifizieren des abgefragten Objekts
Damit Sie den Namen des abgefragten Begriffs anzeigen und Ihre Abfragen in den beiden Schleifen definieren können, die Sie erstellen, müssen Sie das abgefragte Objekt identifizieren und als Variable speichern.
Fügen Sie Folgendes in der Nähe des oberen Randes Ihrer Archivvorlage ein (ich füge es unter dem hinzu
get_header ()
Anruf):Sie werden das im nächsten Schritt verwenden.
5. Ausgabe der Archivüberschrift
Bevor Sie Ihre Schleifen hinzufügen, müssen Sie eine Überschrift für Ihre Archivseite ausgeben. In der Öffnung des
#Inhalt
div, füge den Code unten ein:Name; ?>
6. Die erste Runde
Unter der Überschrift müssen Sie Ihre erste Schleife hinzufügen, indem Sie verwenden
WP_Query
da Sie die Argumente definieren müssen.Definieren Sie zuerst die Abfrage:
// Definiere die Abfrage $ args = array ('post_type' => 'animal', 'animal_cat' => $ term-> slug); $ query = new WP_Query ($ args);Beachten Sie, dass dies die verwendet
$ term
Variable, die Sie bereits definiert haben.Fügen Sie dann die Schleife hinzu und geben Sie in einer ungeordneten Liste einen Link zu jedem Tier aus:
if ($ query-> have_posts ()) // Ausgabe des Begriffsnamens in einem Heading-Tag echo 'Tiere in der '. $ term-> name. 'Familie
'; // die Posttitel in einem Listenecho ausgeben '
Es ist wichtig, zwei Dinge hier hinzuzufügen:
wp_reset_postdata ()
Um die Abfrage zurückzusetzen, müssen Sie dies immer mit verwenden WP_Query
.Die zweite Schleife ist bis auf die Abfrageargumente fast identisch mit der ersten Schleife:
'post', 'animal_cat' => $ term-> slug); $ query = new WP_Query ($ args); if ($ query-> have_posts ()) // Ausgabe des Begriffsnamens in einem Heading-Tag echo 'Blogeinträge über das '. $ term-> name. 'Familie
'; // die Posttitel in einem Listenecho ausgeben '
Speichern Sie nun Ihre Vorlagendatei und zeigen Sie eine Vorschau des Archivs an. Sie sollten zwei Listen sehen, eine mit Tieren und die andere mit Beiträgen:
So erstellen Sie ein Taxonomie-Archiv, um Beiträge nach Beitragstyp aufzulisten. Sie können diese Technik erweitern, um Ihre Archivseiten interessanter zu gestalten:
Ich bin mir sicher, dass Ihnen weitere Möglichkeiten einfallen!