Criei uma página taxonomy.php na minha pasta de temas do WordPress. Gostaria de obter o id do termo atual para uma função. Como posso conseguir isso?
get_query_var('taxonomy')
retorna apenas o termo slug, quero o ID
Criei uma página taxonomy.php na minha pasta de temas do WordPress. Gostaria de obter o id do termo atual para uma função. Como posso conseguir isso?
get_query_var('taxonomy')
retorna apenas o termo slug, quero o ID
Respostas:
Deixa pra lá! Eu encontrei :)
get_queried_object()->term_id;
get_queried_object_id()
para recuperar apenas o ID. O trecho inteiro seria$term_id = get_queried_object_id();
Simples e fácil!
get_queried_object_id()
taxonomy.php
página na minha pasta de modelos do wordpress, gostaria de obter o atual term id
para uma função.
Basta copiar e colar o código abaixo!
Isso imprimirá seu nome de taxonomia atual e descrição (opcional)
<?php
$tax = $wp_query->get_queried_object();
echo ''. $tax->name . '';
echo "<br>";
echo ''. $tax->description .'';
?>
Se você estiver na página de taxonomia.
É assim que você obtém todos os detalhes sobre a taxonomia.
get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
É assim que você obtém o id de taxonomia
$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;
Mas se você estiver na página de postagem (taxomonia -> criança)
$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
<?php
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
$termID[] = $term->term_id;
}
echo $termID[0];
?>
Veja wp_get_post_terms () , você faria algo assim:
global $post;
$terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') );
print_r($terms);
É o termo slug que você deseja. Parece que você pode obter o id assim se for necessário:
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 );
}
}