Skip to content
risingisland edited this page Nov 2, 2026 · 1 revision

MultiField

A plugin for GetSimple CMS / GetSimpleCMS-CE that lets you define custom fields for specific pages (or for all pages) and output their values in your theme.

Features

  • Custom fields per page, or globally for All pages
  • Field types: Text, Textarea, Wysiwyg, Color, Date, Image, Link
  • Drag-and-drop ordering of fields in the field editor
  • Field position on the page edit screen: Up or Down, with inheritance (see below)
  • Hierarchy view of all pages and their fields, with badges showing where each position comes from
  • Migrate tool to change URLs stored in field values
  • Translations: English, Spanish, Polish

Installation

  1. Copy the multiField folder and multiField.php into your plugins/ directory.
  2. In the GetSimple admin, open Plugins and enable MultiField.
  3. Open the MultiField tab (Settings) to start creating fields.

Usage

Creating fields

  1. Go to the MultiField list and click Add New.
  2. Choose the page the fields apply to, or All to apply them to every page.
  3. Set the default position for these fields (see Position and inheritance).
  4. Enter a title, choose a type, and click Add New Input. Repeat for every field.
  5. Drag the handle on the left of a row to reorder fields.
  6. Click Save Inputs.

Each row shows the PHP snippet to use in your theme. Spaces in the field title become hyphens in the snippet.

Outputting a field in your theme

<?php multiFields('field-name'); ?>

Place it in your template where the value should appear.

Editing and deleting

  • In the list, use the pencil icon to edit a page's fields, the plus icon to add fields to a page that has none, and the trash icon to delete all MultiField settings for that page.
  • Pages whose MultiField settings remain after the page itself was deleted are listed under Pages that no longer exist, so you can clean them up.

Position and inheritance

Each field can sit above (Up) or below (Down) the main content on the page edit screen. The position is resolved from the most specific level to the least specific:

field  →  page default  →  "All" default  →  Up
  • A position set on a field always wins.
  • A field set to Inherit uses its page's default.
  • A page default set to Inherit from All uses the default of the "All" level.
  • Saving never rewrites the positions of fields. Changing a page or "All" default only affects fields that inherit, and it takes effect when the settings are read.

In the list view, highlighted badges mean the value is set explicitly at that level, and plain badges mean it is inherited.

Migrate

Use Migrate to replace an old URL with a new one in stored MultiField values, for example after moving the site to a new domain.

Back up your data before running it.

Data storage

Settings are stored as flat files in the plugin's data folder:

File Content
settings-<page-id>.json The field list for a page (label, type, position). settings-all.json style IDs are used for the "All" level.
position-<page-id>.txt The page-level default position. Absent means "inherit".

Requirements

  • GetSimple CMS or GetSimpleCMS-CE
  • PHP 7.4 or newer

Translations

Language files are in the plugin's lang/ folder (en_US.php, es_ES.php, pl_PL.php). To add a language, copy en_US.php, rename it to your locale (for example de_DE.php), and translate the values. Keep the keys unchanged. Missing keys fall back to English.

Support

If you find the plugin useful, you can buy the author a coffee. See the link in the plugin's settings page.