Notification
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` |
| WordPress updated | `wordpress/updated` |
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.