WordPress: Obtener todas las categorías de un post – get_the_category()

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!