Abrufen des Taxonomiebegriffs der aktuellen Seite und Auffüllen von Abfragen in der Vorlage

16

Ich habe versucht, herauszufinden, wie ein bestimmter Taxonomiebegriff der aktuellen Seite ermittelt werden kann, damit ich anschließend Abfragen auf der Seite für andere Beitragstypen auffüllen kann, die denselben Begriff verwenden.

Grundsätzlich:

  • Seite 1 hat Taxonomiebegriff - Bildungspolitik
  • page.php besteht aus vier Teilen:
    1. Standardschleife, die die Seite ausgibt, dann aber drei aufeinanderfolgende Abfragen enthält
    2. Schleife für Ereignisse mit Taxonomiebegriff - Bildungspolitik
    3. Schleife für Berichte mit Taxonomiebegriff - Bildungspolitik
    4. Schleife für Leute mit Taxonomiebegriff - Bildungspolitik

Ich habe seitenbezogene Vorlagen erstellt, in denen ich den Begriff einfach in die zusätzlichen Schleifen fest einprogrammieren konnte, aber ich muss herausfinden, wie dies dynamisch funktioniert (ursprünglich sollten es vier oder fünf Seiten sein, jetzt sind es vierzig oder fünfzig).

Ich habe ein paar ähnliche Fragen gefunden, aber keine, die ich wirklich durch die Implementierung finden konnte.

Rufen Sie die Taxonomie der aktuellen Seite ab , die in Bezug auf die tatsächlich gestellten Fragen etwas verwirrend war.

Rufen Sie auf einer benutzerdefinierten Single-Post-Type.php-Vorlagenseite die Term-ID ab, die zur benutzerdefinierten Taxonomie gehört

Ich hoffe das macht Sinn und vielen Dank.

Christopher
quelle

Antworten:

25

Hm, wenn Sie eine Taxonomie für den Objekttyp "Seite" korrekt registriert und dann einer Seite einen Begriff dieser Taxonomie zugewiesen haben ... Ich glaube, Sie können dann auf folgende Weise auf die Taxonomie und die Term-Slugs zugreifen:

get_query_var( 'taxonomy' )
get_query_var( 'term' )

Wenn Sie print_r($wp_query)eine aktuelle Seite erstellen, werden alle Parameter angezeigt, die angezeigt werden. Mit dem obigen Code greifen Sie über auf diese Parameter zu $wp_query.

Um dann das Termobjekt mit vollständigen Informationen zu erhalten, können Sie wie folgt die Funktion get_term_by verwenden

$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;

Dies gibt den "schönen" Namen des Begriffs aus.

Ich glaube, wenn Sie get_query_var('term')oder $term->slug(nachdem Sie den Begriff Objekt erhalten haben), können Sie diesen Slug in allen anderen Abfragen verwenden.

Ich hoffe, das hilft. Ich habe die Taxonomie nie für Seiten verwendet. Lass mich wissen, wie es dir geht.

Dashaluna
quelle
2

Kopieren Sie einfach den folgenden Code und fügen Sie ihn ein

Hiermit wird der Name und die Beschreibung der Taxonomie Ihrer aktuellen Seite gedruckt (optional).

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
Varsha Dhadge
quelle
-2

Möglicherweise müssen Sie die Suche aktivieren, um die Paginierung zu aktivieren

Während Sie eine benutzerdefinierte Taxonomie deklarieren, sollten Sie die Suchfunktion ausschließen.

exclude_from_search => false

Das hat mein Problem behoben.

ShoveItUpYour____
quelle