情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
カテゴリーとエリアのtax_query でカテゴリーはリストタグでの区切り、エリアはテーブルのth 区切り。
エリアの投稿が1以上の場合はth にrowspan が要るので$the_query->post_count を利用。
コードはこちらで
カテゴリーは投稿がなくても表示する内容があるので、get_terms のループ内でエリアもループし、tax_query で投稿がある場合だけエリアのリンクを表示。
コードはこちらで