I just found this as well. Check this out:
You need to edit a line in your theme’s header.php file.
1. In your WordPress admin panel, go to Appearance > Editor
2. On the right, under Theme Files, select the “Header” link (for the header.php file)
3. Do a search (CTRL+F) for “list_categories”
4. You should come to a line that looks something like this:
<?php wp_list_categories(‘title_li=&exclude=’ . $GLOBALS[asides_id]) ?>
(The stuff between the parentheses will vary by theme.)
5. Add “&hide_empty=0” (without the quotes) right before the last apostrophe (the ‘). (Basically, between these apostrophes is where you can add arguments. Arguments are separated by ampersands (&).
So in the above example, the edited line looks like:
<?php wp_list_categories(‘title_li=&exclude=&hide_empty=0’ . $GLOBALS[asides_id]) ?>
6. Click Update File and check your website. All categories should now show, whether they have posts or not.
Note: This may also add the dreaded “Uncategorized” category item. If you want to exclude that, find its category ID* (it’s probably “1”), and edit the line so it includes “&exclude=1” (assuming 1 is the ID) like this:
<?php wp_list_categories(‘title_li=&exclude=&hide_empty=0’ . $GLOBALS[asides_id]) ?>
* How to find the category ID: https://www.wprecipes.com/how-to-find-wordpress-category-id
Also, this link lists all the arguments you can add to the wp_list_categories function. https://codex.www.ads-software.com/Template_Tags/wp_list_categories. For instance, the order_by argument allows you to customize the order in which the categories are displayed (e.g., you can sort them by their IDs to give you full control). By default, it looks like they’re sorted alphabetically