Comments screen in backend, how to disable Quick Edit | Edit | History | Spam | for non admins

This is done filtering the *_row_actions.
For the Comments screen (/wp-admin/edit-comments.php) this is the hook:

add_filter( 'comment_row_actions', 'comments_row_wpse_92313', 15, 2 );

function comments_row_wpse_92313( $actions, $comment )
{
    if( !current_user_can( 'delete_plugins' ) )
        unset( $actions['quickedit'], $actions['edit'], $actions['spam'] );

    return $actions;
}

I cannot see a History option, maybe it’s included by some plugin (?). It’s a matter of adding it to the unset list.
These are the default actions in the core files:

$actions = array(
    'approve' => '', 
    'unapprove' => '',
    'reply' => '',
    'quickedit' => '',
    'edit' => '',
    'spam' => '', 
    'unspam' => '',
    'trash' => '', 
    'untrash' => '', 
    'delete' => ''
);

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)