我想重定向管理员,而不是wp-admin。如果用户(外部管理员)写WP-admin,请转发到另一个页面。为此,我使用(我向wp-include/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' );
您可以在此处参考过滤器登录 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 );
}
请不要使用 current_user_can('manage_options'),
请使用 current_user_can('administrator'),这应该可以解决授予的权限的问题,您应该完成它