web-dev-qa-db-fra.com

Supprimer les actions en masse en fonction du rôle ou des capacités de l'utilisateur

Comment puis-je supprimer les "actions en bloc" en fonction des rôles ou des capacités de l'utilisateur? En fait, j'ai ce code pour faire le travail, mais maintenant je dois exclure l'administrateur du site, je dois laisser l'administrateur accéder au menu en vrac

add_filter( 'bulk_actions-' . 'edit-post', '__return_empty_array' );
add_filter( 'bulk_actions-' . 'upload', '__return_empty_array' );

Comment puis-je exclure des rôles ou des capacités de ce filtre?

1
user983248

Je ferais ceci de cette façon - Ajoutez juste un nouveau plugin mu ou normal:

<?php
defined( 'ABSPATH' ) OR exit;
/** Plugin Name: Limit Bulk actions to Editor & Admin */

add_action( 'wp_loaded', 'wpse_53371_remove_bulk_actions' );
function wpse_53371_remove_bulk_actions()
{
    if ( ! is_admin() )
        return;

    if ( ! current_user_can( 'delete_others_pages' ) )
    {
        add_filter( 'bulk_actions-edit-post', '__return_empty_array' );
        add_filter( 'bulk_actions-upload',    '__return_empty_array' );
    }
}

cela vérifiera si l'utilisateur actuel est l'éditeur ou l'administrateur - sinon, les actions en bloc seront supprimées. Pour en savoir plus sur les rôles et les capacités , consultez le Codex .

3
Tommixoft