Я создал страницу taxonomy.php в папке шаблона wordpress, я хотел бы получить текущий идентификатор термина для функции. Как я могу это получить?
get_query_var('taxonomy')
возвращает только слово slug, я хочу ID
Неважно! Я нашел это 🙂
get_queried_object()->term_id;
Вот вам весь фрагмент кода:
$queried_object = get_queried_object(); $term_id = $queried_object->term_id;
Просто и легко!
get_queried_object_id()
<?php $terms = get_the_terms( $post->ID, 'taxonomy'); foreach ( $terms as $term ) { $termID[] = $term->term_id; } echo $termID[0]; ?>
Просто скопируйте пасту ниже кода!
Это напечатает ваше текущее название и описание таксономии (необязательно)
<?php $tax = $wp_query->get_queried_object(); echo ''. $tax->name . ''; echo "<br>"; echo ''. $tax->description .''; ?>
См. Wp_get_post_terms () , вы бы сделали что-то вроде этого:
global $post; $terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') ); print_r($terms);
Это термин 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 ); } }