除了wp-admin,我想重定向管理员。 如果用户(外部管理员)写wp-admin,则转到另一个页面。为此,我使用 (我在wp-includes / function.php中添加了代码)
function restrict_admin_with_redirect() {
if ( ! current_user_can( 'manage_options' ) && ( ! wp_doing_ajax() ) ) {
wp_safe_redirect( 'aaaa' );
``exit;
0}} add_action( 'admin_init', 'restrict_admin_with_redirect', 1 );
它可以工作,但是在管理员状态下,问题出在主题或附加组件上。 我想在主题页面上添加主题时出现错误。 错误是发生意外错误。 当我删除上述功能时,没问题,一切都在变好。 问题出在哪里?
EDİT:我尝试了另一个代码,它有效
function custom_blockusers_init() {
if ( is_user_logged_in() && is_admin() && !current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
}
add_action( 'init', 'custom_blockusers_init' );
答案 0 :(得分:0)
您可以引用here来获取过滤器登录URL。
add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
return home_url( '/my-login-page/?redirect_to=' . $redirect );
}
答案 1 :(得分:0)
请不要使用current_user_can('manage_options'),而应使用current_user_can('administrator'),这应该可以解决所授予的权限问题,您应该已完成