LLMS_Abstract_Notification_Controller::send_one( string $type, mixed $subscriber, bool $force = false )
Send a notification for a subscriber
Parameters Parameters
- $type
-
(string) (Required) Notification type id.
- $subscriber
-
(mixed) (Required) WP User ID for the subscriber, email address, phone number, etc...
- $force
-
(bool) (Optional) If true, will force a send even if duplicates. Default is
false. Only applies to controllers that flag $this->auto_dupcheck to true.Default value: false
Return Return
(int|false)
Source Source
File: includes/abstracts/llms.abstract.notification.controller.php
* Only applies to controllers that flag $this->auto_dupcheck to true.
* @return int|false
*/
protected function send_one( $type, $subscriber, $force = false ) {
/**
* If autodupcheck is set
* and the send function doesn't override the dupcheck
* and the subscriber has already received the notification
* skip it.
*/
if ( $this->auto_dupcheck && ! $force && $this->has_subscriber_received( $type, $subscriber ) ) {
// phpcs:ignore -- commented out code
// llms_log( sprintf( 'Skipped %1$s to subscriber "%2$s" bc of dupcheck', $type, $subscriber ), 'notifications' );
return false;
}
$notification = new LLMS_Notification();
$id = $notification->create(
array(
'post_id' => $this->post_id,
'subscriber' => $subscriber,
'type' => $type,
'trigger_id' => $this->id,
'user_id' => $this->user_id,
)
);
// If successful, push to the processor where processing is supported.
if ( $id ) {
$processor = llms()->notifications()->get_processor( $type );
if ( $processor ) {
$processor->log( sprintf( 'Queuing %1$s notification ID #%2$d', $type, $id ) );
$processor->push_to_queue( $id );
llms()->notifications()->schedule_processing( $type );
}
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 3.8.0 | |
| 3.24.0 | Introduced. |