Plugins run a lot earlier than themes – you need to delay the execution using a hook:
/**
* Fire once WordPress is ready and conditionally hook our handler.
*/
function wpse_199197_init() {
$user = wp_get_current_user();
$allowed_roles = array( 'author' );
if ( array_intersect( $allowed_roles, $user->roles ) )
add_filter( 'get_terms_args', 'wpse_77670_filterGetTermArgs', 10, 2 );
}
add_action( 'init', 'wpse_199197_init' );
function wpse_77670_filterGetTermArgs( $args, $taxonomies) {
global $typenow;
if ( $typenow == 'post' ) {
// check whether we're currently filtering selected taxonomy
if ( implode( '', $taxonomies ) == 'category' ) {
$cats = array( 11, 13 ); // as an array
if ( empty( $cats ) )
$args['include'] = array( 99999999 ); // no available categories
else
$args['include'] = $cats;
}
}
return $args;
}