Tagged: dm
I am trying to remove the possibility to delete private messages (display: none; is not enough, I want to remove it anywhere on the client side), to be clear I am talking about this link “https://mydomain.com/members/userName/messages/sentbox/delete/4/?_wpnonce=f08b25f7c8” or in alternative let normal users delete messages but let admin see every message ever sent (also deleted ones)
Could anyone help me?
Yo this is a message to the me of yesterday and to anybody else who is looking for a way to disable the delete message function; add this stuff into your functions.php:
function prevent_bp_message_deletion( $wp ) {
if ( isset( $_GET[‘_wpnonce’] ) && strpos( $_SERVER[‘REQUEST_URI’], ‘/messages/sentbox/delete/’ ) !== false ) {
wp_redirect( bp_loggedin_user_domain() . ‘messages/sentbox/’ );
exit;
}
}
add_action( ‘wp’, ‘prevent_bp_message_deletion’, 1 );Hi,
Thank you for the question and the solution.
Here is another way to achieve the same./** * Disables message thread deletion. */ add_action( 'bp_actions', function () { if ( ! bp_is_messages_component() || bp_is_current_action( 'notices' ) || ! bp_is_action_variable( 'delete', 0 ) ) { return false; } bp_core_add_message( 'Invalid action!', 'error' ); bp_core_redirect( bp_loggedin_user_domain() . bp_get_messages_slug() ); }, 5 );
Please do note that if a theme deletes message via ajax, this code won’t apply in that case.
Regards
Brajesh
You must be logged in to reply to this topic.