WordPress用户重定向

时间:2018-12-23 23:35:11

标签: wordpress wordpress-login wordpress-admin

除了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' );

2 个答案:

答案 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'),这应该可以解决所授予的权限问题,您应该已完成