CMS & content · guide

Custom fields

Repeaters, flexible content, and options pages — everything ACF Pro does, built in.

Custom fields

Custom fields attach structured data to any content type. WordSafe ships the full ACF Pro feature set — no license, no upsell.

Create a field group

Content → Custom fields → New field group. A field group targets one or more content types (posts, pages, CPTs, users, taxonomies, or options pages).

Available field types

TypeNotes
Text / textareaSingle-line and multi-line
Rich textSame block editor as posts
Number / rangeMin / max / step
Select / radioStatic options or dynamic from a taxonomy
True/falseToggle with a label
Image / galleryPulls from Media library
FileAny MIME type
LinkInternal (route picker) or external URL
RelationshipReference another post/CPT
RepeaterRepeatable rows of sub-fields
Flexible contentRepeater where each row picks a layout
GroupNamespace related fields
Date / timeWith timezone

Conditional logic

Every field can be shown/hidden based on other field values in the same group. Configure under the Logic tab.

Options pages

Global settings that aren't tied to a single piece of content — site-wide banners, footer copy, header CTAs. Create under Content → Options pages and reference from any template:

import { getOption } from "@wordsafe/sdk";
const footer = await getOption("footer-settings");

Reading fields in templates

import { getPost } from "@wordsafe/sdk";
const post = await getPost("hello-world");
const price = post.fields.price; // typed from your field group

Types are generated from your field groups on save — full autocomplete in the editor.