Skip to main content

For Developers

UnysonPlus is built to be extended. Almost everything you'd want to add is one of three things: an extension, an option type, or a shortcode (element). Each plugs into the framework through well-defined hooks and folder conventions, so you add files in your own directory and the framework discovers them, you don't patch core.

The mental model

Unyson+ plugin
├── framework core the fw() runtime, options, backend, boot → Architecture
├── option types the building blocks of every options panel → add an option type
├── extensions modular features (Forms, Portfolio, …) → create an extension
│ └── shortcodes
│ └── elements the page-builder elements → add a shortcode
└── hooks actions + filters you extend behavior with → Hooks reference

If you haven't yet, read Architecture first: how the framework boots, how extensions are discovered and ordered by their requirements, and the data flow from a builder edit to rendered HTML. It's the map everything below hangs on.

Extend the framework

TaskGuide
Add a page-builder element (shortcode)Add a shortcode
Add an option typeCreate an option type
Create an extensionCreating extensions
Add dynamic tagsDynamic Content → add a provider
Hook into the framework / themeHooks & Filters (258 hooks, by subsystem)

Work with options & storage

The options framework powers Theme Settings, the Customizer, meta boxes, and every element's panel.

Ship & version your work

Every meaningful change bumps a version (the GitHub auto-updater keys off it), and changelog entries are reserved for new features. The exact bump/rollover scheme, which file to bump per project, and the changelog policy are documented in Manifests & versioning.

tip
Read the nearest AGENTS.md

The plugin ships area-specific AGENTS.md guides next to the code (the shortcode recipe, the page-builder template format, the theme-settings guide, the dynamic-content reference). When you work in an area, the AGENTS.md nearest the code is the most detailed, continuously-verified reference.