AnsPress_Notification_Hook::get_notifications()
Description #
Ajax callback for loading user notifications dropdown.
Source #
File: addons/free/notification.php
public static function get_notifications() {
if ( ! is_user_logged_in() ) {
wp_die();
}
$notifications = new AnsPress_Notification_Query( [ 'user_id' => get_current_user_id() ] );
$items = [];
while ( $notifications->have() ) : $notifications->the_notification();
$items[] = array(
'ID' => $notifications->object->noti_id,
'verb' => $notifications->object->noti_verb,
'verb_label' => $notifications->get_verb(),
'icon' => $notifications->get_icon(),
'avatar' => $notifications->actor_avatar(),
'hide_actor' => $notifications->hide_actor(),
'actor' => $notifications->get_actor(),
'ref_title' => $notifications->get_ref_title(),
'ref_type' => $notifications->object->noti_ref_type,
'points' => $notifications->get_reputation_points(),
'date' => ap_human_time( $notifications->get_date(), false ),
'permalink' => $notifications->get_permalink(),
'seen' => $notifications->object->noti_seen,
);
endwhile;
ap_ajax_json( array(
'success' => true,
'notifications' => $items,
'total' => ap_count_unseen_notifications(),
'mark_args' => array(
'ap_ajax_action' => 'mark_notifications_seen',
'__nonce' => wp_create_nonce( 'mark_notifications_seen' ),
),
) );
}
Expand full source code Collapse full source code View on GitHub: addons/free/notification.php:487
Add your comment