usar loops y condicionales seria algo complicado conforme se vallan agregando mas categorías.
yo usaría get_categories para obtener el nombre de la categoría y la ID, con un foreach creas la lista de categorías y dentro del mismo foreach agregas un loop
entre las variables que le agregues a ese loop colocas algo como 'cat' => $category->term_id
$category es la variable que use en el forearch para almacenar los valores obtenidos de get_categories, tu puedes usar otro nombre
y vuala tendrás el listado por categorías dinamicamente cada que se agregue o elimine una categoría.
documentación para que estudies y puedas aplicar esto:
http://codex.wordpress.org/Function_...get_categories http://codex.wordpress.org/Class_Reference/WP_Query