/** * 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')))); }
/** * 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; }