Create reusable custom fields
Custom fields give editors a consistent input for values that should not be buried in the main content. Create a field only when a template, query, integration, or editorial workflow has a defined use for it.
Choose the field type
POM Theme provides these Field type choices:
| Type | Use it for |
|---|---|
| Text | A short single-line value |
| Textarea | Plain multi-line text |
| Number | A numeric value, including decimals |
| Date | A calendar date |
| URL | A web address |
| Image selector | One image |
| Gallery | An ordered image collection |
| Related posts | References to selected entries |
| Checkbox | A yes-or-no state |
| TinyMCE | Formatted rich text |
| Radio | One choice from a predefined list |
Use Related posts only after deciding which content collections belong in Post types to search. For Radio, enter one option per line using:
Label|Value|Default selected (0 or 1)
Keep stored values stable even if a visitor-facing label changes.
Add a field
- Open Settings → POM Theme → Content model → Custom fields.
- In Custom fields, choose Add custom field.
- Enter Field name and an optional Field description for editors.
- Select Field type and complete any settings revealed for that type.
- Optionally choose a Field icon.
- Under Enabled post types, select every editor that should display the field.
- Choose whether Quick edit should expose the value from the content list.
- Choose whether Add to API should expose the value through the WordPress REST API.
- If a supported translation plugin is active, decide whether to Sync this field between translations.
- Save the settings.
The normalized Field name identifies the saved value. Treat it as a durable part of the content model; changing it after editors have entered content makes the renamed field behave like a different value.
Decide where the value may appear
The three exposure controls solve different problems:
- Enabled post types controls which editors receive the field.
- Quick edit adds the value to the relevant administration list and its Quick Edit form.
- Add to API makes the field available through the WordPress REST API for the selected post types.
REST exposure is not a visibility rule. Do not expose private information merely because a front-end component needs another field from the same entry.
POM Theme also offers dedicated Location fields, Likes field, and Post schedule groups. Use those purpose-built groups when the requirement matches them instead of rebuilding the same behavior as an ordinary custom field.
Schedule when feed items may appear
Select the relevant content types under Post schedule, save the theme settings, and then edit an entry of one of those types. In its Post schedule panel, enable Enable post schedule and any applicable date, weekday, or time rule.
Date boundaries and same-day time boundaries are inclusive. A time range whose start is later than its end crosses midnight; for example, 22:00 to 02:00 remains active late in the evening and early the following morning. All checks use the site timezone configured under Settings → General, not the visitor's device timezone. The same rules apply when feed items arrive through pagination, progressive archive loading, or Faceted Search.
Verify the editor and output
Create or edit one entry in each enabled post type, then:
- Confirm the field label, description, and control are understandable.
- Save a realistic value and reload the editor.
- Test the empty state as well as the populated state in every consuming template.
- If enabled, update the value through Quick Edit and reopen the entry.
- If enabled, confirm the REST response contains the expected public value.
- If translation synchronization is enabled, edit the source value and verify the translated entry.
If the field does not appear, confirm the current post type is selected under Enabled post types. If a template shows nothing, first confirm that the entry contains a saved value and that the template is reading the same field name.
Plan fields before creating them with the content-model worksheet.