SiteNivo – Modular Site Toolkit

SiteNivo – Modular Site Toolkit

Details
View on WordPress

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.

Details

Plugin code:
sitenivo
Plugin version:
1.0.0
Outdated:
No
WP version:
6.0 or higher
PHP version:
8.1 or higher
Test up to WP version:
7.0.2
Total installations:
0
Last updated:
2026-07-30
Rating:
Times rated:
0
custom-fields
custom-post-types
options-pages
taxonomy