WordPress Notification plugin

Overview

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.

Comments
  • emtpy metabox/acf value when triggered from rest-api

    emtpy metabox/acf value when triggered from rest-api

    when I save post (draft or publish status) in Admin Page, Notifications works very well. but if i send same data from rest api with metabox data or acf data.

    then Notifications fired with empty values.

    For Example) If i send new Post data like { title: "title", content: "content", meta_box: { "extradata": "extra" } }

    and my trigger has {postmeta {post_ID} extradata}. but this fired with blank value.

    I tested

    1. post "status = draft" data from rest-api => "draft trigger" fired => but it fired with blank data.
    2. i changed the status to "publish" on Admin page => "publish trigger" fired => worked with well.

    "add trigger" also fired with blank.

    I tested with "metabox" and "acf" but same result

    opened by devjiro76 19
  • Trigger Not Firing During Gravity Forms Hook

    Trigger Not Firing During Gravity Forms Hook

    Bug description

    Using the 'gform_advancedpostcreation_post_after_creation' action hook, I am creating another post (CPT) using wp_insert_post. Neither the 'published' nor 'added' trigger works. The post is created properly but trigger is not fired. However, if I create the post manually through the admin section, it works properly.

    Expected behavior

    The trigger should fire.

    Environment

    • PHP: 7.4
    • WordPress: 5.9.2
    • Notification plugin: 8.0.10
    bug support 
    opened by thekendog 14
  • Scheduled posts and WPML

    Scheduled posts and WPML

    Bug description

    I have multilingual website (finnish, english, swedish). When I create scheduled post (finnish) the merge tags in notifiction are different language (swedish) than the post which triggered notification. This happens only multilingual posts which are all scheduled to publish at same time.

    To reproduce

    Steps to reproduce the behavior:

    1. Create scheduled post which will notify conditionally (permalink for example) when the post is published.
    2. Translate the post to other languages available by duplicating the original post and then translate it independently (by pushing Translate independently button) and schedule publish time to the same as original. Note, notification will not trigger to other languages.
    3. When notification triggers by conditional rule only to the original post, the email tags are filled with other language.

    Expected behavior

    I would except that tags of the notification are filled with the metafields of the original post, not the translation which is published at same time.

    Environment

    • PHP: 7.4.3
    • WordPress: 5.8.2
    • Notification plugin: 8.0.5
    • Notification : Conditionals: 2.0.0
    • Notification : Custom Fields: 2.0.0
    • WPML Multilingual CMS: 4.4.12

    Additional context

    This did't happened before Notification plugin 8.0.

    Problem does't occur if translations are scheduled couple of minutes later than the original post which triggers the notification.

    bug 
    opened by plarjos 12
  • Custom post type not showing on settings page

    Custom post type not showing on settings page

    I am trying to add a notification for my custom post type called 'message', but it isn't showing in the post types list on the settings page. Only Page and Post are showing but i have a few other custom post types as well. Any ideas why? Thanks

    bug support 
    opened by rozv 11
  • Notification gets cleared when using HTML tags

    Notification gets cleared when using HTML tags

    IMPORTANT: See the Troubleshooting page: https://docs.bracketspace.com/notification/user-guide/troubleshooting before creating an issue.

    Bug description

    I'm using your WordPress plugin Notifications and are quite happy with it. But I'm constantly failing to create HTML notifications.

    Every time when I add tags of HTML into the body and hit save, the whole notification gets cleared. I've checked all the different settings and also the logging but there is no output at all. Please find attached some screenshots of my simple test.

    Thanks in advance for your support

    To reproduce

    Steps to reproduce the behavior:

    1. Create a new notification
    2. Add some kind of HTML tags into the body
    3. Save the notification
    4. Notification gets cleared

    Expected behavior

    A clear and concise description of what you expected to happen.

    Environment

    • PHP: 7.4.15
    • WordPress: 5.6.2
    • Notification plugin: 7.2.3

    Screenshots

    No HTML, after save: no_html_after_save With HTML, before save: with_html_before_save With HTML, after save: with_html_after_save

    Additional context

    ### wp-core ###
    
    version: 5.6.2
    site_language: de_DE
    user_language: de_DE
    timezone: Europe/Berlin
    permalink: /%year%/%monthnum%/%day%/%postname%/
    https_status: true
    multisite: false
    user_registration: 1
    blog_public: 1
    default_comment_status: closed
    environment_type: production
    user_count: 20
    dotorg_communication: true
    
    ### wp-paths-sizes ###
    
    wordpress_path: /redacted_path
    wordpress_size: 69,79 MB (73181845 bytes)
    uploads_path: /redacted_path/wp-content/uploads
    uploads_size: 689,39 MB (722878657 bytes)
    themes_path: /redacted_path/wp-content/themes
    themes_size: 33,90 MB (35549269 bytes)
    plugins_path: /redacted_path/wp-content/plugins
    plugins_size: 59,58 MB (62469273 bytes)
    database_size: 12,38 MB (12977258 bytes)
    total_size: 865,04 MB (907056302 bytes)
    
    ### wp-active-theme ###
    
    name: Sparkling (sparkling)
    version: 2.4.8
    author: Colorlib
    author_website: http://colorlib.com/
    parent_theme: none
    theme_features: core-block-patterns, automatic-feed-links, post-thumbnails, menus, post-formats, custom-background, html5, title-tag, custom-header, infinite-scroll, woocommerce, wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider, widgets
    theme_path: /redacted_path/wp-content/themes/sparkling
    auto_update: Deaktiviert
    
    ### wp-themes-inactive (1) ###
    
    Fiji 2: version: 1.1.1, author: Flothemes, Automatische Aktualisierungen deaktiviert
    
    ### wp-plugins-active (10) ###
    
    Archived Post Status: version: 0.3.7, author: Frankie Jarrett, Automatische Aktualisierungen deaktiviert
    Breeze: version: 1.1.9, author: Cloudways, Automatische Aktualisierungen deaktiviert
    Category Posts Widget: version: 4.9.10, author: TipTopPress, Automatische Aktualisierungen deaktiviert
    EWWW Image Optimizer: version: 6.0.3, author: Exactly WWW, Automatische Aktualisierungen deaktiviert
    Link To Bible: version: 2.5.8, author: Thomas Kuhlmann, Automatische Aktualisierungen deaktiviert
    Notification: version: 7.2.3, author: BracketSpace (latest version: 7.2.4), Automatische Aktualisierungen deaktiviert
    OG: version: 2.8.9, author: Marcin Pietrzak, Automatische Aktualisierungen deaktiviert
    Redirection: version: 5.0.1, author: John Godley, Automatische Aktualisierungen deaktiviert
    WP Featherlight: version: 1.3.4, author: Cipher, Automatische Aktualisierungen deaktiviert
    WP Statistics: version: 13.0.6, author: VeronaLabs, Automatische Aktualisierungen deaktiviert
    
    ### wp-media ###
    
    image_editor: EWWWIO_Imagick_Editor
    imagick_module_version: 1691
    imagemagick_version: ImageMagick 6.9.11-39 Q16 x86_64 2020-12-01 https://imagemagick.org
    file_uploads: File uploads is turned off
    post_max_size: 76M
    upload_max_filesize: 64M
    max_effective_size: 64 MB
    max_file_uploads: 20
    gd_version: bundled (2.1.0 compatible)
    ghostscript_version: not available
    
    ### wp-server ###
    
    server_architecture: Linux localhost 3.10.0-1127.10.1.el7.x86_64 #1 SMP Linux localhost 3.10.0-1127.10.1.el7.x86_64 #1 SMP Linux localhost 3.10.0-1127.10.1.el7.x86_64 #1 SMP
    httpd_software: Apache/2.4.46 (Unix)
    php_version: 7.4.15 64bit
    php_sapi: cgi-fcgi
    max_input_variables: 4000
    time_limit: 240
    memory_limit: 256M
    max_input_time: 60
    upload_max_filesize: 64M
    php_post_max_size: 76M
    curl_version: 7.73.0 OpenSSL/1.0.2u
    suhosin: false
    imagick_availability: true
    pretty_permalinks: true
    htaccess_extra_rules: true
    
    ### wp-database ###
    
    extension: mysqli
    server_version: 5.6.42-log
    client_version: 5.6.45
    
    ### wp-constants ###
    
    WP_HOME: undefined
    WP_SITEURL: undefined
    WP_CONTENT_DIR: /redacted_path/wp-content
    WP_PLUGIN_DIR: /redacted_path/wp-content/plugins
    WP_MAX_MEMORY_LIMIT: 256M
    WP_DEBUG: false
    WP_DEBUG_DISPLAY: true
    WP_DEBUG_LOG: false
    SCRIPT_DEBUG: false
    WP_CACHE: false
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_LOCAL_DEV: undefined
    DB_CHARSET: utf8mb4
    DB_COLLATE: undefined
    
    ### wp-filesystem ###
    
    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    
    
    bug 
    opened by escoand 10
  • Feature request: post_publication_datetime for Published trigger

    Feature request: post_publication_datetime for Published trigger

    Would it be possible to have the post_publication_datetime merge tag for <post_type> Published trigger? We already can use it for Scheduled trigger, but somehow it's missing for Published. Both current values (creation and modification) don't always reflect the published date time.

    opened by jphorn 10
  • Notification sent to wrong adress

    Notification sent to wrong adress

    Hi! Thanks for a great plugin! I have two notifications registered for when a user is registered; one for sending a confirm email to {user_email} and one for sending a notice about new user to my own email. Now the users gets two (of the same confirming email) and I get none. So Notification is sending two emails but is skipping the later and duplication the first. Now if I try to add a third notification to my own email (about user registration) the user will get three emails and I will still get none. I don't know if this i a bug with the new update or if it's a result from me trying to add custom merge tags as instructed at bracketspace.com

    bug support 
    opened by JohanHjalmarsson 10
  • Default WordPress emails still work

    Default WordPress emails still work

    So I've set up a custom notification for a post comment. I want it to replace the default email, so I check the New comment box in the Integration section of the plugin. But the default notification email is still sent. How do I fix this? It's not very nice to receive two notifications.

    cannot reproduce 
    opened by ivankharitonov 8
  • New option to allow unfiltered html in email body

    New option to allow unfiltered html in email body

    Hi, I've added a new option in settings to allow unfiltered html in email body. The default value is false so the behaviour of the plugin doesn't change, unless this option is not enabled explicitly. Once the option is enabled the EditorField is disabled and TextareaField is used in place, this is needed because the editor, in visual mode, mess up with unfiltered html. The utility of this is to be able to use complex html templates.

    On a side note, I'd like to contribute adding an italian translation. Should I do this on translate.wordpress.org or is there any other way?

    opened by martinellimarco 8
  • hooking into notification_register_recipient not working

    hooking into notification_register_recipient not working

    Hi,

    I want to be able to create custom recipients.

    I've created a BackofficeRecipient which extends BracketSpace\Notification\Abstracts\Recipient. Calling the class with:

    notification_register_recipient('email', new BackofficeRecipient());
    

    does not result in the desired action.

    Also wrapping the code in an action ('notification/boot/initial') of filter ('notification/recipients'), does nothing. Am I doing something wrong, or can you not a customer recipient like that?

    With the existing code, it worked before, but apparently, upgrade to a new version of notifications plugin, broke that.

    opened by edwinsiebel 7
  • Bug: Encoding in comment action URLs

    Bug: Encoding in comment action URLs

    The comment actions URLs have encoding in them, which renders the URL invalid.

    {comment_approve_action_url} > https://example.com/wp-admin/comment.php?action=approve&#038;c=834196#wpbody-content

    {comment_trash_action_url} > https://example.com/wp-admin/comment.php?action=trash&#038;c=834196#wpbody-content

    Both are setup as Slack message buttons.

    2019-07-08_15-55-32

    PS Could you please also add comment_reply_link ?

    opened by jphorn 7
  • Notification Plugin affecting buddypress

    Notification Plugin affecting buddypress "post update" button in the activity feed

    The Notification Plugin does not allow the "post update" button in buddypress to perform the action to let the user know that the button was pressed. It just does nothing and then the user keeps clicking and creative multiple notifications.
    Screenshot 2022-10-20 100137

    opened by drossa12 1
  • Post Comment via Rest API

    Post Comment via Rest API

    Hi!

    We have an Android App, that is using Wordpress REST API to comunicate/fetch data from the wordpress site.

    We want, when someone posts a comment inside the app and we approve and reply, customer/visitor to receive an email with our reply.

    Using your plugin on Browser works fine, but when we are submitting comments and reply from Android App, nothing happens.

    Maybe its because we dont have in the Android App this checkbox?

    "NOTIFY ME OF FOLLOWUP COMMENTS VIA E-MAIL. YOU CAN ALSO [SUBSCRIBE]( WITHOUT COMMENTING"

    If so, its there any way to automatically check that missing checkbox when people are posting from Android App? ( Rest api ).

    Thanks!

    opened by dimmu123 0
  • Webhook has not triggered

    Webhook has not triggered

    Bug description

    Hi I try the webhook carrier, also I build a custom carrier, but nothing is happen. The email carrier is working fine. But when I added a webhook or custom carrier it’s not seem to be called. When I enter to ‘settings/debugging’ I see only the email notifications. Without the others carriers. No webhook executions records and no my custom carrier. It seem that only the email carrier executed. Please help!

    To reproduce

    Steps to reproduce the behavior:

    1. Add a webhook carrirer
    2. Raise a notification
    3. Email sent, webhook not

    Expected behavior

    Webhook rewuest sent

    Environment

    • PHP: 7.4
    • WordPress: 6.0
    • Notification plugin: 8.0.10

    Screenshots

    image image

    bug 
    opened by elihaidv 0
  • (Custom) trigger not sending emails

    (Custom) trigger not sending emails

    I'm using version 7.2.4, and created a custom trigger (with an email carrier). Everything was working fine, the trigger was triggered, and mails where sent.

    After updating to version 8.0.10 and re-working the code I now don't get any mails.

    My code before the update

    Code in "triggers.php"

    class TriggerNotificationUpdateToAll extends \BracketSpace\Notification\Abstracts\Trigger
    {
        public function __construct()
        {
            parent::__construct(
                'my_plugin/manual_trigger',
                'Update an alle schicken'
            );
    
            $this->add_action('trigger_notification_to_all', 10, 2);
            $this->set_group('Support');
            $this->set_description('Triggered with trigger_notification_to_all action.');
        }
    
        public function action()
        {
            // This trigger should always process.
        }
    
        public function merge_tags()
        {
            // This trigger doesn't include any Merge Tags.
        }
    }
    

    Code in function.php

    add_action('notification/init', function () {
        require_once(get_template_directory() . '/resources/includes/notifications/triggers.php');
    });
    
    add_action('notification/elements', function () {
        $custom_trigger_1 = new TriggerNotificationUpdateToAll;
        notification_register_trigger($custom_trigger_1);
    });
    

    My code after the update

    I would like to update to the current version, but I can't get it running.

    New code in "triggers.php", as described here:

    https://docs.bracketspace.com/notification/developer/triggers/custom-trigger

    
    use BracketSpace\Notification\Abstracts\Trigger as AbstractTrigger;
    
    class TriggerNotificationUpdateToAll extends AbstractTrigger 
    {
        public function __construct()
        {
            parent::__construct(
                'my_plugin/manual_trigger',
                'Update an alle schicken'
            );
    
            $this->add_action('trigger_notification_to_all', 10, 2);
            $this->set_group('Support');
            $this->set_description('Triggered with trigger_notification_to_all action.');
        }
    
        public function context()
        {
            // This trigger should always process.
        }
    
        public function merge_tags()
        {
            // This trigger doesn't include any Merge Tags.
        }
    }
    

    New code in function.php

    use BracketSpace\Notification\Register;
    add_action( 'notification/init', function() {
        require_once(get_template_directory() . '/resources/includes/notifications/triggers.php');
        Register::trigger( new TriggerNotificationUpdateToAll() );
    } );
    

    So, the problem is that now there are no mails being sent.

    If I turn notification logging on, then the log shows the notifications, so at least the trigger is triggered ... but, as I wrote, no mails are actually sent out.

    I also tried using a built in trigger - like "Page updated" - but it's the same. The notification shows up in the log, but no mails are sent. (With v7.2.4 and the old code it's working / sending, and with v8.0.10 it's not!)

    What am I missing?

    Environment

    • PHP: 7.4
    • WordPress: 5.9
    bug support 
    opened by mockmeup 2
  • Password reset trigger fired at user registration

    Password reset trigger fired at user registration

    Bug description

    When I create a new user, he gets the email to activate his account and a link to reset his password.

    To reproduce

    Steps to reproduce the behavior:

    1. Setup the User password reset request and User registration trigger with email as carrier and {user_email} tag as recipient
    2. Create a new user
    3. Get two instead of one mail

    Expected behavior

    Only get the mail from User registration trigger

    Environment

    • PHP: 7.4
    • WordPress: 5.9
    • Notification plugin: 8.0.10
    bug 
    opened by tomo2403 1
Releases(8.0.14)
  • 8.0.14(Nov 22, 2022)

  • 8.0.13(Oct 26, 2022)

  • 8.0.12(Oct 24, 2022)

    • [Changed] Logic of assigning property name is moved to Abstract Merge Tag Class
    • [Added] Property names to Term Merge Tags
    • [Added] 6h cache expire to the user queries
    • [Added] Email / Merge tag recipient now can also be separated with semicolon
    • [Added] Endpoint to check whether the REST api is enabled
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.12.zip(606.89 KB)
  • 8.0.11(Oct 4, 2022)

    • [Changed] Add php_xml to required php extensions.
    • [Changed] Background processing cache is being stored in transient instead of an option.
    • [Fixed] PHP 8.0 and 8.1 compatibility.
    • [Fixed] Improper caching expiration times.
    • [Fixed] Trigger keeping state between subsequent action runs.
    • [Fixed] Password reset trigger is not processed on user registration anymore.
    • [Added] Trigger resume() method to reset the stopped state.
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.11.zip(604.12 KB)
  • 8.0.10(Jan 27, 2022)

    • [Fixed] User logout trigger. In WordPress 5.5 the context is set properly.
    • [Fixed] Issue with persistent Trigger state if two or more actions assigned to the same trigger were called.
    • [Changed] Carrier's recipients field is now returned with resolved data if available.
    • [Added] Post Published privately trigger.
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.10.zip(603.92 KB)
  • 8.0.9(Dec 23, 2021)

    • [Fixed] Merge Tags resolver problem caused by overriding the processed trigger instance.
    • [Changed] notification/should_send filter is now executed when the queue is processed, not before the notification is added to the queue.
    • [Added] New queue methods: remove() and clear().
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.9.zip(602.11 KB)
  • 8.0.8(Dec 6, 2021)

  • 8.0.7(Dec 4, 2021)

  • 8.0.6(Nov 19, 2021)

  • 8.0.5(Nov 16, 2021)

  • 8.0.4(Nov 16, 2021)

    • [Changed] Updated PHP dependencies.
    • [Changed] Extension license notice is now printed once and covers all the plugins.
    • [Changed] Some of the core fields like Import/Export now have own setting classes.
    • [Fixed] Remaining template variable escaping.
    • [Removed] HTML Settings field, introduced in v8.0.3. Now it's required to create purpose-specific field classes.
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.4.zip(601.01 KB)
  • 8.0.3(Nov 8, 2021)

    • [Added] HTML Settings field.
    • [Added] Notification hash column in the Notification table.
    • [Changed] Some of the Settings to HTML field instead of the Message field.
    • [Fixed] Broken Import/Export sections.
    • [Fixed] Notifications cache is now cleared when creating notification via wizard.
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.3.zip(595.48 KB)
  • 8.0.2(Nov 4, 2021)

    • [Added] HTML escaping and nonce verifications.
    • [Changed] Notification file syncing is now using Filesystem methods.
    • [Changed] Internal cache classes with micropackage/cache.
    • [Changed] Menu icon.
    • [Changed] Vue is now loaded from within the plugin instead of CDN.
    • [Removed] Internal cache classes Bracketspace\Notification\Utils\Cache and Bracketspace\Notification\Utils\Interfaces namespaces.
    • [Removed] Settings internal caching that couldn't wait for all the fields to be registered. Now we're relying on the get_option() core function caching.
    Source code(tar.gz)
    Source code(zip)
    notification-8.0.2.zip(594.55 KB)
  • 8.0.1(Oct 27, 2021)

  • 8.0.0(Oct 22, 2021)

    Compatibility Breaking Changes

    1. Runtime get_filesystems() method has been changed to get_filesystem() and now only root file system is defined.
    2. Trigger action() method has been renamed to context().
    3. Trigger doesn't have the postponing feature anymore, as processing is happening on the shutdown action.
    4. Trigger is now only a description object, all the processing is handled by the Runner class.
    5. notification/carrier/sent action doesn't have the Notification context anymore, so there's no 3rd parameter.
    6. Store classes now live under BracketSpace\Notification\Store namespace rather than BracketSpace\Notification\Defaults\Store.
    7. Plugin doesn't cache anything anymore, the loading process is more streamlined and things like Post Types are lazy loaded when needed
    8. Registration functions has been replaced with Register class and its static methods.
    9. Multiple functions has been replaced with their static method equivalents.
    10. notification/elements action has been deprecated, use notification/init instead.
    11. NOTIFICATION_VERSION constant has been removed, use Notification::version() instead.
    12. BracketSpace\Notification\Vendor namespace is replaced with BracketSpace\Notification\Dependencies.

    Removed deprecated hooks:

    • notification/notification/pre-send, use notification/carrier/pre-send
    • notificaiton/notification/field/resolving, use notification/carrier/field/resolving
    • notification/value/strip_empty_mergetags, use notification/resolve/strip_empty_mergetags
    • notification/value/strip_shortcodes, use notification/carrier/field/value/strip_shortcodes
    • notificaiton/notification/field/resolved, use notification/carrier/field/value/resolved
    • notificaiton/merge_tag/value/resolved, use notification/merge_tag/value/resolved
    • notification/webhook/remote_args/{$method}, use notification/carrier/webhook/remote_args/{$method}
    • notification/webhook/called/{$method}, use notification/carrier/webhook/called/{$method}
    • notification/boot/initial, use notification/init
    • notification/boot, use notification/init

    Full changelog

    • [Fixed] Code issues from not using static analysis.
    • [Fixed] WordPress' balanceTags filter which was breaking the Notification content.
    • [Fixed] Notification importing.
    • [Fixed] Setting fields escaping.
    • [Fixed] Post Updated Trigger which failed for updating pending posts, that doesn't have the slug yet.
    • [Changed] Always return the single root filesystem in Runtime.
    • [Changed] Stores with plugin objects, now they are much simpler and don't use WP filters.
    • [Changed] Plugin loading stack, see docs for more details.
    • [Changed] Plugin settings now are initialized on notification/init 5 action.
    • [Changed] Recipients now can be loaded anytime, not only before Carriers get registered.
    • [Changed] PHP Dependency handling, now all the PHP dependencies lives in src/Dependencies dir.
    • [Removed] Common Abstract that has been replaced by HasName and HasSlug Traits.
    • [Removed] Cache class and all caching mechanism for post types, taxonomies and comment types.
    • [Removed] Trait Users. This is replaced with BracketSpace\Notification\Queries\UserQueries class.
    • [Removed] Deprecated hooks for actions and filters.
    • [Removed] Carrier helper functions: notification_register_carrier, notification_get_carriers, notification_get_carrier.
    • [Removed] Recipient helper functions: notification_register_recipient, notification_get_recipients, notification_get_carrier_recipients, notification_get_recipient, notification_parse_recipient.
    • [Removed] Resolver helper functions: notification_register_resolver, notification_resolve, notification_clear_tags.
    • [Removed] Trigger helper functions: notification_register_trigger, notification_get_triggers, notification_get_trigger, notification_get_triggers_grouped.
    • [Removed] GLobal Merge Tags helper functions: notification_add_global_merge_tag, notification_get_global_merge_tags.
    • [Removed] Misc functions: notification_display_wizard, notification_ajax_handler, notification_filesystem.
    • [Removed] Template functions: notification_template, notification_get_template.
    • [Removed] Notification post functions: notification_get_posts, notification_get_post_by_hash, notification_post_is_new.
    • [Removed] Syncing functions: notification_sync, notification_get_sync_path, notification_is_syncing.
    • [Removed] Whitelabeling functions: notification_whitelabel, notification_is_whitelabeled.
    • [Removed] Editor and Code Editor fields sanitizers to allow for HTML usage, ie. email templates.
    • [Removed] notification/elements action hoook.
    • [Removed] NOTIFICATION_VERSION constant.
    • [Added] Runner class that processes the Triggers.
    • [Added] ErrorHandler class that helps handle errors. It can throw an exception when NOTIFICATION_DEBUG is enabled or save a warning to error_log when it's disabled.
    • [Added] Plugin settings value lazy loading.
    • [Added] Email error catcher.
    • [Added] Free and Premium extensions upselling.
    • [Added] Notification::fs() helper that returns plugin filesystem.
    • [Added] Core\Templates wrapper for Templates provider.

    Compatibility breaking changes and security fixes. Please make sure to review the changelog before upgrading and adjust your customizations. The premium plugins won't work with Notification v8 unless updated.

    Source code(tar.gz)
    Source code(zip)
    notification-8.0.0.zip(498.57 KB)
  • 7.2.4(Mar 8, 2021)

  • 7.2.3(Mar 5, 2021)

    • [Fixed] Merge Tag cleaning regex which could lead in some cases to wiping entire Carrier field.
    • [Fixed] Parent Comment ID Merge Tag returning reply ID not the parent.
    • [Changed] A check for activation nag if the user can manage options. Otherwise the useless notice is printed when a paid extension is not activated with license key, thanks to @mircobabini.
    • [Changed] Post published action to generic "published_{post_type}" action which allows to trigger the notification when publishing from custom statuses.
    • [Changed] Import process which now allows to import singular notification instead of always requireing a collection.
    • [Added] Filter for Background Processing which can be used to enable or disable particular trigger queueing.
    Source code(tar.gz)
    Source code(zip)
    notification-7.2.3.zip(384.30 KB)
  • 7.2.2(Jan 21, 2021)

  • 7.2.1(Jan 1, 2021)

  • 7.2.0(Jan 1, 2021)

    • [Fixed] DB Upgrade running on every admin request, thanks to @pewu-dev.
    • [Fixed] Missing permission_callback argument in REST endpoints.
    • [Fixed] UserPasswordResetLink Merge Tag property names, thanks to @mircobabini.
    • [Fixed] Uninstall process.
    • [Fixed] TinyMCE plugin error.
    • [Fixed] Notice when Suppressing is active and Debug log is inactive.
    • [Fixed] Cache refreshing while running under WP CLI, thanks to @mircobabini.
    • [Added] User avatar url to comment trigger and comment replied trigger.
    • [Added] Privacy Triggers for User erase/export data request and user erased/exported data.
    Source code(tar.gz)
    Source code(zip)
    notification-7.2.0.zip(383.22 KB)
  • 7.1.1(Jun 25, 2020)

    • [Fixed] License keys not being passed to the Updater class.
    • [Fixed] Cache refreshing on front-end.
    • [Fixed] {comment_datetime} merge tag being not rendered, thanks to @jphorn.
    • [Fixed] Repeater field values being incorrectly parsed.
    • [Changed] Non-public Post Types are cached too in case someone want's to unlock them.
    • [Changed] Plugin settings are registered on front-end as well to ensure enough data is provided for the cache.
    • [Added] Option in the Settings to log the Notification and still send it. Previously it was always suppressed.
    • [Added] User role merge tag to all the Post triggers, thanks to Steven N.
    Source code(tar.gz)
    Source code(zip)
    notification-7.1.1.zip(375.45 KB)
  • 7.1.0(Jun 10, 2020)

    • [Fixed] Carrier Recipients using the explicit slug, now it's configurable.
    • [Added] Field class property multiple_section.
    • [Added] Post approved Trigger.
    • [Added] Revision link for updated post.
    • [Added] Enable/Disable bulk actions for Notifications.
    • [Changed] Fields usage validation in Section Repeater Vue component now checks Field properties to determine if field can be used in the same row.
    • [Changed] Repeater/Recipients Carrier field based on Vue now displays an error when REST API endpoint is not reachable.
    Source code(tar.gz)
    Source code(zip)
    notification-7.1.0.zip(374.78 KB)
  • 7.0.4(Apr 21, 2020)

    • [Fixed] Cache refresh process causing no Triggers and Carriers to display.
    • [Added] Webhook error logging, thanks to @callum-veloxcommerce.
    • [Added] Fallback for PRO extensions having a version number in the directory name. They are now properly recognized.
    • [Changed] The Filesystem method is now set to direct when using this plugin.
    Source code(tar.gz)
    Source code(zip)
    notification-7.0.4.zip(371.14 KB)
  • 7.0.2(Apr 3, 2020)

  • 7.0.1(Apr 3, 2020)

  • 7.0.0(Apr 1, 2020)

    Breaking changes

    1. All trigger's slugs has been changed to unify them. Compare the old slugs and new slugs.
    2. Settings section notifications has been changed to carriers. Pay attention while registering the Carrier settings and update all notification_get_setting( 'notifications/{$group}/{$option}' ) to notification_get_setting( 'carriers/{$group}/{$option}' )
    3. Changed the plugin file structure and many internal classes which might be used by other plugins.
    4. The plugin initializes now on init 5 action and no functions/classes are available until then. You may use notifiation/init action to init the extensions and notification/elements to register custom Triggers and Carriers.
    5. The Date and Time Merge Tags now require the Unix timestamp which shouldn't have the timezone offset. Use GMT timezone.
    6. The notification_runtime function has been deprecated in favor of new \Notification static class.
    7. Repeater and recipients fields on the front-end has been rewriten to use vue.js. Hooks for actions in js scripts for this fields provide now access to vue.js instance. Each repeater and recipient field, are now separate vue.js instances.

    Full changelog

    • [Changed] Added PUT, PATCH, DELETE http request methods to Webhook. Combined all http requests methods into one class method.
    • [Changed] Webhook class methods http_request and parse_args move to trait.
    • [Changed] Requirements utility to micropackage/requirements.
    • [Changed] DocHooks utility to micropackage/dochooks.
    • [Changed] Files utility to micropackage/filesystem. Now the plugin has few filesystems which can be accessed easily from outside the plugin.
    • [Changed] View utility to micropackage/templates.
    • [Changed] Ajax utility to micropackage/ajax.
    • [Changed] Loading stack, now the plugin initializes on init 5 (or 4 if bundled).
    • [Changed] Merge Tags don't need the requirements now and throwable resolver errors are caught and changed to notices.
    • [Changed] Date and Time Merge Tags now expect Unix timestaps (GMT) without offset.
    • [Changed] All Trigger's slugs.
    • [Changed] Settings section notifiations to proper carriers to follow the standard established in version 6.
    • [Changed] Repeater and recipient fields are now using vue.js on the front-end.
    • [Changed] Pretty select fields in the repeater and recipient fields are now handled by vue.js lifecycle hooks.
    • [Changed] NOTIFICATION_VERSION constant to \Notification::version() method.
    • [Changed] User ID Email recipient now support the comma-separated value, thanks to Robert P.
    • [Changed] The Recipients section in Carrier box now displays Type column even if a single recipient type is registered.
    • [Added] Webhook and Cache trait.
    • [Added] Webhook JSON Carrier with plain JSON input code field.
    • [Added] Composer imposter package to aviod package conflicts.
    • [Added] notification_filesystem function to get plugin filesystem(s).
    • [Added] Scheduling user Merge Tags for Post Scheduled trigger.
    • [Added] Last updated by user Merge Tags for Post triggers.
    • [Added] Image field for settings page.
    • [Added] Notification runtime cache with notification_cache() function wrapper.
    • [Added] Two Factor plugin integration.
    • [Added] Possibility to nest one level repeater field in another repeater field. Nested repeater field must have nested_repeater name.
    • [Added] Rest API class to handle internal requests.
    • [Added] notification/settings/saved action.
    • [Fixed] Merge Tag used as anchor href now is not prefixed with protocol while adding the link.
    • [Fixed] Selectize script breaking description field in select input.
    • [Fixed] Bulk removing Notifications.
    • [Removed] NOTIFICATION_DIR and NOTIFICATION_URL constants.
    • [Removed] Ajax action ajax_get_recipient_input

    �Compatibility breaking changes. Please make sure to review the changelog before upgrading and adjust your customizations. The premium plugins won't work with Notification v7 unless updated.

    Source code(tar.gz)
    Source code(zip)
    notification-7.0.0.zip(359.22 KB)
  • 6.0.3(May 24, 2019)

  • 6.0.2(May 23, 2019)

  • 6.0.0(May 21, 2019)

    • [Fixed] Theme Update trigger errors on update.
    • [Added] Notification object as a wrapper for Notification Post.
    • [Added] notification_create_view function for seamless view creation.
    • [Added] notification/post/column/main action for notification edit screen addons.
    • [Added] notification_get_posts function.
    • [Added] Import and Export feature using JSON files.
    • [Added] Composer support with unified testing.
    • [Added] Merge Tags groups.
    • [Added] Notification Adapters - WordPress and JSON.
    • [Added] notification_ajax_handler function.
    • [Added] Ability to define Notifications programmatically.
    • [Added] JSON synchronization feature.
    • [Added] add_quick_merge_tag Trigger method.
    • [Added] Collapse option for plugin settings groups.
    • [Added] Common error log for all extensions, you can use notification_log function.
    • [Added] Post thumbnail URL and featured imager URL Merge Tags.
    • [Added] Comment content HTML merge tag.
    • [Added] Resolver API which allows to register more Merge Tag resolvers.
    • [Added] notification/should_send filter to hold off the whole Notification.
    • [Removed] Trigger usage tracking.
    • [Changed] PostData class has been removed in favor of Notification object and procedural functions.
    • [Changed] Admin Classes: MergeTags, Notifications, PostData, Recipients, Triggers has been removed and their content included in the Admin/PostType class.
    • [Changed] Notification data is now using single nonce field and additional data should be saved with notification/data/save action.
    • [Changed] Namespaces of Cron, Internationalization, License and Whitelabel classes.
    • [Changed] Native class autoloader to Composer autoloader.
    • [Changed] User recipients optimization with direct database calls.
    • [Changed] Notification (in "type" context) has been renamed to Carrier.
    • [Changed] The View object is not injected anymore to any Class, all use the notification_create_view function.
    • [Changed] ScreenHelp class has been renamed to Screen and render methods from PostType class has been moved to this new class.
    • [Changed] Notifications are now loaded on every page load and the Trigger action is not executing at all if no Notification is using it.
    • [Changed] Notifications doesn't have the trash anymore, the items are removed right away.
    • [Changed] On notification edit screen the editor styles are no longer applied.
    • [Changed] Carriers now have two step status - they can be either added to a Notification and be disabled at the same time.
    • [Changed] strip_shortcodes function to custom preg_replace for better stripping.
    • [Changed] Trigger storage now contains whole Notifications instead of just Carriers.

    = Compatibility breaking changes =

    Hooks - Some of the hooks names has been renamed for better consistency across the plugin. List of all changes:

    • notification/notification/pre-send -> notification/carrier/pre-send
    • notification/notification/sent -> notification/carrier/sent
    • notificaiton/notification/field/resolving -> notification/carrier/field/resolving
    • notification/value/strip_empty_mergetags -> notification/resolve/strip_empty_mergetags
    • notification/value/strip_shortcodes -> notification/carrier/field/value/strip_shortcodes
    • notificaiton/notification/field/resolved -> notification/carrier/field/value/resolved
    • notificaiton/merge_tag/value/resolved -> notification/merge_tag/value/resolved
    • notitication/admin/notifications/pre -> notification/admin/carriers/pre
    • notitication/admin/notifications -> notification/admin/carriers
    • notification/webhook/called/get -> notification/carrier/webhook/called/get
    • notification/webhook/called/post -> notification/carrier/webhook/called/post
    • notification/notification/box/pre -> notification/carrier/box/pre
    • notification/notification/box/post -> notification/carrier/box/post
    • notification/notification/box/field/pre -> notification/carrier/box/field/pre
    • notification/notification/box/field/post -> notification/carrier/box/field/post
    • notification/notification/form_fields/values -> notification/carrier/fields/values
    • notification/email/use_html_mime -> notification/carrier/email/use_html_mime
    • notification/email/recipients -> notification/carrier/email/recipients
    • notification/email/subject -> notification/carrier/email/subject
    • notification/email/message/pre -> notification/carrier/email/message/pre
    • notification/email/message/use_autop -> notification/carrier/email/message/use_autop
    • notification/email/message -> notification/carrier/email/message
    • notification/email/headers -> notification/carrier/email/headers
    • notification/email/attachments -> notification/carrier/email/attachments
    • notification/webhook/args -> notification/carrier/webhook/args
    • notification/webhook/args/$type -> notification/carrier/webhook/args/$type
    • notification/webhook/remote_args/get -> notification/carrier/webhook/remote_args/get
    • notification/webhook/remote_args/post -> notification/carrier/webhook/remote_args/post

    Classes - Some of the classes or namespaces has been renamed or removed. List of all changes:

    • BracketSpace\Notification\Admin\MergeTags - removed
    • BracketSpace\Notification\Admin\Notifications - removed
    • BracketSpace\Notification\Admin\PostData - removed
    • BracketSpace\Notification\Admin\Recipients - removed
    • BracketSpace\Notification\Admin\Triggers - removed
    • BracketSpace\Notification\Admin\PostData - removed
    • BracketSpace\Notification\Tracking - removed
    • BracketSpace\Notification\Admin\BoxRenderer - removed
    • BracketSpace\Notification\Admin\FormRenderer - removed
    • BracketSpace\Notification\Admin\ScreenHelp - removed
    • BracketSpace\Notification\Admin\FieldsResolver - removed
    • BracketSpace\Notification\Abstracts\Notification -> BracketSpace\Notification\Abstracts\Carrier
    • BracketSpace\Notification\Defaults\Notification -> BracketSpace\Notification\Defaults\Carrier
    • BracketSpace\Notification\Admin\Cron -> BracketSpace\Notification\Core\Cron
    • BracketSpace\Notification\Internationalization -> BracketSpace\Notification\Core\Internationalization
    • BracketSpace\Notification\License -> BracketSpace\Notification\Core\License
    • BracketSpace\Notification\Whitelabel -> BracketSpace\Notification\Core\Whitelabel

    Functions - Some of the functions has been renamed for better consistency across the plugin. List of all changes:

    • notification_is_new_notification -> notification_post_is_new
    • register_notification -> notification_register_carrier
    • notification_get_notifications -> notification_get_carriers
    • notification_get_single_notification -> notification_get_carrier
    • register_trigger -> notification_register_trigger
    • notification_get_single_recipient -> notification_get_recipient
    • notification_get_notification_recipients -> notification_get_carrier_recipients
    • notification_get_single_trigger -> notification_get_trigger
    • register_recipient -> notification_register_recipient
    Source code(tar.gz)
    Source code(zip)
    notification-6.0.0.zip(1.23 MB)
  • 5.3.2(Dec 16, 2018)

Owner
BracketSpace
Quality WordPress Plugins and Themes
BracketSpace
Google Chat - Laravel Notification Channel

Google Chat - Laravel Notification Channel This package makes it easy to send notifications using Google Chat , (formerly known as Hangouts Chat) with

Laravel Notification Channels 35 Oct 20, 2022
Livewire Package to display Toast Notification based on TALL Stack.

livewire-toast Livewire Package to display Toast Notification based on TALL Stack. Requirements Make sure that Livewire is installed properly on your

AscSoftwares 35 Nov 12, 2022
Multiple channels of laravel exception notification(DingTalk、FeiShu、ServerChan、WeWork、XiZhi). - 多种通道的 laravel 异常通知(钉钉群机器人、飞书群机器人、Server 酱、企业微信群机器人、息知)。

laravel-exception-notify 简体中文 | ENGLISH Multiple channels of laravel exception notification(DingTalk、FeiShu、ServerChan、WeWork、XiZhi). - 多种通道的 laravel

guanguans 60 Nov 14, 2022
ApnsPHP: Apple Push Notification & Feedback Provider

ApnsPHP: Apple Push Notification & Feedback Provider A full set of open source PHP classes to interact with the Apple Push Notification service for th

Immobiliare Labs 1.4k Nov 16, 2022
Laravel SMS Notification Channel

Laravel SMS Notification Channel Installation composer require guangda/laravel-sms-notification-channel env 配置 SMS_PROVIDER=yunpian SMS_SIGNATURE=【签名

Guangda 6 Dec 29, 2021
Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.

Based on illuminate/mail About Laravel Slack Slack notification for Laravel as it should be. Easy, fast, simple and highly testable. Since it uses On-

Guilherme Pressutto 284 Aug 24, 2022
A Toast notification library for the Laravel TALL stack.

A Toast notification library for the Laravel TALL stack. You can push notifications from the backend or frontend to render customizable toasts with almost zero footprint on the published CSS/JS ????

John F 345 Nov 22, 2022
A filterable git commit summary notification mailer

Git commit notification A symfony application to allow receiving commit notification for all commits in a certain time period. Features: Receive one m

123inkt 3 Nov 27, 2022
Bootstrap 4 & 5 replacement for jGrowl notification

XoopsGrowl module for XOOPS CMS 2.5.11+ XoopsGrowl is a module for XOOPS CMS to configure an alternative to the jGrowl notification using Bootstrap Al

null 1 Oct 28, 2021
Bootstrap 4 & 5 replacement for jGrowl notification

XoopsGrowl module for XOOPS CMS 2.5.11+ XoopsGrowl is a module for XOOPS CMS to configure an alternative to the jGrowl notification using Bootstrap Al

null 1 Oct 24, 2021
Lark Notification Channel for laravel.

Lark notifications channel for Laravel This package makes it easy to send Lark using the Laravel notification system. Supports 5.5+, 6.x, 7.x and 8.x.

null 1 Nov 3, 2021
AmaranJS stylish notification for your laravel application.

AmaranJS Laravel 5 Package AmaranJS L5 package is a Laravel wrapper for my jquery plugin AmaranJS.You can create easy and stylish notifications with A

Hakan ERSU 24 Oct 3, 2019
Our Laravel Sendgrid Notification package

laravel-sendgrid-notification-channel Laravel Sendgrid Notification channel Installation To get started, you need to require this package: composer re

Konstruktiv B.V. 4 Feb 3, 2022
Lara-Izitoast : Laravel Notification Package

Lara-Izitoast : Laravel Notification Package This is a laravel notification wrapper build with http://izitoast.marcelodolce.com javascript library. Ho

Apps:Lab KE 34 Nov 19, 2022
Notification package for Laravel

Package is looking for maintainers Please contact me if interested. Notification package for Laravel4 / Laravel5 A simple notification management pack

Edvinas Kručas 531 Oct 12, 2022
An SMS notification channel for the PHP framework Laravel.

Laravel SMS notification channel An SMS notification channel for the PHP framework Laravel. Supported SMS gateways: 46elks Cellsynt Telenor SMS Pro Tw

Andreas 2 Jan 22, 2022
Laravel notification manager

Easily manage notifications and notification subscriptions in your Laravel application.

Rubik 11 Aug 10, 2022
Laravel FCM (Firebase Cloud Messaging) Notification Channel

Laravel FCM Notification Laravel FCM (Firebase Cloud Messaging) Notification Channel Use this package to send push notifications via Laravel to Fireba

Vishal Dudhatra 3 Jul 3, 2022
Api.video-wordpress-plugin - The official api.video plugin for WordPress

api.video WordPress Plugin api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managin

api.video 5 Oct 19, 2022
@Authy notification channel for @Laravel, with the ability to send in-app, sms, and call verification tokens.

Authy Notification Channel for Laravel Authy notification channel for Laravel, with the ability to send in-app, sms, and call verification tokens. Tab

Laravel Notification Channels 56 Feb 14, 2022