PhpDev.App
BracketSpace/Notification

BracketSpace/Notification

Stars: 165

Forks: 28

Pull Requests: 278

Issues: 181

Watchers: 11

Last Updated: 2023-09-06 08:19:14

WordPress Notification plugin

License: GNU General Public License v3.0

Languages: JavaScript, PHP, SCSS, Shell

https://docs.bracketspace.com/notification/

Test Develop Stable

Notification

Notification banner

This is the public repository for Notification - the WordPress plugin.

This plugin allow you to send custom notifications about various events in WordPress. It also comes with simple yet powerful API by which you can add literally any trigger action.

By default it supports Email, Webhook and Webhook plain JSON notifications.

Default Triggers

Comment, Pingback, Trackback and Custom Comment Type

This covers all the comment types. Use comment, pingback, trackback, another_comment_type instead of the {comment_type_slug}.

Trigger name Trigger slug
Comment added comment/{comment_type_slug}/added
Comment approved comment/{comment_type_slug}/approved
Comment replied comment/{comment_type_slug}/replied
Comment spammed comment/{comment_type_slug}/spammed
Comment trashed comment/{comment_type_slug}/trashed
Comment unapproved comment/{comment_type_slug}/unapproved
Comment published comment/{comment_type_slug}/published
Media
Trigger name Trigger slug
Media added media/added
Media trashed media/trashed
Media updated media/updated
Plugin
Trigger name Trigger slug
Plugin activated plugin/activated
Plugin deactivated plugin/deactivated
Plugin installed plugin/installed
Plugin removed plugin/removed
Plugin updated plugin/updated
Post, Page and Custom Post Type

This covers all the custom post types, as well. Use post, page, product, another_post_type instead of the {post_type_slug}.

Trigger name Trigger slug
Post added post/{post_type_slug}/added
Post saved as a draft post/{post_type_slug}/drafted
Post sent for review post/{post_type_slug}/pending
Post approved post/{post_type_slug}/approved
Post published post/{post_type_slug}/published
Post trashed post/{post_type_slug}/trashed
Post updated post/{post_type_slug}/updated
Post scheduled post/{post_type_slug}/scheduled
Category, Tag and Custom Taxonomy

This covers all the taxonomies. Use category, post_tag, another_taxonomy instead of the {taxonomy_slug}.

Trigger name Trigger slug
Taxonomy term created taxonomny/{taxonomy_slug}/created
Taxonomy term deleted taxonomny/{taxonomy_slug}/deleted
Taxonomy term updated taxonomny/{taxonomy_slug}/updated
Theme
Trigger name Trigger slug
Theme installed theme/installed
Theme switched theme/switched
Theme updated theme/updated
User
Trigger name Trigger slug
User deleted user/deleted
User login user/login
User login failed user/login_failed
User logout user/logout
User password changed user/password_changed
User password reset request user/password_reset_request
User profile updated user/profile_updated
User role changed user/role_changed
WordPress
Trigger name Trigger slug
Available updates wordpress/updates_available
Privacy
Trigger name Trigger slug
Personal Data erased privacy/data-erased
Personal Data erase request privacy/data-erase-request
Personal Data exported privacy/data-exported
Personal Data export request privacy/data-export-request

Extensibility

The Notification plugin have multiple APIs which gives you the ability to customize the plugin. The most important ones are:

  • Trigger API - you can wrap any WordPress' do_action into a Trigger.
  • Carrier API - you can register a custom Carrier, like a service connection. Carriers are independent from Triggers and works with all default and custom Triggers out of the box. It's packed with configuration form builder.
  • Recipient API - you can register a custom Recipients for your Carriers. Like automatically pulled users from external database or simply custom user query with meta etc.
  • Resolver API - you can create another Merge Tag resolver, ie. {customtag param1} which is handled differently than a standard Merge Tag.
  • Settings API - for quick plugin Settings registration

Bundling the plugin

You can ship this plugin as a part of your plugin or theme. Just copy the plugin directory into your folder and require load.php file. Read more about the plugin bundling and plugin loading stack.

White labeling

You can integrate this plugin with your system with a simple white labeling, it's a single notification_whitelabel() function to call. Read the full white labeling documentation.

Quick links

Development version

You can download build development version from the Development workflow. Click the latest run and download generated artifact.

OPEN ISSUES

See all