How To Add A Horizontal Navigation Menu in Moodle 3.x

Update:

We have released a new post to reflect the changes in Moodle 4.x:

How To Add A Responsive Custom Menu In Moodle 4.x

A horizontal navigation menu is an almost must-have element for all websites these days, and it has become a website design convention. Site navigation has a great impact in terms of user experience, hence it is essential to have this enabled for your Moodle site.

By default, Moodle doesn’t have the horizontal navigation menu (Custom Menu) enabled, so you need to follow the steps below to configure and enable it for your Moodle site.

Step 1

Log into your Moodle site as an admin user, and navigate to the Theme settings option: Settings > Site administration > Appearance > Themes > Theme settings

moodle-theme-settings-admin

Step 2

On the Theme settings page, you should find a form field called “Custom menu items” where you can enter your menu items following the instructions located right underneath the form field. Here we’re just going to paste in the example provided by the instructions for demonstration purposes.

moodle-custom-menu-admin-settings

Step 3

Click the “Save changes” button, and now you should see a horizontal navigation bar with your chosen navigation items. You can view our Moodle theme demo site here to see the menu in action.

moodle-custom-menu-maker-theme

Conclusion

Although the instructions provided by Moodle are informative and easy to understand, the real difficulty lies in finding the page location. Below is a list of the common Moodle page locations and you can just copy and paste the ones you want to add to the form.

Note: the example below assumes that your Moodle installation is in your server’s root folder

My Home | /my/
Courses | /course/index.php
My private files | /user/files.php
Calendar | /calendar/view.php
Course search | /course/search.php
View profile | /user/profile.php
Edit profile | /user/editadvanced.php
Change password | /login/change_password.php
Messaging | /message/
Blog | /blog/
Tags | /tag/
Notes | /notes/
Login | /login/
Forgotten password | /login/forgot_password.php

Want to add static pages (eg. Contact, About, FAQs) to your Moodle site? You can check out our tutorial here.