bp_nouveau_ajax_dismiss_sitewide_notice()
AJAX dismiss sitewide notice.
Description
Source
File: bp-templates/bp-nouveau/includes/messages/ajax.php
function bp_nouveau_ajax_dismiss_sitewide_notice() { if ( empty( $_POST['action'] ) ) { wp_send_json_error(); } $response = array( 'feedback' => '<div class="bp-feedback error"><span class="bp-icon" aria-hidden="true"></span><p>' . __( 'There was a problem dismissing the notice. Please try again.', 'buddyboss' ) . '</p></div>', 'type' => 'error', ); if ( false === bp_is_active( 'messages' ) ) { wp_send_json_error( $response ); } if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'bp_nouveau_messages' ) ) { wp_send_json_error( $response ); } // Check capability. if ( ! is_user_logged_in() || ! bp_core_can_edit_settings() ) { wp_send_json_error( $response ); } // Mark the active notice as closed. $notice = BP_Messages_Notice::get_active(); if ( ! empty( $notice->id ) ) { $user_id = bp_loggedin_user_id(); $closed_notices = bp_get_user_meta( $user_id, 'closed_notices', true ); if ( empty( $closed_notices ) ) { $closed_notices = array(); } // Add the notice to the array of the user's closed notices. $closed_notices[] = (int) $notice->id; bp_update_user_meta( $user_id, 'closed_notices', array_map( 'absint', array_unique( $closed_notices ) ) ); wp_send_json_success( array( 'feedback' => '<div class="bp-feedback info"><span class="bp-icon" aria-hidden="true"></span><p>' . __( 'Sitewide notice dismissed', 'buddyboss' ) . '</p></div>', 'type' => 'success', ) ); } }
Changelog
Version | Description |
---|---|
BuddyPress 3.0.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.