| 开发者 |
spiderdevs
muaz404 alimran01 |
|---|---|
| 更新时间 | 2026年7月22日 20:37 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0.2 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
<, >, =), and WordPress user roles.<style> blocks, and custom layouts. Your content renders exactly as authored on every remote site.noticepilot folder to the /wp-content/plugins/ directory of your central management site.class-remote-notice-client.php file.includes/ subdirectory).functions.php:your-product-slug with the slug shown on your NoticePilot product card, and your-hub-site.com with the domain of the site running the NoticePilot hub plugin.
That single call is all you need to start displaying notices. Every other capability — snooze, frequency caps, screen placement, analytics consent, conversion goals, smart triggers, and deactivation feedback — is optional. Each is documented in the SDK Integration Guide section below, and the dashboard's How To Integrate → Add features panel gives you a copy-paste snippet for every one, pre-filled with your product slug.
Once initialized, the SDK automatically handles fetching, caching, rendering, and dismissing notices — no additional code required.Most admin-notice plugins manage, dismiss, or suppress notices on a single WordPress installation. NoticePilot serves an entirely different purpose — it is a remote campaign distribution platform for plugin and theme authors. You create and manage campaigns on a central hub site, and a lightweight SDK embedded in your plugin automatically fetches and displays those campaigns across hundreds or thousands of remote installations. It also includes campaign analytics, audience targeting, and scheduling — capabilities not found in typical notice-management plugins.
Yes. Campaign content supports full HTML, including inline styles, <style> blocks, and custom layouts. Your content renders exactly as written on every remote site.
Yes, within its intended use case. Campaign content can only be created by administrators who have the manage_options capability, and all form submissions are protected by WordPress nonce verification. HTML is stored without additional sanitization intentionally, to preserve inline CSS and custom styling. NoticePilot is a developer tool designed for trusted authors — not for end-user-generated content.
No. Analytics events are recorded using fire-and-forget navigator.sendBeacon() calls. Before any data is written to the database, remote site URLs are MD5-hashed server-side. No IP addresses, usernames, cookies, user agents, or other personally identifiable information is ever collected or stored.
Yes. Each campaign supports three independent targeting dimensions:
<, >, =, <=, >=).The notice is hidden for the duration configured via the dismiss_duration SDK option. Dismissals are recorded locally on the remote site in wp_options using a FIFO cleanup strategy that retains only the 20 most recent dismissed campaign IDs. During each fetch cycle, the SDK also automatically prunes stale IDs for campaigns that no longer exist on the hub.
No. NoticePilot does not inject any admin notices into the WordPress dashboard of the site where it is installed. It provides only a management interface under its own admin menu page. Campaign notices are displayed exclusively on remote sites — and only when a plugin or theme author explicitly integrates the SDK.
/noticepilot/v1/admin/…) replaces the old form-POST handlers for every product/campaign action (create, edit, delete, duplicate, import).noticepilot.campaignFieldGroups JS filter (@wordpress/hooks), so NoticePilot Pro injects its A/B, snooze, and trigger fields as React components. Server-side, add-ons still receive their data via the noticepilot_campaign_data filter.Analytics::get_range_totals(), get_product_daily(), and optional date bounds on get_product_summary() — powering the enhanced Pro analytics dashboard (date ranges, trend deltas, activity chart). Backward compatible; no schema change.country_code column and a cached, filterable resolver (noticepilot_geoip_lookup, defaulting to ip-api.com, with CDN-header fast-path). Collected only when the hub owner enables it in Pro's analytics settings and Pro is active (noticepilot_geo_collection filter). No per-visitor data.country_code); migrates automatically on update.set_metric() for usage-milestone smart triggers, plus first-seen tracking for install-age triggers. The SDK runtime ships free; the rules that drive it are authored in Pro.noticepilot_accept_goal_events filter — the free hub ignores conversion (goal) events unless an add-on opts in, keeping conversion analytics gated. Snooze and trigger data are exposed to the SDK via the existing noticepilot_api_content_item filter.snooze_duration and max_notices config options; a campaign only shows a "Remind me later" link when a Pro-authored snooze flag is delivered.Noticepilot_Remote_Notice_Client::track_goal( 'slug', 'goal_key' ) reports a conversion, attributed to the campaign/variant a site last saw. The hub records goal events (and accepts them after a campaign ends). Per-variant CVR and conversion summaries surface in NoticePilot Pro.deactivation_feedback + plugin_file options) — asks users why they deactivated your plugin (skippable, anonymous) and reports it to your hub.noticepilot_campaign_data, noticepilot_api_content_item, noticepilot_test_site_hashes filters and the noticepilot_campaign_modal_fields action — so add-ons plug in without core changes.screen_ids option) instead of site-wide, following WordPress.org guideline 11.require_consent) with grant_consent() / revoke_consent() helpers — keeps beacons off until the user opts in, for WordPress.org guideline 7 compliance.max_notices) and configurable snooze_duration.dismiss_duration is now honored — dismissed notices reappear after the configured window (previously dismissals were effectively permanent).noticepilot_campaign_data, noticepilot_api_content_item, noticepilot_test_site_hashes — and the noticepilot_campaign_modal_fields action for add-ons.<style> output in the SDK with the proper wp_add_inline_style() API.<script> output in the SDK with the proper wp_add_inline_script() API.__return_true permission callback to the public analytics REST API route to comply with WP REST API guidelines.