Notification
WordPress.orgExtensionsSupport
Version 7
Version 7
  • Notification – Custom Notifications and Alerts for WordPress
  • Known issues
  • πŸ€Έβ€β™€οΈ User guide
    • How Notification plugin works
    • Who can use this plugin
    • How to create Notifications
    • Troubleshooting
    • Advanced
      • How to escape { character
      • Background processing
      • How to setup different FROM address for different Notifications
      • Custom Post Type support
  • πŸ”§Developer
    • General
      • Plugin loading chain
      • Runtime
      • Extension possibilities
      • Creating an extension
      • Bundling Notification plugin
      • White label mode
    • Notifications
      • Suppressing the Notification
      • JSON synchronization
      • Programmatic Notifications
    • Triggers
      • List of all default Triggers
      • Custom Trigger
      • Enable support for non-public Custom Post Type
      • Adding Merge Tags to existing Triggers
      • Postponing the Trigger action
      • Delaying Trigger execution with Cron
    • Carriers
      • Custom Carrier
      • Adding custom fields to Carrier form
      • Suppressing the Carrier
    • Recipients
      • Custom Recipient
    • Snippets
      • General
        • Automatic Trigger testing
        • Allow other roles to edit Notifications
        • Allow sending Notification while logging is active
        • Programmatic Notification with manual Trigger
        • Background Processing filter
      • Triggers
        • Post
        • User
      • Integations
        • WP All Import
        • MemberPress
        • Gutenberg
  • 🧩Extensions
    • Installation
    • Planned extensions
    • 3rd Party Extensions
    • Custom Fields
      • v1.3
    • Scheduled Triggers
    • Slack
    • Twilio
Powered by GitBook
On this page
  1. Developer
  2. Snippets
  3. General

Automatic Trigger testing

If you even wondered how you can automatically test your Triggers without setup them up via wp-admin, this guide is for you.

Use below snippet to create an email notification in background, with one Administrator recipient and all the merge tags in the content. The subject is Trigger name.

add_action( 'notification/trigger/registered', function( $trigger ) {

	if ( 'post/updated' !== $trigger->get_slug() ) {
		return;
	}

	$content = '';
	foreach ( $trigger->get_merge_tags( 'visible' ) as $merge_tag ) {
		$content .= $merge_tag->get_name() . ': {' . $merge_tag->get_slug() . '}' . "\r\n\r\n";
	}

	notification( [
		'hash'     => uniqid(),
		'title'    => $trigger->get_name(),
		'trigger'  => $trigger,
		'carriers' => [
			'email' => [
				'activated'  => true,
				'enabled'    => true,
				'subject'    => $trigger->get_name(),
				'body'       => $content,
				'recipients' => [
					[
						'type'      => 'administrator',
						'recipient' => '',
					],
				],
			],
		],
		'enabled'  => true,
		'extras'   => [],
		'version'  => time(),
	] );

} );
PreviousGeneralNextAllow other roles to edit Notifications

Last updated 5 years ago

πŸ”§