SiteNivo – Modular Site Toolkit

Description

SiteNivo is the most complete, developer-friendly content architecture plugin for WordPress. Whether you are a site builder, freelancer, or agency developer, SiteNivo gives you everything you need to model your content, extend the WordPress admin, and build powerful data structures — all from a beautiful, intuitive interface.

No more copy-pasting register_post_type() snippets. No more cluttered functions.php. SiteNivo handles it all, cleanly and professionally.

✦ What Makes SiteNivo Different?

  • Clean data architecture — plugin configuration (CPTs, taxonomies, field groups, field definitions) lives in dedicated custom database tables. Field values are stored in standard WordPress meta (post_meta, user_meta, term_meta) and options (sn_opt_*), just like ACF.
  • PHP 8.1+ codebase with PSR-4 autoloading, typed properties, and zero legacy code.
  • Modular architecture — every feature is an independent module. Only what is active runs.
  • Developer hooks at every layer — actions, filters, and a template API so you can extend anything.
  • Single plugin, complete toolkit — CPTs, Taxonomies, Fields, Options Pages, SVG Support, REST API integration, and more.

📦 Core Features

1. Custom Post Type Builder

Create and manage custom post types (CPTs) with complete control over every WordPress argument — all from the admin, with zero code required.

What you can configure:
* Singular and plural labels (all 20+ WordPress label keys)
* Post type key with automatic slug validation
* Public / private visibility settings
* Supports: title, editor, excerpt, thumbnail, comments, revisions, page-attributes, custom-fields, author, trackbacks
* Hierarchical (page-like) or flat (post-like) structure
* REST API exposure with a custom REST base slug
* Permalink (rewrite) slug, with/without front, feeds, and pages
* Menu position and Dashicon / custom SVG icon
* Capability type (post or page) for fine-grained permissions
* Query variables, archive pages, and publicly queryable flags
* Export as clean, copy-paste PHP code (no dependency on SiteNivo at runtime)

2. Custom Taxonomy Builder

Register custom taxonomies and assign them to any post type — including your custom ones — with full argument control.

What you can configure:
* Singular and plural labels (all WordPress label keys)
* Hierarchical (categories) or non-hierarchical (tags) behaviour
* Public / private visibility and show-in-menus flag
* REST API exposure with custom REST base slug
* Rewrite slug, with/without front
* Default terms and sort order
* Assignment to one or multiple post types (including core and custom)
* Export as copy-paste PHP code

3. Custom Fields — 33 Field Types

The centerpiece of SiteNivo. Attach custom fields to any post, taxonomy term, user, options page, or other screen through a powerful, drag-and-drop field group editor.

Basic Fields:

Field
Description

Text
Single-line text with placeholder, prepend/append, and character limit

Textarea
Multi-line text with adjustable row height

Email
Email address with native validation

URL
URL input with automatic https:// hint

Password
Masked password field

Number
Numeric input with min, max, and step

Range
Slider input with min, max, step, and live value display

Color
Hex color picker (#RRGGBB)

Select
Dropdown or multi-select with custom choices

Checkbox
One or more checkbox options returning an array of checked values

Date
Date picker (Y-m-d storage)

Time
Time picker (H:i storage)

Date Time Picker
Combined date and time picker (Y-m-d H:i:s storage)

WYSIWYG Editor
Full TinyMCE / Classic Editor rich-text field

oEmbed
Paste a URL and render embedded media (YouTube, Vimeo, etc.)

Link
Native WordPress link picker returning URL, title, and target

Media Fields:

Field
Description

Image
Single image with Media Library integration, preview, and size selection

File Upload
Single file upload with type restriction and download link

Gallery
Multi-image gallery with drag-and-drop reorder

Relational Fields:

Field
Description

Post Object
Select a single post from any post type

Relationship
Select one or more posts with a dual-column drag-and-drop picker

Taxonomy
Select taxonomy terms from any registered taxonomy

User
Select a WordPress user from the user list

Page Link
Pick a URL from published pages, posts, or archives

Map Fields:

Field
Description

Google Map
Address autocomplete and map pin with lat/lng/address/zoom storage

OpenStreetMap
Cookie-free map picker using bundled Leaflet.js

Layout / UI Fields:

Field
Description

Tab
Groups fields into tabbed panels inside the meta box

Accordion
Collapsible field section for a cleaner editor experience

Message
Static instruction text or HTML displayed between fields

Complex / Nested Fields (Premium — coming soon):

Field
Description

Repeater
Add unlimited rows of sub-fields, each row being an independent field set

Flexible Content
Multiple named layouts — each with its own field set — selectable per row

Clone
Re-use an existing field group or individual field anywhere

Table
Spreadsheet-style rows and columns for tabular data

Settings stored per field (examples):
* Label, key, instructions/help text
* Required / optional
* Default value
* Conditional logic (show/hide based on another field’s value)
* Wrapper class, width, and ID for layout control

4. Location Rules Engine

Control exactly where each field group appears using a powerful rules engine with AND/OR logic — identical in capability to the industry standard.

16 Built-in Location Rule Types:

Rule
Target

Post Type
Any registered post type (e.g. post, page, product)

Specific Post
A particular post by title

Post Status
draft, publish, pending, private, future

Page
Any page

Specific Page
A particular page by title

Parent Page
A page with a specific parent

Page Template
A custom page template file

Taxonomy
Any taxonomy edit screen

Taxonomy Term
A specific taxonomy term edit screen

Category
Category term screen

Tag
Tag term screen

User
Any user profile screen

Specific User
A particular user by display name

Current User
Profile of the currently logged-in user

User Role
Users with a specific WordPress role

Options Page
A SiteNivo-registered options page

Rule logic:
* Group rules with AND within a rule group
* Add multiple rule groups for OR logic between groups
* Every rule supports == (is) and != (is not) operators

5. Options Pages

Register custom admin pages that store site-wide global settings — not tied to any single post or term. Options pages use the SiteNivo field engine so every field type is available.

Features:
* Register top-level menu pages or sub-pages under any existing menu item
* Set custom page title, menu title, capability requirement, and menu icon
* Set a custom menu position
* Attach any field group to an options page using the Location Rules engine
* Read values anywhere with sn_get_field( 'field_name', 'option' ) or sn_the_field( 'field_name', 'option' )
* Field values stored as WordPress options (sn_opt_{field_key}) — standard WP options API

6. Post Columns Manager

Add, configure, and manage custom columns in the WordPress post type list tables (WP Admin All Posts, All Products, etc.) — without touching your theme.

Per column:
* Target any public post type
* Column label and custom key
* Map to any SiteNivo custom field key
* Drag-and-drop sort order relative to default columns
* Active / Inactive status toggle

Custom column values are read directly from SiteNivo meta storage, so no extra queries are needed.

7. SVG Support

Enable safe SVG uploads to the WordPress Media Library — with automatic sanitization to block malicious SVG files.

How it works:
1. SVG uploads are allowed only for users with the upload_files capability
2. Every uploaded SVG is parsed as XML via DOMDocument — a raw string is never trusted
3. Forbidden elements are stripped: <script>, <object>, <embed>, <iframe>, <form>, <style>, <link>, <meta>, and more
4. Event handler attributes (onclick, onload, onerror, etc.) are stripped from every element
5. href / src / action attributes pointing to javascript: or data:text URIs are stripped
6. Processing instructions and XML comments that could carry payloads are removed
7. File size capped at 512 KB
8. SVG thumbnails render correctly in the Media Library grid and attachment modal

Enable / disable from SiteNivo Settings.

8. Code Generator

Export your Custom Post Type and Taxonomy registrations as clean, dependency-free PHP code you can paste into a theme or plugin.

  • Generated code uses native register_post_type() and register_taxonomy() — no SiteNivo dependency at runtime
  • Includes all labels, arguments, and settings exactly as configured in the admin
  • Copy with one click directly from the CPT or Taxonomy edit screen
  • Ideal for handoff to clients or for bootstrapping a plugin

9. REST API Integration

Every Custom Post Type and Taxonomy you register can expose a native WordPress REST API endpoint with a single toggle.

  • Enable show_in_rest per CPT / Taxonomy in the builder
  • Set a custom rest_base slug for clean API URLs
  • Combine with SiteNivo Pro’s REST API Endpoint Builder for full custom endpoint creation

10. Import / Export

Move SiteNivo configuration between sites as a versioned JSON bundle.

  • Export selected Post Types, Taxonomies, Field Groups, Options Pages, or Post Columns
  • Import skips duplicates by key/slug/title

11. Site Tools

Admin Menu Builder — rename, reorder, hide, or restrict WordPress admin menu items; build custom admin pages.

Maintenance Mode — show a branded holding page with optional countdown while you work on the site.

Coming Soon — display a pre-launch splash page before your site goes live.

WP Reset — selectively reset posts, comments, terms, media, users, transients, theme mods, or plugin options (with server-side RESET confirmation).

Settings — Classic Editor toggle, SVG support, performance tweaks, security hardening, Google Maps API key, and uninstall data cleanup.

🔌 Developer API

SiteNivo is built for developers. Every module exposes hooks and a clean API.

Template functions:
`php
// Read a custom field value for the current post
sn_get_field( ‘field_key’ );

// Echo a custom field value for the current post
sn_the_field( ‘field_key’ );

// Read a custom field value for a specific post
sn_get_field( ‘field_key’, $post_id );

// Read an options page field value
sn_get_field( ‘field_key’, ‘option’ );

// User meta
sn_get_field( ‘field_key’, ‘user_7’ );

// Term meta
sn_get_field( ‘field_key’, ‘term_15’ );
`

Key action hooks:
`php
// Fires after SiteNivo finishes booting all modules
add_action( ‘sitenivo_loaded’, function( $plugin ) {
// Register custom field types, location rules, etc.
} );

// Register custom field types
add_action( ‘sitenivo_register_field_types’, function() {
\SiteNivo\Modules\FieldGroups\FieldRegistry::register( new My_Custom_Field() );
} );

// Register custom location rule types
add_action( ‘sitenivo_register_location_types’, function() {
\SiteNivo\Modules\FieldGroups\Location\LocationManager::register( new My_Custom_Location() );
} );
`

Data architecture:
All SiteNivo data lives in dedicated custom tables with clean schemas:

Table
Purpose

{prefix}sitenivo_post_types
Custom Post Type definitions

{prefix}sitenivo_taxonomies
Custom Taxonomy definitions

{prefix}sitenivo_field_groups
Field group definitions and location rules

{prefix}sitenivo_fields
Individual field definitions with settings

{prefix}sitenivo_options_pages
Options page registrations

{prefix}sitenivo_post_columns
Post list column definitions

🚀 Pro modules (Coming Soon)

Advanced modules such as Forms Builder, Gutenberg Blocks Builder, Backup & Restore, Hide Login, and User Roles & Capabilities are planned for a future Pro release. They are not included in the free v1.0.0 plugin.

Pro field types (Repeater, Flexible Content, Clone) are marked Pro in the admin and will unlock when Pro launches.

External Services

SiteNivo works without any external service by default. Some optional field types contact third-party services only when you add and use those fields:

  • Google Map field — loads the Google Maps JavaScript API and Places API when a Google Map field is displayed in the admin and a Google Maps API key has been saved in SiteNivo Settings Integrations. Service: Google Maps Platform. Terms: https://cloud.google.com/maps-platform/terms Privacy: https://policies.google.com/privacy
  • OpenStreetMap field — uses Leaflet 1.9.4 bundled locally in the plugin (JS, CSS, and marker images). When the field is used, map tiles are loaded from OpenStreetMap-compatible tile providers and address search may use Nominatim geocoding in the admin. Services: OpenStreetMap, CARTO, Nominatim. Terms: https://www.openstreetmap.org/copyright and https://carto.com/legal/ Privacy: https://osmfoundation.org/wiki/Privacy_Policy and https://carto.com/privacy/
  • oEmbed field — uses WordPress core oEmbed handling. Embeds may contact the provider of the URL entered by an editor (for example YouTube or Vimeo) when previewing/rendering that URL.
  • SiteNivo hub — When a Premium add-on is installed, update/license checks may contact the configured SiteNivo hub URL. The free plugin does not require a SiteNivo account or external API connection.

Installation

Automatic (recommended):
1. Go to WordPress Admin Plugins Add New.
2. Search for SiteNivo.
3. Click Install Now, then Activate.

Manual:
1. Download the plugin ZIP from WordPress.org.
2. Go to WordPress Admin Plugins Add New Upload Plugin.
3. Upload the ZIP file and click Install Now.
4. Click Activate Plugin.

After activation:
* Navigate to SiteNivo in the left admin menu to get started.
* Database tables are created automatically during activation.
* No further configuration is required — start building immediately.

FAQ

Does SiteNivo require any coding knowledge?

No. Every feature is built around a visual admin interface. You can create and manage Custom Post Types, Taxonomies, Field Groups, and Options Pages entirely without writing code.

Developers can additionally use the PHP template API and action/filter hooks to extend SiteNivo’s behaviour.

Is SiteNivo compatible with the Gutenberg block editor?

Yes. Field groups registered by SiteNivo appear as standard meta boxes in the Gutenberg sidebar. Classic Editor is also fully supported through the Classic Editor compatibility module.

Will SiteNivo conflict with Advanced Custom Fields (ACF)?

No. SiteNivo is a completely independent solution. It does not depend on, extend, or conflict with ACF. You can run both plugins simultaneously on the same site without issue.

Where does SiteNivo store my data?

SiteNivo stores plugin configuration (post types, taxonomies, field groups, field definitions, options pages, etc.) in dedicated custom database tables.

Field values are stored in standard WordPress storage so they remain portable and familiar:

  • Post fields: wp_postmeta using sitenivo_{field_key}
  • User fields: wp_usermeta using sitenivo_{field_key}
  • Term fields: wp_termmeta using sitenivo_{field_key}
  • Options page fields: wp_options using sn_opt_{field_key}

Always read values with sn_get_field() or sn_the_field() rather than querying the database directly.

Can I use SiteNivo field values in my theme templates?

Yes. Use the template functions:

`php

// Output the value of ‘price’ for the current post
sn_the_field( ‘price’ );

// Get the value (no output) — useful for conditionals
$price = sn_get_field( ‘price’ );

// Read an options page field
$phone = sn_get_field( ‘contact_phone’, ‘option’ );
`

What happens if I uninstall SiteNivo?

By default, uninstalling removes only the plugin files. All SiteNivo custom tables, configuration, and options remain in your database so you can reinstall later without losing work. To permanently delete SiteNivo tables and options on uninstall, enable Delete data on uninstall under SiteNivo Settings Security before removing the plugin. WordPress post meta and option values created by your field groups are never deleted automatically.

What happens to my data if I deactivate SiteNivo?

Your custom database tables and all data remain in place. Your Custom Post Types and Taxonomies will no longer be registered (since SiteNivo registers them at runtime), so those post type’s posts will be inaccessible in the admin, but no data is deleted. Reactivating SiteNivo restores everything immediately.

Can I export my CPT and Taxonomy configuration as code?

Yes. SiteNivo includes a Code Generator that exports your Custom Post Types and Taxonomies as clean register_post_type() and register_taxonomy() PHP code. This code has zero dependency on SiteNivo and can be pasted directly into a theme or plugin.

Is SVG upload safe?

Yes. SiteNivo’s SVG Support module does not simply whitelist the SVG MIME type. Every uploaded SVG file is fully parsed and sanitised using PHP’s DOMDocument. Dangerous elements (<script>, <iframe>, <object>, etc.), event handler attributes (onclick, onload, etc.), and javascript: URIs in href/src attributes are all stripped before the file is saved. Files over 512 KB are rejected. SVG uploads are only permitted for users with the upload_files capability.

Is there a limit on the number of Custom Fields, Post Types, or Field Groups?

No. SiteNivo imposes no artificial limits. You can create as many Custom Post Types, Taxonomies, Field Groups, Fields, or Options Pages as your site requires. Performance is determined by your server and database, not by SiteNivo.

Does SiteNivo support multisite / network installations?

SiteNivo works in multisite environments on a per-site basis. Each site in the network has its own independent set of SiteNivo tables and configuration.

What PHP version is required?

SiteNivo requires PHP 8.1 or higher. It uses typed properties, PSR-4 autoloading, and other modern PHP features intentionally — this ensures a clean, maintainable codebase and excellent performance.

How do I read meta values for a Repeater or Flexible Content field?

Repeater and Flexible Content are Premium field types and are shown in the free plugin as locked “Pro” cards until SiteNivo Pro is installed. When available, Repeater fields return a multi-dimensional array. Each item in the array is one row of sub-fields:

`php

$team = sn_get_field( ‘team_members’ ); // array of rows
foreach ( $team as $member ) {
echo esc_html( $member[‘name’] );
echo esc_html( $member[‘role’] );
}
`

Flexible Content fields return an array of layouts, each with a layout key identifying which layout template was chosen:

`php

$sections = sn_get_field( ‘page_sections’ );
foreach ( $sections as $section ) {
if ( ( $section[‘_layout’] ?? ” ) === ‘hero’ ) {
// render hero
} elseif ( ( $section[‘_layout’] ?? ” ) === ‘text_block’ ) {
// render text block
}
}
`

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SiteNivo – Modular Site Toolkit” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0 — 2026-06-21

Initial public release.

  • Custom Post Type Builder — full WordPress CPT argument support including labels, supports, rewrite rules, REST API, icons, and capabilities
  • Custom Taxonomy Builder — full taxonomy argument support with post type assignment
  • Custom Fields — 33 field types — Text, Textarea, Email, URL, Password, Select, Checkbox, Number, Range, Color, Date, Time, Date Time Picker, WYSIWYG Editor, oEmbed, Link, Image, File Upload, Gallery, Post Object, Relationship, Taxonomy, User, Page Link, Google Map, OpenStreetMap, Tab, Accordion, Message, plus Repeater, Flexible Content, Clone, and Table in Premium
  • Location Rules Engine — 16 built-in rule types with AND/OR group logic
  • Options Pages — custom admin pages with full field group support
  • Post Columns Manager — custom columns for any post type list table
  • SVG Support — safe SVG upload with DOMDocument sanitization
  • Code Generator — PHP export for CPTs and Taxonomies
  • REST API integration — show_in_rest and rest_base per CPT/Taxonomy
  • Clean data architecture — plugin configuration in custom tables; field values in standard WordPress meta/options
  • Import / Export — JSON migration for all free SiteNivo modules
  • Admin Menu Builder — custom admin menus and pages
  • Maintenance Mode and Coming Soon — branded holding pages
  • WP Reset — selective site cleanup tools
  • Settings — editor, performance, security, and integrations
  • PHP 8.1 codebase — typed properties, PSR-4 autoloading, modern architecture