我在自定义插件中有一个简单的重定向功能,可以防止用户在多站点安装中访问WP Admin区域。
该插件允许用户在前端管理内容及其配置文件,并允许通过WP Media Uploader进行上传。
虽然一切正常,但一旦我激活了上述重定向功能,当媒体上传程序启动时,没有给定功能的用户就无法再看到图像。
以下是具有给定功能的重定向函数:
function my_noAdminAccess(){
if( !current_user_can( \'delete_others_posts\' ) ){
if( wp_get_referer() ){
exit( wp_safe_redirect( wp_get_referer() ) );
}else{
exit( wp_safe_redirect( site_url(\'/\') ) );
}
}
}
add_action( \'admin_init\', \'my_noAdminAccess\', 100 );
我需要激活该功能,但它如何在不影响媒体上传器图像的情况下工作?
最合适的回答,由SO网友:ToongeePrime 整理而成
对于任何对此可能有所帮助的人,我找到了一个有效的解决方案。重定向正在工作,用户可以在前端WP Media Uploader上看到自己的图像。
function my_noAdminAccess(){
if ( is_admin() && ! current_user_can( \'delete_others_posts\' ) && ! ( defined( \'DOING_AJAX\' ) && DOING_AJAX ) ){
if( wp_get_referer() ){
wp_safe_redirect( wp_get_referer() );
}
else{
wp_safe_redirect( site_url(\'/\') );
}
exit;
}
}
add_action( \'admin_init\', \'my_noAdminAccess\', 100 );