Example #1
0
/**
 * Return array of modal alerts
 *
 * @since 0.1.0
 *
 * @return array
 */
function wp_user_alerts_get_popups()
{
    // Bail if user is not logged in
    if (!is_user_logged_in()) {
        return false;
    }
    // Dismissed notices are excluded
    $dismissed = wp_list_pluck(wp_user_alerts_get_dismissed_popups(), 'ID');
    // Get alerts
    return wp_user_alerts_get_posts(array('numberposts' => 10, 'exclude' => $dismissed, 'meta_query' => wp_user_alerts_get_meta_query(array('user' => wp_user_alerts_get_meta_query_user(), 'role' => wp_user_alerts_get_meta_query_role(), 'method' => 'popup'))));
}
Example #2
0
/**
 * Delete all alerts for a user, when that user is being deleted
 *
 * @since 0.1.0
 *
 * @param int $user_id
 *
 * @return bool
 */
function wp_user_alerts_delete_user($user_id = 0)
{
    // Get dismissed meta
    $notices = wp_list_pluck(wp_user_alerts_get_dismissed_notices(), 'ID');
    $popups = wp_list_pluck(wp_user_alerts_get_dismissed_popups(), 'ID');
    $dismissed = array_merge($notices, $popups);
    // Loop through and delete the meta data
    foreach ($dismissed as $post_id) {
        $deleted = delete_post_meta($post_id, 'wp_user_alerts_dismissed', $user_id);
    }
    return $deleted;
}