Ready to get started?

Check out the plugin on GitHub and start using it today.

4WP Notifications: Unified In-App Notification System for WordPress (Bell Icon, WooCommerce, REST API)

4WP Notifications is a WordPress plugin that aggregates notifications from multiple sources — WooCommerce order events, admin messages, and custom integrations — into a single unified inbox for logged-in users. A bell icon with an unread badge sits in any header or dashboard area via shortcode. A Gutenberg block renders the full notification list. Everything syncs via a lightweight REST API with no WebSocket dependency.


One Notification Feed for Every WordPress User Event

Most WordPress membership sites and WooCommerce stores cobble together notifications from multiple sources: WooCommerce sends order emails, admin writes announcements in a separate plugin, and users have no single place to check what’s new. 4WP Notifications solves this with a unified notification table, a pluggable adapter architecture, and a UI that works anywhere — shortcode in a header, Gutenberg block on a dedicated page, or bell icon in the toolbar.

Adapters load only when the related plugin is active — the WooCommerce adapter does nothing if WooCommerce is absent — so the plugin stays lean regardless of which integrations you need.


Who 4WP Notifications Is For

  • WooCommerce stores that want to show order status notifications (new order, status changed) to logged-in customers inside the site — not only by email
  • Membership and community sites where admins need to send targeted announcements to one user or a selected group directly inside the platform
  • Developers building multi-integration notification flows who need a structured REST API, a queue-based worker, and PHP hooks to push custom events from any plugin
  • Agencies delivering client WordPress projects that require an in-app notification UX without building a bespoke notification system from scratch

How It Works

  1. Event — an integration (WooCommerce order status change) or an admin action (manual send) pushes a notification event to the queue.
  2. Queue + Worker — Action Scheduler processes events asynchronously; the worker inserts one row per notification into the custom database table.
  3. Storage — custom table wp_4wp_notifications stores user_id, type, source, object_id, payload (JSON), is_read, and created_at.
  4. REST API — endpoints under forwp/v1 handle list, unread count, mark read, mark unread, and mark all read.
  5. UI — shortcodes and the Gutenberg block poll the REST API to refresh the notification list and unread badge automatically.

Key Features

  • Bell icon shortcode[forwp_notifications_bell] renders a bell with an unread badge and a dropdown list anywhere in a header, menu, or dashboard; “View all” link configurable in settings
  • Full list shortcode[forwp_notifications] renders the full paginated notification list on any page, with auto-refresh via REST polling
  • Gutenberg blockforwp/notifications block for the notification list, insertable on any page or post
  • Admin send — send a custom notification to one user or multiple users via checkboxes directly from the WordPress admin
  • WooCommerce integration — new order and order status changed events; adapter loads only when WooCommerce is active
  • Mark read / unread sync — marking a notification on the full list page updates the toolbar bell badge in real time; marking in the bell updates the page list via a custom event
  • Type icons — cart icon for WooCommerce events, megaphone for admin messages, link icon when a notification has a URL
  • Translations — English source strings; Ukrainian .po/.mo included; translation-ready for any locale

4WP Notifications vs. Other WordPress Notification Approaches

In-app notifications for WordPress users are typically handled by either a full LMS or membership platform (which bundles notifications as one of many features) or by admin notice plugins that show site-wide banners rather than per-user feeds. Here’s how 4WP Notifications compares for teams that need a lightweight, developer-extensible notification inbox.

ApproachPer-user notification feedWooCommerce eventsBell icon + badgeREST API + hooksStandalone / lightweight
4WP NotificationsYesYes — adapterYes — shortcodeYes — forwp/v1Yes — no LMS dependency
Admin notice plugins (site-wide banners)No — shown to all usersNoNoNoYes
LMS / membership platform notificationsYesPartial (platform-dependent)VariesVariesNo — part of a larger platform
WooCommerce email-only order eventsNo — email onlyYesNoNoYes
Custom-built notification systemYesDepends on buildDepends on buildDepends on buildYes — but high dev cost

Installation

  1. Upload the plugin to /wp-content/plugins/4wp-notifications or install via WordPress admin.
  2. Activate the plugin.
  3. Go to Notifications → Settings and choose the page that will show the full list, then add [forwp_notifications] to that page.
  4. Place [forwp_notifications_bell] in your theme header, navigation, or dashboard widget area. Optionally override the icon via the filter forwp_notifications_bell_icon_url.

Requirements

WordPress version5.8 or higher
PHP version7.4 or higher
Action SchedulerRecommended (bundled with WooCommerce); sync fallback available for immediate sends
WooCommerceOptional — WooCommerce adapter loads only when WooCommerce is active

Frequently Asked Questions

Does 4WP Notifications require WooCommerce?

No. WooCommerce is optional. The WooCommerce adapter loads only if WooCommerce is active. The plugin works standalone for admin-sent notifications and custom integrations.

How does real-time updating work?

The front end polls the REST API at a configurable interval (e.g. every 30 seconds) to refresh the notification list and badge count. WebSocket and push notification support are planned as advanced options for a future release and would require a separate service.

Can admins send notifications to specific users?

Yes. The admin panel includes a send interface with a user list and checkboxes, so you can target one user or multiple users with a custom message at a time.

Where is notification data stored?

In a custom table wp_4wp_notifications in your own WordPress database. No data is sent to third-party services.

Can I push custom notifications from my own plugin?

Yes. The plugin is built with a pluggable adapter architecture. You can register a custom integration that pushes events to the queue, and the worker will insert notifications into the table. The forwp_notifications_bell_icon_url filter lets you customise the bell icon.

Does marking a notification as read sync between the bell and the full list page?

Yes. Marking read or unread on the full notifications page updates the toolbar bell badge via a custom JavaScript event, and vice versa — marking in the bell dropdown updates the list on the page.


Need a Custom Notification System or WordPress Plugin Built?

4WP Notifications is architected for extension — custom adapters, additional event sources, and integration with any WordPress plugin. If your project needs a custom notification integration (a bespoke source adapter, push notification support, or a real-time WebSocket layer), or a broader WordPress plugin development engagement built around SOLID and DDD principles, 4wpdev builds exactly that. Learn more about our approach at 4wp.dev.


More Plugins from 4wpdev

4WP Notifications is part of a growing suite of WordPress tools built by 4wpdev, including 4WP Drive, 4WP Style Switcher, 4WP Weather, 4WP Smart Link, and 4WP FAQ. See the full list on the 4wpdev WordPress.org profile.


Development and Contributing

4WP Notifications is open source under GPL v2 or later. The full PHP and JavaScript source is available in the public GitHub repository. The plugin is structured with admin/, includes/, integrations/, rest/, and install/ directories, with plain JavaScript in assets/ (no npm build step required for standard use).

“4WP” is our project brand name — “WP” appears only as part of that name and is not a reference to WordPress. This plugin is not affiliated with, endorsed, or sponsored by WordPress.