Як отримати поточний ідентифікатор терміна таксономії на WordPress?


120

Я створив сторінку taxonomy.php у своїй темі WordPress. Я хотів би отримати поточний ідентифікатор терміна для функції. Як я можу це отримати?

get_query_var('taxonomy') повертає лише термін slug, я хочу ідентифікатор

Відповіді:


304

Не звертай уваги! Я знайшов це :)

get_queried_object()->term_id;

4
Чудово! Це врятувало мені багато часу: D
MavBzh

Велике спасибі!
Анахіт Газарян

26
Ви також можете використати get_queried_object_id()для отримання лише ідентифікатора. Цілий фрагмент був би$term_id = get_queried_object_id();
Девід,

Хороша відповідь . Нещодавно я бачу питання в обміні стеками WordPress. Не могли б ви перевірити. wordpress.stackexchange.com/questions/214453/…

Дуже дякую
FaISalBLiNK

42

Просто і легко!

get_queried_object_id()

3
get_queried_object_id () було введено в 3.1.0 (23 лютого 2011 року) і має бути правильною відповіддю на поставлене запитання. > taxonomy.phpсторінку в папці шаблонів Wordpress, я хотів би отримати поточний term idдля функції.
Горох

1
Так, ця відповідь була ідеальною
Гендріт

39

Ось потрібний весь фрагмент коду:

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;

14

Просто скопіюйте пасту нижче коду!

Це надрукує ваше поточне ім'я та опис таксономії (необов'язково)

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

11

Якщо ви перебуваєте на сторінці таксономії.

Ось так ви отримуєте всі деталі про систематику.

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

Так ви отримуєте ідентифікаційний номер таксономії

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

Але якщо ви перебуваєте на сторінці публікації (таксомонія -> дитина)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;



1

Ви хочете, щоб термін slug ви хотіли. Схоже, ви можете отримати ідентифікатор таким чином, якщо це те, що вам потрібно:

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 );
        }
    }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.