En sí el código es éste (hay una mezcla de variables propias y de Wordpress pero no le presten atención):
Código php:
Puse al final ese break porque de lo contrario se viene todo el array de categorías ¿hay alguna manera de fijar con php la posición inicial de la lista y escoger el puesto del array que tenga un solo dato?. Como mencioné funciona bien, pero en unos 4 o 5 casos me devuelve varios. Si pudiera decidir desde dónde va a tomarlos resolvería el problema. Ver original
<?php foreach((get_the_category()) as $cat) { if ($cat->category_parent == 31 AND $ent != 0) echo ' <tr> <th scope="row">Ente ejecutor:</th> <td>' . $cat->cat_name . ' <a href="' . get_category_link($cat->cat_ID) . '">(Obras desarrolladas por este organismo)</a><br /></td> </tr> '; if ($cat->category_parent == 6 AND $reg != 0) echo ' <tr> <th scope="row">Región:</th> <td>' . $cat->cat_name . ' <a href="' . get_category_link($cat->cat_ID) . '">(Obras ubicadas en esta región)</a><br /></td> </tr> '; if ($cat->category_parent == 34 AND $niv != 0) echo ' <tr> <th scope="row">Nivel de avance:</th> <td>' . $cat->cat_name . ' <a href="' . get_category_link($cat->cat_ID) . '">(Obras con este nivel de avance)</a><br /></td> </tr> '; } break; ?>