Title: SiteNivo – Modular Site Toolkit
Author: Usman Ahmad
Published: <strong>July 30, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://ps.w.org/sitenivo/assets/banner-772x250.png?rev=3629186)

![](https://ps.w.org/sitenivo/assets/icon-256x256.png?rev=3629186)

# SiteNivo – Modular Site Toolkit

 By [Usman Ahmad](https://profiles.wordpress.org/forgewpdevx/)

[Download](https://downloads.wordpress.org/plugin/sitenivo.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/sitenivo/#description)
 * [Reviews](https://wordpress.org/plugins/sitenivo/#reviews)
 *  [Installation](https://wordpress.org/plugins/sitenivo/#installation)
 * [Development](https://wordpress.org/plugins/sitenivo/#developers)

 [Support](https://wordpress.org/support/plugin/sitenivo/)

## 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

 *   [ Usman Ahmad ](https://profiles.wordpress.org/forgewpdevx/)

[Translate “SiteNivo – Modular Site Toolkit” into your language.](https://translate.wordpress.org/projects/wp-plugins/sitenivo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sitenivo/), check out
the [SVN repository](https://plugins.svn.wordpress.org/sitenivo/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/sitenivo/) by [RSS](https://plugins.trac.wordpress.org/log/sitenivo/?limit=100&mode=stop_on_copy&format=rss).

## 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

## Meta

 *  Version **1.0.0**
 *  Last updated **4 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [custom fields](https://wordpress.org/plugins/tags/custom-fields/)[custom post types](https://wordpress.org/plugins/tags/custom-post-types/)
   [options pages](https://wordpress.org/plugins/tags/options-pages/)[taxonomy](https://wordpress.org/plugins/tags/taxonomy/)
 *  [Advanced View](https://wordpress.org/plugins/sitenivo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sitenivo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sitenivo/reviews/)

## Contributors

 *   [ Usman Ahmad ](https://profiles.wordpress.org/forgewpdevx/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sitenivo/)