我们可以钓到admin_init
操作并使用检查用户是否为管理员current_user_can()
函数查看当前用户是否可以manage_options
, 这是只有管理员才能做到的。
将此代码粘贴到函数中时。php文件,当非管理员尝试访问仪表板时,将显示一条消息:
function wpse_11244_restrict_admin() {
if ( defined( \'DOING_AJAX\' ) && DOING_AJAX ) {
return;
}
if ( ! current_user_can( \'manage_options\' ) ) {
wp_die( __( \'You are not allowed to access this part of the site\' ) );
}
}
add_action( \'admin_init\', \'wpse_11244_restrict_admin\', 1 );
如果愿意,您可以通过将用户重定向到主页来提供更好的用户体验:
function wpse_11244_restrict_admin() {
if ( defined( \'DOING_AJAX\' ) && DOING_AJAX ) {
return;
}
if ( ! current_user_can( \'manage_options\' ) ) {
wp_redirect( home_url() );
exit;
}
}
add_action( \'admin_init\', \'wpse_11244_restrict_admin\', 1 );
如果要将用户重定向到其配置文件页面,请替换
home_url()
在上面的代码中使用链接。