好问题!能力检查可能在加载过程的早期完成。通过查看/wp-admin/users.php
你可以看出,首先发生的事情之一是current_user_can( \'list_users\' )
, 所以这显然是必要的,否则你会得到“作弊”呃警告但就在那之前,/wp-admin/admin.php
并且在该文件的底部,WordPress将为每个页面调用一个单独的操作,load-users.php
加载时wp-admin/users.php
.
这意味着您应该能够设置一个函数,以添加在加载该页面期间执行任务所需的功能(当然,假设当前用户有足够的权限开始)。在“用户列表”和“用户编辑”页面上为用户提供新功能时,类似的操作可能会起作用:
function my_add_caps() {
// add capabilities here
}
add_action(\'load-users.php\', \'my_add_caps\');
add_action(\'load-profile.php\', \'my_add_caps\'); // might be needed if you somehow cannot edit your own user
add_action(\'load-user-edit.php\', \'my_add_caps\');
不过,我不会太担心删除这些功能,一旦加载了页面,添加的功能就会发挥作用。但请记住,您可能必须为负责存储选项的管理页面或任何AJAX请求处理程序添加功能,这取决于WordPress在验证/存储选项期间执行的功能检查量。