Custom Labels
The Labels section lets you rename Learnomy's core content types across your whole site without writing any code. Change "Course" to "Class", "Lesson" to "Module", or "Instructor" to "Coach" and the new words appear everywhere on the front end.
What you can do
- Rename each entity to your own vocabulary using a singular and a plural field.
- Leave any field blank to keep the built-in default name.
- Apply your labels site-wide with no code and no template edits.
- Keep the defaults for translation instead: use a
.potranslation file when you want another language rather than a rename.

How to use it
Step 1 -- open Labels
Go to Learnomy Settings and click Labels in the sidebar.
Step 2 -- rename an entity
In the Entity Labels card, each row is one content type with two fields: a singular and a plural form. Type your preferred word in each. The greyed placeholder shows the current default, and the help text under each row reminds you of both defaults.
Step 3 -- leave blanks to keep defaults
Any field you leave blank keeps its default name. You only need to fill in the entities you want to rename.
Step 4 -- save
Click Save Changes. Your labels take effect immediately across the front end.
Settings and options
Labels save into the learnomy_settings option under a labels sub-array, one key per form:
- Each entity has two keys:
<entity>_singularand<entity>_plural(for examplecourse_singular/course_plural). - The available entities and their default singular/plural forms come from
\Learnomy\entity_label_defaults(). - To translate rather than rename, use a
.potranslation file against thelearnomytext domain instead of this panel.
For developers
\Learnomy\entity_label( string $key, string $form = 'singular' )-- the single resolver every surface calls to read a label. It returns the saved custom label, falling back to the translatable default.\Learnomy\entity_label_defaults()-- the canonical list of entities and their default forms.learnomy_label_{key}_{form}-- a filter fired per resolved label (for examplelearnomy_label_course_singular). It runs after the stored setting and the i18n default, so a code override always wins.