En alguna ocasión nos va a hacer falta saber u obtener todas las categorías de un post. Bien sea el nombre, el slug o el ID de estas categorías.
Para obtener todas las categorías de un post, voy a utilizar la función get_the_category() que me permite recuperar todas las categorías de un post.
Para este ejemplo, he utilizado el hook «template_redirect» para que me pinte las categorías en la página del post, en la parte superior pero esto es sólo para poder verlo y así estar seguro de que me está dando el resultado que estoy buscando aunque lo mejor sería añadirlo al log. Pero esto será otro día.
A continuación, el código:
function oaf_get_post_categories() {
$categories = get_the_category( get_the_ID() );
if ( ! empty( $categories ) ) {
foreach( $categories as $category ) {
echo "Categoria: " . esc_html( $category->name ) . " ID --> " . $category->term_id . "<br />";
}
}
}
add_action( "template_redirect", "oaf_get_post_categories" );
Si nos fijamos, la función «oaf_get_post_categories()» obtiene las categorías del post actual gracias a pasarle el ID del post mediante la función get_the_ID().
A partir de aquí lo que hacemos es un foreach para que muestre por pantalla tanto el nombre de la categoría como el ID de la misma.
Es algo sencillo y espero que os sea de utilidad.
Saludos y mucho ánimo!
Programador WordPress freelance