=== SiteNivo – Modular Site Toolkit ===
Contributors: forgewpdevx
Tags: custom post types, acf, custom taxonomy, search and replace, duplicate post
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.0.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WordPress custom fields, custom post types, taxonomies & meta boxes in one toolkit — build content structure from the admin, no code required.

== Description ==

**SiteNivo** is a WordPress custom fields and custom post type toolkit for building structured content without writing code.

Create **custom post types**, **custom taxonomies**, **custom fields** (field groups / meta boxes), **options pages**, and **admin columns** from one clean admin UI. Ideal if you want CPT + fields in a single plugin instead of juggling separate tools.

### Why SiteNivo?

* **All-in-one content toolkit** — custom post types, taxonomies, custom fields, options pages, and admin columns together
* **No-code admin builders** — register CPTs and taxonomies, then add field groups with location rules
* **Developer-ready** — use `sn_get_field()` / `sn_the_field()` in themes; export CPT/taxonomy PHP when you need portable code
* **Site tools included** — Maintenance Mode, Coming Soon, Import/Export, WP Reset, URL Replace, Classic Editor, Classic Widgets, Duplicate Post, SVG support, and useful settings

### Custom Post Types (CPT Builder)

Create and manage **WordPress custom post types** from the admin:

* Labels, slug, public/private visibility, and menu icon
* Supports: title, editor, thumbnail, excerpt, comments, revisions, and more
* Hierarchical (page-like) or flat (post-like) structure
* Archives and rewrite settings

### Custom Taxonomies

Register **custom taxonomies** and assign them to any post type:

* Hierarchical (like categories) or flat (like tags)
* Labels, slug, admin UI, and rewrite options
* Attach to core or custom post types

### Custom Fields & Meta Boxes (Field Groups)

Build **custom fields** and field groups that appear as meta boxes on posts, pages, taxonomies, users, and options pages — with AND/OR location rules.

**Field types included:**

* **Basic:** Text, Textarea, Email, URL, Password, Number, Range, Color, Select, Checkbox, Date, Time, Date Time, WYSIWYG, oEmbed, Link
* **Media:** Image, File, Gallery
* **Relational:** Post Object, Relationship, Taxonomy, User, Page Link
* **Maps:** Google Map, OpenStreetMap
* **Layout:** Tab, Accordion, Message
* **Pro Version:** Repeater, Clone, Flexible Content, and Table field types

### Options Pages

Create WordPress **options pages** (global settings screens) and attach any field group for site-wide options.

### Admin Columns

Add **custom admin columns** to post list tables and map them to your SiteNivo custom fields.

### Code Generator

Export custom post types and taxonomies as clean `register_post_type()` / `register_taxonomy()` PHP — no SiteNivo dependency at runtime.

### URL Replace

Search and replace URLs across the **full WordPress database** (posts, options, meta, and other text columns), with serialized data handled safely.

**Free:** run a full-database URL replace anytime.  
**Pro Version:** replace **history is stored** so you can **roll back** a previous replace if needed (Coming Soon In Pro Version).

### Import / Export

Migrate custom post types, taxonomies, field groups, options pages, and admin columns between sites with JSON.

### Maintenance Mode & Coming Soon

Show a branded Maintenance Mode or Coming Soon page with built-in templates while you build or launch.

### WP Reset & Settings

* **WP Reset** — selectively reset posts, comments, terms, media, users, transients, theme mods, or plugin options. **Complete Site Reset** is available in the Pro Version.
* **Settings (Free)** — Classic Editor, Classic Widgets, Duplicate Post, safe SVG uploads, **Performance-related settings**, security toggles, Google Maps API key, and uninstall cleanup

**Classic Widgets** restores the classic (non-block) Widgets screen via WordPress’s `use_widgets_block_editor` filter — toggle it under **SiteNivo → Settings → General**.

**Duplicate Post** adds a Duplicate row action and Bulk actions option for posts, pages, and public custom post types (creates drafts). Enable it under **SiteNivo → Settings → General**. Copying SiteNivo **custom field** values when duplicating is a **Pro Version** feature.

### For Developers

Read field values in your theme:

    sn_get_field( 'field_key', $post_id );
    sn_the_field( 'field_key', $post_id );
    sn_get_field( 'field_key', 'option' );

Works with post meta, options pages, user meta, and term meta.

---

### Coming Soon in Free

Upcoming free updates will include:

* Favicon
* Disable Theme & Plugin Updates
* Social Buttons
* Permalink Manager
* Header & Footer
* Visitor Tracking
* Disable Comments
* Hide Identity
* and much more

### SiteNivo Pro — Coming Soon

**SiteNivo Pro** is coming soon with advanced modules such as:

* Forms
* Blocks Development
* User Activity
* Login Activity
* URL Replace history & rollback
* Duplicate Post — custom field values when duplicating
* REST API Module
* Complete Site Reset
* Repeater, Clone, Flexible Content, and Table fields
* and much more

The free plugin already includes **Performance-related settings** under **SiteNivo → Settings**, so you can tune common performance options without Pro.

---

== Installation ==

1. In WordPress go to **Plugins → Add New**, search for **SiteNivo** (custom fields / custom post types), then install and activate.
2. Or upload the plugin ZIP via **Plugins → Add New → Upload Plugin**.
3. Open **SiteNivo** in the admin menu to create your first custom post type, taxonomy, or field group.

== Frequently Asked Questions ==

= Is SiteNivo a custom fields plugin? =

Yes. SiteNivo lets you create custom fields and field groups (meta boxes) for posts, pages, taxonomies, users, and options pages — plus custom post types and taxonomies in the same plugin.

= Can I create custom post types without code? =

Yes. Use the CPT builder to register WordPress custom post types from the admin. You can also export PHP with the Code Generator if you want portable `register_post_type()` code.

= Does it support custom taxonomies? =

Yes. Create custom taxonomies, choose hierarchical or flat behaviour, and assign them to any post type.

= Will SiteNivo conflict with ACF or other custom fields plugins? =

No. SiteNivo is independent. You can run it alongside Advanced Custom Fields (ACF) or similar plugins if needed.

= Do I need coding skills? =

No. Build custom post types, taxonomies, custom fields, and options pages from the UI. Developers can use `sn_get_field()` / `sn_the_field()` in themes when needed.

= Where can I get support? =

Use the **WordPress.org support forum** for this plugin (Support tab on the plugin page).

= What happens if I uninstall? =

Configuration stays in the database by default so you can reinstall later. Enable **Delete data on uninstall** under **SiteNivo → Settings** to remove tables and options.

== Screenshots ==

1. SiteNivo dashboard — custom post types, fields, and site tools overview
2. Custom post type builder
3. Custom taxonomy builder
4. Custom fields / field group editor with field types
5. Options page settings
6. Admin columns manager for post list tables
7. Code Generator for CPT and taxonomy PHP export
8. Maintenance Mode and Coming Soon templates

== External Services ==

SiteNivo works without external services by default. Optional fields may contact third parties only when you use them:

* **Google Map field** — Google Maps JavaScript API / Places API when a Maps API key is saved in Settings. [Terms](https://cloud.google.com/maps-platform/terms) · [Privacy](https://policies.google.com/privacy)
* **OpenStreetMap field** — Leaflet is bundled locally; map tiles / geocoding may use OpenStreetMap-compatible providers and Nominatim. [OSM copyright](https://www.openstreetmap.org/copyright) · [Privacy](https://osmfoundation.org/wiki/Privacy_Policy)
* **oEmbed field** — uses WordPress core oEmbed (may contact the URL’s provider, e.g. YouTube).

== Changelog ==

= 1.0.7 =
* New: Duplicate Post — row action + bulk duplicate for posts, pages, and public CPTs (Settings → General).
* Pro: SiteNivo custom field values are copied when duplicating (Coming Soon In Pro Version / licensed Pro).

= 1.0.6 =
* New: Classic Widgets setting — restore the classic Widgets screen (Settings → General, below Classic Editor).
* Settings: renamed the Editor settings card to General.

= 1.0.5 =
* Fix: Options page render fatal error — anonymous BasePage now implements get_screen_nonce_action().

= 1.0.4 =
* New: URL Replace module — full-database URL search/replace with serialized-aware handling.
* History table UI reserved for SiteNivo Pro (Coming Soon In Pro Version) via extension hooks.

= 1.0.3 =
* Readme: Developers sample now shows sn_get_field / sn_the_field with $post_id.

= 1.0.2 =
* Readme updates: tags, Coming Soon / Pro roadmap, developer code sample fix.
* Removed external site / donate links until the official website launches.

= 1.0.1 =
* Updated readme and branding.
* Plugin Check compliance improvements.
* Admin menu and dashboard icon refinements.

= 1.0.0 =
* Initial release: Custom Post Types, Taxonomies, Field Groups, Options Pages, Admin Columns, Code Generator, Import/Export, Maintenance Mode, Coming Soon, WP Reset, and Settings.

== Upgrade Notice ==

= 1.0.7 =
Adds Duplicate Post (row + bulk) under Settings → General. Custom field copy is Pro.

= 1.0.6 =
Adds Classic Widgets under Settings → General (restore classic Widgets screen).

= 1.0.5 =
Fixes a fatal error when opening a custom Options Page in the admin.

= 1.0.4 =
Adds URL Replace (full database). History / rollback Coming Soon In Pro Version.

= 1.0.3 =
Readme developer sample update for v1.0.3.

= 1.0.2 =
Readme and listing updates for v1.0.2.

= 1.0.1 =
Maintenance update — branding, readme, and Plugin Check fixes.

= 1.0.0 =
Initial release.
