Magento 2 Navigation Menu not showing
Solution 1 :
You need to have all your categories UNDER the "Default Category". Then they should show.
Solution 2 :
Verify that Default Category Is Active (Enable category = "yes") and "Include in Navigation Menu" to Yes.
Clear your cache by running the php bin/magento cache:clean command and check it will works.
Update :
Just go to the Stores -> All Stores -> Click on Store (Main website store) - >You will see Root category option there listed with your category name -> select that one (Test,Collection whatever you want)->click on save and check.
Refer below screenshot :
If you have tried all the other solutions and checked all the other basic things (enabled, correct root category...) then I might have the solution for you!
If the category was every removed from the menu ("Include in Menu" = "Off" in admin), and then turned back on; it seems there is a bug in Magento 2 here. Magento 2 will only set the "include_in_menu" attribute to 1 for the admin store and not any other front end stores, it will leave them as 0. So Magento thinks they are still disabled from the menu.
The solution is easy:
- Figure out the attribute_id of the "include_in_menu" attribute; in my case, it's 69.
- Figure out the entity_id of the category that you are working with; in my case its 47.
- Look at the "catalog_category_entity_int" table for that category (entity_id) and attribute (attribute_id). Make sure "value"=1 for all the frontend stores. In my case store, 0 is an admin, and store 1 and 2 are two frontend stores.
- Reindex and flush cache
Hope this works for you. It took me an hour to recreate a category structure, then when it happened again I dug into the code and found this. If it does work for you, give this answer an upvote. We use Magento 2 on our GoToTags Store. The journey has been "fun" because of issues like this.
Good luck!