messages_delete_thread( int|array $thread_ids, int $user_id )
Deletes message thread(s) for a given user.
Description
Note that "deleting" a thread for a user means removing it from the user’s message boxes. A thread is not deleted from the database until it’s been "deleted" by all recipients.
Parameters
- $thread_ids
-
(Required) Thread ID or array of thread IDs.
- $user_id
-
(Required) ID of the user to delete the threads for. Defaults to the current logged-in user.
Return
(bool) True on success, false on failure.
Source
File: bp-messages/bp-messages-functions.php
function messages_delete_thread( $thread_ids, $user_id = 0 ) {
if ( empty( $user_id ) ) {
$user_id =
bp_displayed_user_id() ?
bp_displayed_user_id() :
bp_loggedin_user_id();
}
/**
* Fires before specified thread IDs have been deleted.
*
* @since BuddyPress 1.5.0
* @since BuddyPress 2.7.0 The $user_id parameter was added.
*
* @param int|array $thread_ids Thread ID or array of thread IDs to be deleted.
* @param int $user_id ID of the user the threads are being deleted for.
*/
do_action( 'messages_before_delete_thread', $thread_ids, $user_id );
if ( is_array( $thread_ids ) ) {
$error = 0;
for ( $i = 0, $count = count( $thread_ids ); $i < $count; ++$i ) {
if ( ! BP_Messages_Thread::delete( $thread_ids[$i], $user_id ) ) {
$error = 1;
}
}
if ( ! empty( $error ) ) {
return false;
}
/**
* Fires after specified thread IDs have been deleted.
*
* @since BuddyPress 1.0.0
* @since BuddyPress 2.7.0 The $user_id parameter was added.
*
* @param int|array Thread ID or array of thread IDs that were deleted.
* @param int ID of the user that the threads were deleted for.
*/
do_action( 'messages_delete_thread', $thread_ids, $user_id );
return true;
} else {
if ( ! BP_Messages_Thread::delete( $thread_ids, $user_id ) ) {
return false;
}
/** This action is documented in bp-messages/bp-messages-functions.php */
do_action( 'messages_delete_thread', $thread_ids, $user_id );
return true;
}
}
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.