Install
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.zipWordPress 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
noindexand 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
- Clone or download this repository into
wp-content/plugins/:
cd wp-content/plugins
git clone https://github.com/Vanilla-Core/vc-softveil.git
- In WP Admin, go to Plugins and activate VC Softveil.
- Open Settings → VC Softveil.
- Set Layout content, then turn on Global Softveil and/or enable Softveil on individual posts/pages.
Quick start
- Layout — add a logo, headline, body copy, and optional CTA.
- Global — enable site-wide Softveil; optionally set a schedule and allowlist.
- Style — add custom CSS or tweak CSS variables if you need brand polish without theme files.
- Access — keep bypass on for editors (default), or force Softveil for everyone.
- 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_enabledpost 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