php - obtener - tags wordpress codex
Obtener el ID de categoría actual de la página activa (9)
Buscando extraer el ID de categoría de una página específica en WordPress que enumera todas las publicaciones que usan esa categoría específica. Probé el de abajo pero no funcionó. Puedo obtener el nombre de la categoría usando single_term_title
.
$category = single_term_title("", false);
$catid = get_cat_ID( $category );
$category
muestra "Entretenimiento", por ejemplo. Pero también necesito la ID de "Entretenimiento". ¿Cómo voy a hacer esto?
Alternativa -
$catID = the_category_ID($echo=false);
EDITAR: la función anterior está en desuso, use get_the_category()
Creo que algo de lo anterior puede funcionar, pero usar la función get_the_category parece complicado y puede dar resultados inesperados.
Creo que la manera más directa y simple de acceder al ID de gato en una página de categoría es:
$wp_query->query_vars[''cat'']
Aclamaciones
Encontré esta pregunta mientras buscaba exactamente lo que me pediste. Desafortunadamente, has aceptado una respuesta incorrecta. Por el bien de otras personas que intentan lograr lo que estábamos tratando de lograr, pensé que publicaría la respuesta correcta.
$cur_cat = get_cat_ID( single_cat_title("",false) );
Como dijiste single_term_title("", false);
estaba devolviendo correctamente el título de la categoría, no estoy seguro de por qué habría tenido problemas con su código; pero el código anterior funciona perfectamente para mí.
La forma más antigua pero más rápida que puedes usar es:
$cat_id = get_query_var(''cat'');
Lo usé para breadcrums en la página de plantilla de categoría:
$cat_obj = $wp_query->get_queried_object();
$thiscat_id = $cat_obj->term_id;
$thiscat = get_category($thiscat_id);
$parentcat = get_category($thiscat->parent);
Puedes intentar usar get_the_category()
:
$categories = get_the_category();
$category_id = $categories[0]->cat_ID;
Si es una página de categoría, puede obtener la identificación de la categoría actual de la siguiente manera:
$category = get_category( get_query_var( ''cat'' ) );
$cat_id = $category->cat_ID;
Si desea obtener un ID de categoría de cualquier categoría en particular en cualquier página, intente utilizar:
$category_id = get_cat_ID(''Category Name'');
Uso la función get_queried_object para obtener la categoría actual en una página de plantilla category.php.
$current_category = get_queried_object();
Jordan Eldredge tiene razón, get_the_category no es adecuado aquí.
$cats = wp_get_post_terms( $post->ID, ''product_cat'' );
foreach($cats as $cat){
/*check for category having parent or not except category id=1 which is wordpress default category (Uncategorized)*/
if($cat->parent != ''0'' && $cat->term_id != 1){
echo ''<h2 class="link"><a href="''.get_category_link($cat->term_id ).''">''.$cat->name.''</a></h2>'';
break;
}
}