以下是两种方法:
方法1:
移除
upload_files
各角色的能力。
e、 g.从作者处删除:
$role = get_role( \'author\' );
$role->remove_cap( \'upload_files\' );
这会保存到数据库中,因此只会发生一次,而不是每次加载页面时。从编辑器角色中删除它应该是相同的,尽管有明显的修改。
删除该功能将获得所需的效果,但可能会产生其他效果,您可能觉得不太理想,唯一可以确保的方法是测试
方法2考虑此代码。它使用wp_handle_upload_prefilter
筛选以检查用户是否具有管理员状态,如果没有,则中止上载。它只依赖于管理员及以上拥有manage_options
.
<?php
/**
* Plugin Name: Admin Only Uploads
* Description: Prevents Uploads from non-admins
* Author: TJNowell
* Author URI: https://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\' );
您可以使用此筛选器使其比upload\\u文件更具体,例如,阻止上载图像,仅上载图像,但允许音频等