Title: NoticePilot
Author: Al Imran
Published: <strong>May 12, 2026</strong>
Last modified: May 12, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/noticepilot.svg)

# NoticePilot

 By [Al Imran](https://profiles.wordpress.org/alimran01/)

[Download](https://downloads.wordpress.org/plugin/noticepilot.1.0.1.zip)

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

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

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

 1. **Create a Product** — Each product represents a plugin, theme, or service you 
    maintain. NoticePilot generates a unique REST API endpoint for it.
 2. **Add Campaigns** — Write rich HTML content, optionally set scheduling and targeting
    rules, then enable.
 3. **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.
 4. **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

 1. Upload the `noticepilot` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. 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:

 1. Go to the NoticePilot dashboard and click the **How To Integrate** button on your
    product card.
 2. Click **Download SDK** to get the `class-remote-notice-client.php` file.
 3. Copy the file into your plugin or theme directory (e.g., `includes/`).
 4. Add the following code to your plugin’s main file or theme’s `functions.php`:
 5. // Include the NoticePilot SDK.
     require_once **DIR** . ‘/includes/class-remote-
    notice-client.php’;
 6. 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`, or `
   daily` (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_options` capability.
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_options` with 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.

Contributors

 *   [ Al Imran ](https://profiles.wordpress.org/alimran01/)
 *   [ Spider Themes ](https://profiles.wordpress.org/spiderdevs/)
 *   [ Muaz BK ](https://profiles.wordpress.org/muaz404/)

[Translate “NoticePilot” into your language.](https://translate.wordpress.org/projects/wp-plugins/noticepilot)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/noticepilot/), check
out the [SVN repository](https://plugins.svn.wordpress.org/noticepilot/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/noticepilot/) by
[RSS](https://plugins.trac.wordpress.org/log/noticepilot/?limit=100&mode=stop_on_copy&format=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 proper `wp_add_inline_style()`
   API.
 * Security: Replaced inline `<script>` blocks in SDK with proper `wp_add_inline_script()`
   API.
 * Tweak: Added explicit `__return_true` permission 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.

## Meta

 *  Version **1.0.1**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 * Tag
 * [developer-tools](https://wordpress.org/plugins/tags/developer-tools/)
 *  [Advanced View](https://wordpress.org/plugins/noticepilot/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ Al Imran ](https://profiles.wordpress.org/alimran01/)
 *   [ Spider Themes ](https://profiles.wordpress.org/spiderdevs/)
 *   [ Muaz BK ](https://profiles.wordpress.org/muaz404/)

## Support

Got something to say? Need help?

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