Удаление массовых действий на основе роли или возможностей пользователя


Как я могу удалить "массовые действия" на основе ролей или возможностей пользователей. На самом деле у меня есть этот код для выполнения этой работы, но теперь мне нужно исключить администратора сайта, мне нужно разрешить администратору доступ к массовому меню

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

Как я могу исключить роли или возможности из этого фильтра?

Author: user983248, 2012-05-26

1 answers

Я бы сделал это таким образом - просто добавьте новый плагин mu или обычный плагин:

<?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' );
    }
}

Это проверит, является ли текущий пользователь редактором или администратором - если нет, то массовые действия будут удалены. Для получения дополнительной информации о Ролях и возможностях смотрите здесь, в Кодексе.

 3
Author: Tommixoft, 2013-05-17 11:54:49