WP Manifestindependent plugin directory
manifest / admin / vc-softveil

VC Softveil

A light veil over content you can lift in one click, without redirects or rewrites.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/vanilla-core/vc-softveil/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin for a soft coming-soon veil — site-wide or per-post — without redirects or URL rewrites.

VC Softveil replaces the public view of a page (or the whole site) with a customizable Softveil layout while keeping the real content in the database. Flip one switch and the original page is back. The URL never changes.

Version: 1.2.1
Repository: Vanilla-Core/vc-softveil

Features

  • Site-wide Softveil (global switch) or per-post Softveil on any public post type
  • Same URL — no redirects, no rewrite rules; content stays editable underneath
  • Settings page under Settings → VC Softveil with Layout, Global, Access, and Style tabs
  • Layout controls: logo, headline, WYSIWYG body, background image/color, optional CTA
  • Per-post layout override (headline, body, CTA) while logo/background stay global
  • Schedule window (start/end in site timezone) so Softveil turns itself on and off
  • Global allowlist by path and/or page ID (keep contact, home, etc. live)
  • Custom CSS in settings (loaded after plugin + theme Softveil styles)
  • Bypass by capability or selected roles
  • Admin bar Softveil notice on the front (veiled URLs) and in wp-admin (site-wide ON)
  • Gutenberg document sidebar toggle + classic editor meta box
  • Visitor preview via secure query token
  • Posts list column and bulk enable/disable
  • Optional noindex and 503 status for site-wide maintenance-style veils
  • Themeable: optional template/CSS/parts overrides in the active theme

Requirements

  • WordPress 6.0+
  • PHP 7.4+

Installation

  1. Clone or download this repository into wp-content/plugins/:
cd wp-content/plugins
git clone https://github.com/Vanilla-Core/vc-softveil.git
  1. In WP Admin, go to Plugins and activate VC Softveil.
  2. Open Settings → VC Softveil.
  3. Set Layout content, then turn on Global Softveil and/or enable Softveil on individual posts/pages.

Quick start

  1. Layout — add a logo, headline, body copy, and optional CTA.
  2. Global — enable site-wide Softveil; optionally set a schedule and allowlist.
  3. Style — add custom CSS or tweak CSS variables if you need brand polish without theme files.
  4. Access — keep bypass on for editors (default), or force Softveil for everyone.
  5. Per page — in the block editor sidebar, open VC Softveil and toggle “Show VC Softveil instead of this content”.

Preview as a visitor from Settings (or the admin bar) using the preview link — works even when bypass would normally show you the real page, and even outside a schedule window.

Settings

Settings → VC Softveil

Tab Purpose
Layout Logo, headline, body (editor), background image/color, CTA
Global Site-wide switch, HTTP status (200 / 503), robots noindex, schedule, allowlist
Access Bypass by capability or roles; visitor preview URL
Style Custom CSS for the Softveil page

Per-post layout

In the editor VC Softveil panel (or classic meta box), enable Softveil and optionally Use custom Softveil layout. Override headline, body, and CTA for that page. Logo and background still come from the global Layout tab.

Schedule

When enabled, Softveil (global and per-post) only shows between start and end (site timezone). Empty start or end means no bound on that side. Visitor preview still works outside the window so you can test layout anytime.

Allowlist (global mode)

While site-wide Softveil is on, matching paths or page/post IDs stay live. Example paths:

/
/contact
/about

Per-post Softveil can still veil an allowlisted URL if that post’s Softveil toggle is on.

Theme overrides (optional)

Nothing is required in the theme. If these files exist, Softveil uses them; otherwise plugin defaults apply.

your-theme/vc-softveil/
├── softveil.php       # full page template
├── softveil.css       # loaded after the plugin CSS
└── parts/
    ├── logo.php
    ├── content.php
    └── cta.php

Child theme wins over parent theme. Settings shows which overrides are active.

CSS variables

Override brand look without a full template by setting variables on .vc-softveil (theme CSS file or Style tab):

Variable Role
--vc-softveil-bg Background color
--vc-softveil-bg-image Background image (url(...))
--vc-softveil-text Text color
--vc-softveil-overlay Overlay color
--vc-softveil-accent CTA / accent
--vc-softveil-font Body font stack
--vc-softveil-font-ui UI / button font
--vc-softveil-max-width Content max width

Example:

.vc-softveil {
    --vc-softveil-font: "Your Brand Font", Georgia, serif;
    --vc-softveil-text: #0a0a0a;
    --vc-softveil-overlay: rgba(255, 255, 255, 0.7);
    --vc-softveil-accent: #c45c26;
}

Filters (for developers)

add_filter( 'vc_softveil_template', function ( $path ) {
    return $path; // Absolute path to softveil.php
} );

add_filter( 'vc_softveil_template_part', function ( $path, $slug ) {
    return $path; // Absolute path to a part (logo, content, cta)
}, 10, 2 );

add_filter( 'vc_softveil_stylesheets', function ( $sheets ) {
    return $sheets; // Array of [ url, handle, version ]
} );

add_filter( 'vc_softveil_enqueue_default_css', '__return_false' ); // Skip plugin front.css

add_filter( 'vc_softveil_css_vars', function ( $vars, $settings ) {
    $vars['--vc-softveil-accent'] = '#c45c26';
    return $vars;
}, 10, 2 );

add_filter( 'vc_softveil_post_types', function ( $types ) {
    return $types; // Public post types that get the Softveil toggle
} );

add_filter( 'vc_softveil_resolved_layout', function ( $layout, $global, $post_id ) {
    return $layout; // After per-post layout merge
}, 10, 3 );

Hooks: vc_softveil_head, vc_softveil_footer.

Behavior notes

  • Softveil never redirects and never alters stored post_content.
  • Precedence: editor bypass (unless preview token) → schedule window → global Softveil (unless allowlisted) → per-post Softveil → normal content.
  • wp-admin, login, REST, cron, feeds, and robots remain reachable when Softveil is on.
  • Uninstall removes the settings option and _vc_softveil_enabled post meta.

Changelog

1.2.1

  • Admin bar Softveil notice also appears in wp-admin when site-wide Softveil is on
  • Highlighted admin bar item with preview/settings shortcuts

1.2.0

  • Per-post Softveil layout override (headline, body, CTA)
  • Access bypass by capability or selected roles

1.1.0

  • Schedule start/end for Softveil window
  • Global allowlist by path and page/post ID
  • Style tab with custom CSS
  • Theme override support (from 1.0 theming work)

1.0.0

  • Initial release: layout, global/per-post Softveil, access bypass, preview, admin UX

License

GPL-2.0-or-later