bp_notifications_add_notification( array $args = array() )

Add a notification for a specific user, from a specific component.

Description

Parameters

$args

(Optional) Array of arguments describing the notification. All are optional.

  • 'user_id'
    (int) ID of the user to associate the notification with.
  • 'item_id'
    (int) ID of the item to associate the notification with.
  • 'secondary_item_id'
    (int) ID of the secondary item to associate the notification with.
  • 'component_name'
    (string) Name of the component to associate the notification with.
  • 'component_action'
    (string) Name of the action to associate the notification with.
  • 'date_notified'
    (string) Timestamp for the notification.

Default value: array()

Return

(int|bool) ID of the newly created notification on success, false on failure.

Source

File: bp-notifications/bp-notifications-functions.php

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function bp_notifications_add_notification( $args = array() ) {
 
    $r = bp_parse_args( $args, array(
        'user_id'           => 0,
        'item_id'           => 0,
        'secondary_item_id' => 0,
        'component_name'    => '',
        'component_action'  => '',
        'date_notified'     => bp_core_current_time(),
        'is_new'            => 1,
        'allow_duplicate'   => false,
    ), 'notifications_add_notification' );
 
    // Check for existing duplicate notifications.
    if ( ! $r['allow_duplicate'] ) {
        // Date_notified, allow_duplicate don't count toward
        // duplicate status.
        $existing = BP_Notifications_Notification::get( array(
            'user_id'           => $r['user_id'],
            'item_id'           => $r['item_id'],
            'secondary_item_id' => $r['secondary_item_id'],
            'component_name'    => $r['component_name'],
            'component_action'  => $r['component_action'],
            'is_new'            => $r['is_new'],
        ) );
 
        if ( ! empty( $existing ) ) {
            return false;
        }
    }
 
    // Setup the new notification.
    $notification                    = new BP_Notifications_Notification;
    $notification->user_id           = $r['user_id'];
    $notification->item_id           = $r['item_id'];
    $notification->secondary_item_id = $r['secondary_item_id'];
    $notification->component_name    = $r['component_name'];
    $notification->component_action  = $r['component_action'];
    $notification->date_notified     = $r['date_notified'];
    $notification->is_new            = $r['is_new'];
 
    // Save the new notification.
    return $notification->save();
}

Changelog

Changelog
Version Description
BuddyPress 1.9.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.