Cách 1:
Loại bỏ upload_files
khả năng khỏi các vai trò tương ứng.
ví dụ: xóa nó khỏi tác giả:
$role = get_role( 'author' );
$role->remove_cap( 'upload_files' );
Điều này được lưu vào cơ sở dữ liệu để nó chỉ xảy ra một lần, không phải trên mỗi lần tải trang. Loại bỏ nó khỏi vai trò biên tập nên giống như mặc dù với sửa đổi rõ ràng. Loại bỏ khả năng sẽ có hiệu ứng mong muốn, nhưng nó có thể có các hiệu ứng bổ sung mà bạn có thể không thấy mong muốn, cách duy nhất để chắc chắn là kiểm tra
Cách 2
Xem xét mã này, sẽ làm cho lỗi tải lên nếu người dùng không có đặc quyền quản trị viên.
<?php
/**
* Plugin Name: Admin Only Uploads
* Description: Prevents Uploads from non-Admins
* Author: TJNowell
* Author URI: http://tomjn.com
* Version: 1.0
*/
function tomjn_only_upload_for_admin( $file ) {
if ( ! current_user_can( 'manage_options' ) ) {
$file['error'] = 'You can\'t upload images without admin privileges!';
}
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'tomjn_only_upload_for_admin' );
Bạn có thể sử dụng bộ lọc này cụ thể hơn upload_file, ví dụ: ngăn chặn việc tải lên hình ảnh và chỉ hình ảnh, nhưng cho phép âm thanh, v.v.