当外部用户或非管理员尝试访问时http://www.urlVisibleToUsers.com/wp-admin
被重定向到错误页面,但仍然是home_url
(其中WP安装居住)被暴露并且可见。我希望能够将所有最终用户或任何不是管理员的角色重定向到http://www.urlVisibleToUsers.com/
,并防止打破adjax呼叫。我有下面的代码在我functions.php
,但还是外部用户会看到导航栏上的home_url
地址(虽然会显示错误页面):如何在重新引导非管理员和最终用户到家时遇到wp-admin
add_action('admin_init', 'admin_area_for_manage_options_only');
function admin_area_for_manage_options_only() {
if(defined('DOING_AJAX') && DOING_AJAX) {
//Allow ajax calls in order to have ALM working
return;
}
if(! current_user_can("manage_options")) {
//Redirect to main page if the user has no "manage_options" capability
wp_redirect(get_site_url());
exit();
}
}
不知道为什么上面的代码不工作,是那正确的做法?我应该在我的.htaccess中引入Apache重定向规则吗?