Существует фильтр-хук wp_discourse_publish_categories, который, как мне кажется, подойдёт для этой задачи. Подробная информация о нём доступна здесь: WP Discourse plugin tips and tricks. В примере кода я настроил так, чтобы для пользовательского типа публикации были доступны две категории. В вашем случае, думаю, вам нужно будет просто сделать доступной одну категорию для каждого пользовательского типа публикации. Вам потребуется протестировать это решение.
Пока включена опция «Отображать подкатегории», вы сможете использовать подкатегории. Эта опция находится на вкладке «Настройки публикации» плагина WP Discourse.