Wie erhalte ich die aktuelle Taxonomie-Term-ID in WordPress?

120

Ich habe eine taxonomy.php-Seite in meinem WordPress-Themenordner erstellt. Ich möchte die aktuelle Term-ID für eine Funktion erhalten. Wie kann ich das bekommen?

get_query_var('taxonomy') Gibt nur den Begriff Slug zurück, ich möchte die ID

Ungültiger Satzbau
quelle

Antworten:

304

Keine Ursache! Ich habe es gefunden :)

get_queried_object()->term_id;
Ungültiger Satzbau
quelle
4
Toll! Das hat mir viel Zeit gespart: D
MavBzh
Vielen Dank!
Anahit Ghazaryan
26
Sie können auch get_queried_object_id()nur die ID abrufen. Ganzer Ausschnitt wäre$term_id = get_queried_object_id();
David
Gute Antwort . Vor kurzem sehe ich eine Frage in WordPress Stack Exchange. Könnten Sie bitte überprüfen. wordpress.stackexchange.com/questions/214453/…
Vielen Dank
FaISalBLiNK
42

Simpel und einfach!

get_queried_object_id()
theMukhiddin
quelle
3
get_queried_object_id () wurde in 3.1.0 (23. Februar 2011) eingeführt und sollte die richtige Antwort auf die gestellte Frage sein. > taxonomy.phpSeite in meinem WordPress-Vorlagenordner möchte ich den aktuellen Stand term idfür eine Funktion abrufen.
Erbse
1
Ja, diese Antwort war perfekt
Gendrith
39

Hier ist das gesamte benötigte Code-Snippet:

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;
Tim Bowen
quelle
14

Einfach kopieren und unter den Code einfügen!

Dadurch werden Ihr aktueller Taxonomiename und Ihre Beschreibung gedruckt (optional).

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

Wenn Sie sich auf der Taxonomieseite befinden.

So erhalten Sie alle Details zur Taxonomie.

get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

So erhalten Sie die Taxonomie-ID

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;

Aber wenn Sie in der Post-Seite sind (Taxomonie -> Kind)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
Wut
quelle
7
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>
Jadson Moreira
quelle
3

Siehe wp_get_post_terms () , Sie würden so etwas tun:

global $post;
$terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') );

print_r($terms);
Purvik Dhorajiya
quelle
1

Es ist der Begriff Schnecke, den Sie wollen. Sieht so aus, als könnten Sie die ID so erhalten, wenn Sie das brauchen:

function get_term_link( $term, $taxonomy = '' ) {
    global $wp_rewrite;

    if ( !is_object($term) ) {
        if ( is_int( $term ) ) {
            $term = get_term( $term, $taxonomy );
        } else {
            $term = get_term_by( 'slug', $term, $taxonomy );
        }
    }
SYED FARHAN KARIM
quelle