Get Link für Taxonomie, um Top-Level-Begriffe anzuzeigen

Ist es möglich, einen Link für eine Taxonomie als solche zu bekommen, nicht ihre individuellen Bedingungen? Und auf welche Seite in der Vorlagenhierarchie zeigt dieser Link?

Betrachten Sie eine hierarchische Taxonomie namens “Produkte”. Begriffe auf oberster Ebene sind ‘Produktgruppe1’, ‘Produktgruppe2’ und ‘Produktgruppe3’. Jetzt kann ich den Link eines Begriffes wie ‘productgroup1’ (mit get_term_link ) bekommen und es wird etwas wie http: // localhost / products / productgroup1 sein , was auf taxonomy-products.php . Auf dieser Seite werde ich die Kindbegriffe des Begriffs ‘productgroup1’ in der Taxonomie anzeigen.

Aber ich brauche auch eine Seite, auf der alle Top-Level-Begriffe angezeigt werden. Also brauche ich eine Seite mit dem Link http: // localhost / products /, auf der ich die Top-Level-Begriffe “productgroup1”, “productgroup2” und “productgroup3” anzeigen werde. Es wäre auch schön, wenn dieser Link auf die gleiche Vorlage taxonomy-products.php verweisen würde, da der Code größtenteils identisch ist.

Aber http: // localhost / products / gibt eine 404 und eine function zum Abrufen einer Verknüpfung für eine Taxonomie existiert nicht? Ich kann nur eine function finden, um einen Link zu erhalten.

Solutions Collecting From Web of "Get Link für Taxonomie, um Top-Level-Begriffe anzuzeigen"

@Webelaine hat deine Frage schon beantwortet.

Sie arbeiten gegen sich selbst – erstellen Sie einfach einen benutzerdefinierten Posttyp namens Produkt.

Beachten Sie, dass benutzerdefinierte Post-Typen hierarchisch (wie Seiten) sein können, wenn Sie danach suchen.

BEARBEITEN

Unter Berücksichtigung dessen, was das OP im Kommentarbereich gesagt hat, ist der beste Ratschlag, den ich anbieten kann, “Erstellen einer benutzerdefinierten Seitenvorlage”, wo Sie alle Top-Level-Taxonomiebegriffe abfragen.

Der Code dafür wäre:

 $args = [ 'taxonomy' => 'product_category', 'parent' => 0, 'hide_empty' => false ]; $terms = get_terms( $args ); // loop through all terms foreach( $terms as $term ) { // display only the term name echo '

' . $term->name . '

'; }

Ich hoffe, das hilft