Moodle custom course fields
Introduced in Moodle, but many people might not realise the benefits!
It’s a fact of life. Not all Moodle administrators or teachers have the time to go through Moodle release notes in detail. But sometimes, there is a hidden gem buried within that we really should understand.
That might be the case with custom course fields.
You might know that the user Profile in Moodle can be extended using custom profile fields. An obvious use might be to record the gender of a user, course credits, their campus location, or other useful information.
Well, it’s now possible to add custom course fields too!
The original project proposal, now adjusted, is here for reference: https://moodleassociation.org/mod/page/view.php?id=238
Not every Moodle site requires the same type of data, so it is useful to provide a system that allows any Moodle admin to define and extend the type of data they wish to associate with their courses, and interact with this data from the UI, plugins and external systems.
Essentially, this means applying the same functionality that currently allows extending user profile fields.
This could be a benefit when thinking about integration (with other systems like Student Management Systems) and possibly within the Global Search.
It’s very easy to add new fields from Site administration > courses > Course custom fields:

As you can see, it’s possible to add a number of different field types, appropriate to the type of data you want to associate with courses.
There are options for the fields too, which will of course change a little depending on the type of field you are adding, but the main settings available include:
- Required
- Is this field required? (or can it be left blank)
- Unique data
- Does this field require unique data, such as a course code?
- Menu options
- As this is a Dropdown menu we supply the options that can be selected on each line
- Default value
- The initial value from the Dropdown menu that new courses should have
- Locked
- If set to yes then only Managers and Administrators can change this field, if set to No then Teachers are permitted to change it
- Visible to
- The field and data can be set as visible for Everyone, Teachers, or Nobody.
We are using this feature now with our MoodleBites online courses, and considering / trialling fields such as:
- Level of the course
- Expected audience
- Course outline – a link to the course outline – note that short text fields can actually be a hyperlink
- Date of last review / update
- Course review notes
- Whether there is H5P content in the course
Do you have any ideas of how this feature could be used for your courses?
If you do, share them here!
- H5P periodic table – 8th September 2023
- Moodle 4.0 – 15th May 2022
- Moodle 4.0 other highlights – 14th May 2022
how to bulk upload course and how to declare my new course field in csv file
(Stuart Mealor replying)
You can read about bulk creating courses here:
https://docs.moodle.org/311/en/Upload_courses
I would never recommend trying to inject the coursed – because that is a value automatically incremented by MySQL, or whatever other database you are using, on creation of a new course.
Hi
If you are an administrator and using Moodle 3.7 or higher you can add a custom course field (no plugin is required).
Once you have added them, they appear on the course outline, underneath the teachers, as shown here:
https://docs.moodle.org/37/en/images_en/d/dd/DocsCourseCustomFields_IndexView.png
Hey, I am new on moodle. I installed a custom course field, but I am not sure why it is not appearing in my courses or how I activate that field in a certain course. Can you help me out?