Course catalogue filters

In Moodle
About this page

Let visitors narrow course lists by language, teacher, price, or custom fields.

Course Filter

Filter courses using Custom Course Fields URL: /course/ Documentation

On / off

Enable Course Filter

Adds filters above course lists so visitors can narrow results.

Admin keytheme_xy/enablecoursefilter
DefaultOn

Additional notes

Enable this option to display the course filter, allowing users to refine their course search based on specific criteria.

Suggested screenshot. Show a course listing or course page where this option is visible to learners.
Add screenshot: screenshots/course-filter/enablecoursefilter.png
On / off

Enable Pagination

Toggle this option to enable or disable pagination for course listings, allowing users to navigate through multiple pages of results.

Admin keytheme_xy/enablecoursepagination
DefaultOff
On / off

Enable Language Filter

Allow filtering courses by language

Admin keytheme_xy/showlangfilter
DefaultOn
On / off

Enable Teachers Filter

Allow filtering courses by teacher

Admin keytheme_xy/showteachersfilter
DefaultOn
Short text

Currency symbol

Currency symbol to display in the price filter (e.g., zł, €, $, £).

Admin keytheme_xy/currency_symbol
Dropdown choice

Currency symbol position

Show the currency symbol before or after the amount in the price filter.

Admin keytheme_xy/currency_symbol_position
DefaultAfter amount (e.g. 100 zł)

Choices

  • After amount (e.g. 100 zł)
  • Before amount (e.g. € 100)
Short text

Paid label

Custom text for paid courses option in price filter.

Admin keytheme_xy/price_paid_label
Short text

Free label

Label for free-tier courses in the simple price filter (Free vs Paid), and the exact text that counts as free on course cards (no currency suffix, and the price block is when the amount is zero or matches this label).

Admin keytheme_xy/price_free_label
Short text

“Free only” filter label

Label for the checkbox under the price range filter. Leave empty to use the default language string “Show only free courses”.

Admin keytheme_xy/price_show_free_only_label

Custom Filter Fields

Define additional fields that can be used for filtering courses. This allows for a more tailored search experience based on user-defined parameters.

Recommended structured fields (value + unit)

For best filtering and API/export compatibility, use structured custom fields with snake_case shortnames.

Recommended pair fields:

  • duration_value (Number) + duration_unit (Select: h, day, week, month)
  • estimated_effort_value (Number) + estimated_effort_unit (Select: h_per_week, h_total)

Other recommended shortnames: target_audience, difficulty_level, learning_mode, certificate, credits, course_category.

How to use in theme filters: set one of the customfilter# settings to duration_value or estimated_effort_value. The theme will automatically use matching *_unit values for display labels.

On / off

Enable Filter #1

Turn this option on or off.

Admin keytheme_xy/showfilter1
DefaultOff
Short text

Custom Filter #1 (shortname)

Define first custom filter using course field shortname

Admin keytheme_xy/customfilter1
On / off

Enable Filter #2

Turn this option on or off.

Admin keytheme_xy/showfilter2
DefaultOff
Short text

Custom Filter #2 (shortname)

Define second custom filter using course field shortname

Admin keytheme_xy/customfilter2
On / off

Enable Filter #3

Turn this option on or off.

Admin keytheme_xy/showfilter3
DefaultOff
Short text

Custom Filter #3 (shortname)

Define third custom filter using course field shortname

Admin keytheme_xy/customfilter3
On / off

Enable Filter #4

Turn this option on or off.

Admin keytheme_xy/showfilter4
DefaultOff
Short text

Custom Filter #4 (shortname)

Define fourth custom filter using course field shortname

Admin keytheme_xy/customfilter4
On / off

Enable Filter #5

Turn this option on or off.

Admin keytheme_xy/showfilter5
DefaultOff
Short text

Custom Filter #5 (shortname)

Define fifth custom filter using course field shortname

Admin keytheme_xy/customfilter5
On / off

Enable Filter #6

Turn this option on or off.

Admin keytheme_xy/showfilter6
DefaultOff
Short text

Custom Filter #6 (shortname)

Define sixth custom filter using course field shortname

Admin keytheme_xy/customfilter6