WordPress用户重定向



我想重定向管理员,而不是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'),这应该可以解决授予的权限的问题,您应该完成它

相关内容

  • 没有找到相关文章

最新更新