¿Cómo obtener el ID de categoría en single.php de WordPress?
22 dic 2012, 13:24:07
Vistas: 32.4K
Votos: 2
Necesito obtener el id de categoría
en single.php
. Probé esto:
$cat_ID = get_query_var('cat');
No funcionó. ¿Qué debería usar en su lugar?
Puedes usar cualquiera de estas soluciones:
// Método 1: Usando get_the_category()
$categories = get_the_category();
$category_id = $categories[0]->term_id;
// Método 2: Usando wp_get_post_categories()
$category_ids = wp_get_post_categories(get_the_ID());
$category_id = $category_ids[0];
// Método 3: Para obtener todas las categorías de la entrada
$categories = get_the_category();
foreach($categories as $category) {
$category_id = $category->term_id;
// Hacer algo con el ID de la categoría
}

Sam Hanson
253
Todas las respuestas a la pregunta
2
0
Usar wp_get_post_categories()
Recupera la lista de categorías para una entrada.
<?php wp_get_post_categories( $post_id, $args ) ?>
Ten en cuenta que la función devuelve un array (de IDs de categorías) incluso si solo tienes una categoría en tu entrada.
El ejemplo a continuación muestra cómo se recuperan las categorías y luego se obtiene información adicional para cada categoría.
$post_categories = wp_get_post_categories( $post_id );
$cats = array();
foreach($post_categories as $c){
$cat = get_category( $c );
$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}
Referencia: http://codex.wordpress.org/Function_Reference/wp_get_post_categories
Otra opción:
Usar get_the_terms();
<?php
$id = get_the_id();
$terms = get_the_terms( $id, 'category' );
// print_r( $terms );
foreach($terms as $term) {
echo $term->cat_ID;
}
?>

gurudeb
181
22 dic 2012 14:39:08
Comentarios
ref http://codex.wordpress.org/Function_Reference/get_the_category

22 dic 2012 13:44:08
Preguntas relacionadas
4
respuestas
1
respuestas
2
respuestas
4
respuestas