Description
NoticePilot is not another admin notice plugin. It is a self-hosted remote campaign distribution platform built specifically for WordPress plugin and theme authors.
If you develop a WordPress plugin used on hundreds or thousands of sites, you need a reliable way to push announcements, update prompts, sale banners, or deprecation warnings to your users — without shipping a new plugin release for every message. NoticePilot solves this with a hub-to-remote architecture: you manage campaigns on your own site, and a lightweight PHP SDK in your plugin fetches and displays them automatically.
Who Is This For?
NoticePilot is designed for WordPress plugin and theme developers who need to communicate with their users across multiple remote installations. It is not for managing or hiding admin notices on a single site — there are plenty of plugins for that.
What Makes It Different?
Unlike the 50+ “admin notice” plugins in the directory, NoticePilot provides:
- Hub-to-Remote Architecture — One central dashboard pushes campaigns to unlimited remote WordPress installations via a REST API. No SaaS dependency — everything runs on your own site.
- Single-File PHP SDK — Plugin authors bundle one PHP file with their product. One line of code to initialize. The SDK handles fetching, caching, rendering, and dismissal automatically.
- Campaign Analytics with Privacy — Track impressions, clicks, and dismissals across all remote sites. Remote site URLs are MD5-hashed before storage — no personal data is ever collected or stored.
- Audience Targeting — Target campaigns by free/pro plan type, plugin version (with comparison operators), and WordPress user roles. Show the right message to the right users.
- Campaign Scheduling — Set start and end dates for time-sensitive campaigns. Expired campaigns auto-disable via WP-Cron without manual intervention.
- Rich HTML Campaigns — Full HTML support including inline CSS,
<style>blocks, and custom layouts. Your content renders exactly as you write it. - Dismissal Memory — Users who dismiss a notice won’t see it again. Dismissals are stored locally on the remote site with configurable duration and FIFO cleanup.
- Two-Table Analytics Engine — Raw events roll up into daily summaries via an hourly cron job, with automatic pruning. Designed for scale, not unbounded table growth.
How It Works
- Create a Product — Each product represents a plugin, theme, or service you maintain. NoticePilot generates a unique REST API endpoint for it.
- Add Campaigns — Write rich HTML content, optionally set scheduling and targeting rules, then enable.
- Integrate the SDK — Download the single-file PHP SDK, bundle it with your plugin, and initialize with one line of code. The SDK polls your hub and renders active campaigns as admin notices on remote sites.
- Track Performance — Monitor impressions, clicks, dismissals, and click-through rates from the analytics dashboard. Drill down by product or individual campaign with daily breakdowns.
Real-World Use Cases
- Plugin authors: Push update prompts, deprecation warnings, or feature announcements to users of your plugin — without shipping a release.
- Theme authors: Announce seasonal sales, new theme versions, or compatibility updates directly inside the WordPress admin.
- Agency developers: Broadcast maintenance windows, policy changes, or onboarding tips across all client sites from one central hub.
- Freemium plugins: Target upgrade prompts specifically to free users while showing different messaging to pro users — all without code changes.
A Self-Hosted Alternative
Today, plugin authors either build custom notice systems from scratch (duplicating effort across every product) or rely on third-party SaaS services (adding external dependencies and privacy concerns). NoticePilot provides a self-hosted, privacy-respecting, zero-dependency alternative that runs entirely on your own WordPress installation.
Installation
- Upload the
noticepilotfolder to/wp-content/plugins/. - Activate the plugin through the Plugins menu in WordPress.
- Navigate to NoticePilot in your admin sidebar to start creating products and campaigns.
Integrating With Your Plugin or Theme
Once you’ve created a product and added campaigns on your hub site, follow these steps to display those notices on remote sites:
- Go to the NoticePilot dashboard and click the How To Integrate button on your product card.
- Click Download SDK to get the
class-remote-notice-client.phpfile. - Copy the file into your plugin or theme directory (e.g.,
includes/). -
Add the following code to your plugin’s main file or theme’s
functions.php:// Include the NoticePilot SDK.
require_once DIR . ‘/includes/class-remote-notice-client.php’;add_action( ‘plugins_loaded’, function() {
Noticepilot_Remote_Notice_Client::init( ‘your-product-slug’, [
‘api_url’ => ‘https://your-hub-site.com/wp-json/noticepilot/v1/content/your-product-slug’,
‘schedule’ => ‘daily’,
‘dismiss_duration’ => WEEK_IN_SECONDS,
] );
} );
Replace your-product-slug with the endpoint shown on your product card, and your-hub-site.com with the URL of the site where NoticePilot is installed.
Available options:
api_url— (required) The full URL to your product’s content endpoint.schedule— How often to check for new notices:hourly,twicedaily, ordaily(default:daily).capability— WordPress capability required to see notices (default:manage_options).dismiss_duration— How long a dismissed notice stays hidden (default:WEEK_IN_SECONDS).
Once initialized, the SDK automatically handles fetching, caching, displaying, and dismissing notices. No additional code is needed.
FAQ
-
How is NoticePilot different from other admin notice plugins?
-
Most admin notice plugins manage, dismiss, or suppress notices on a single site. NoticePilot is fundamentally different — it is a remote distribution platform for plugin and theme authors. You manage campaigns on a central hub, and a lightweight SDK in your plugin fetches and displays them on hundreds or thousands of remote sites. It includes campaign analytics, audience targeting, and scheduling — features that don’t exist in typical notice management plugins.
-
Can I use custom CSS in my campaigns?
-
Yes. Campaign content supports full HTML including inline styles,
<style>blocks, and custom layouts. Your content renders exactly as entered on the remote site. -
Is it safe to allow raw HTML in campaigns?
-
Campaign content can only be created by administrators with
manage_optionscapability. All form submissions are protected by nonce verification. The HTML is stored raw intentionally to preserve inline CSS and styling — this is a tool for trusted plugin authors, not end-user-generated content. -
Does the plugin collect personal data?
-
No. Analytics events are tracked with fire-and-forget
sendBeacon()calls. Remote site URLs are MD5-hashed server-side before storage. No IP addresses, usernames, cookies, or other personally identifiable information is ever collected or stored. -
Can I target specific users with a campaign?
-
Yes. Each campaign supports three targeting dimensions: plan type (all users, free only, or pro only), plugin version (with operators like less than, greater than, equal), and WordPress user roles (administrator, editor, etc.). Leave all blank to show to everyone.
-
What happens when a user dismisses a notice?
-
The notice won’t reappear for the configured duration. Dismissals are stored locally on the remote site in
wp_optionswith a FIFO cleanup strategy that keeps only the 20 most recent dismissed IDs. The SDK also prunes stale IDs (campaigns removed from the hub) during each fetch cycle. -
Does this plugin add notices to the hub site’s dashboard?
-
No. NoticePilot does not display any admin notices on the site where it is installed. It only provides a management dashboard under its own menu page. The SDK displays notices on remote sites — and only when a plugin author explicitly integrates it.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“NoticePilot” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “NoticePilot” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Multi-product management with unlimited campaigns per product.
- Rich HTML campaign editor with full CSS and styling support.
- Campaign scheduling with automatic expiration via WP-Cron.
- Built-in analytics: impression, click, and dismissal tracking.
- Analytics dashboard with product-level and campaign-level breakdowns.
- Lightweight SDK for remote site integration with auto-fetch, caching, and dismissal handling.
- Privacy-first analytics — remote site URLs are anonymized before storage.
1.0.1
- Security: Sanitized nonce input in admin form handler.
- Security: Replaced inline
<style>blocks in SDK with properwp_add_inline_style()API. - Security: Replaced inline
<script>blocks in SDK with properwp_add_inline_script()API. - Tweak: Added explicit
__return_truepermission callback to public analytics API route to meet WP REST API guidelines. - Tweak: Added plugin owner to contributors list.
- Tweak: Updated readme tags and description to better communicate plugin’s focus on developer/remote usage.