Is_admin()条件语句

时间:2013-09-12 作者:Ronald

我像这样构建了前端登录。

<?php if( is_user_logged_in() ) { ?>
<?php 
/*  
Template Name: front page   
*/      
get_header();
global $user_identity;
$redirect = $_SERVER[\'REQUEST_URI\'];    
?>
        <?php while ( have_posts() ) : the_post(); ?>
            <?php get_template_part( \'content\', get_post_format() ); ?>
        <?php endwhile; // end of the loop. ?>  
<?php } else { ?>
 <form action="<?php echo get_option(\'home\'); ?>/wp-login.php" method="post"     id="main_comment_form" class="comments-form">   
    <h2>Login</h2>
        <div class="row">
            <label for="username">Username</label><br />
            <input type="text" class="text" name="log" id="log" value="<?php echo     wp_specialchars(stripslashes($user_login), 1) ?>" required/>
        </div>
        <div class="row">
            <label for="password">Password</label><br />
            <input type="password" class="text" name="pwd" id="pwd" required/>
        </div>
        <span class="submit"><input type="submit" value=" Login " name="submit"></span>
        <input type="hidden" name="redirect_to" value="<?php echo $_SERVER[\'REQUEST_URI\']; ?>" />       
 </form>
<?php 
}
?>
我想要的是如果users 登录后,它将保留在该页面上,如果admin 将登录,它将自动重定向到/wp admin/dashboard。

我怎么能这样编码<我被困住了if 陈述帮帮我。

谢谢

1 个回复
最合适的回答,由SO网友:JMau 整理而成

您可以这样继续:

add_filter("login_redirect", "wpse_113875_login_redirect", 10, 3);
function wpse_113875_login_redirect($redirect_to, $request, $user) {

 if(is_array($user->roles)) 
     if(in_array(\'administrator\', $user->roles)) 
       return site_url(\'/wp-admin/\');

   return home_url();
   }
这将使用WP登录系统,并在登录后根据用户的角色重定向用户。我认为在这种情况下,这比构建自己的脚本要容易。您可以轻松地在WP登录页面的前端添加一些按钮或链接。希望这有帮助。

结束

相关推荐

使用错误密码时,自定义登录重定向到wp-admin

当用户无法正确猜测其凭据时,我的自定义登录表单将重定向到wp admin登录。如何将用户重定向到当前表单?当然要显示正确的错误?代码如下:(与WordPress手册上的代码相同)$args = array( \'echo\' => true, \'redirect\' => site_url( $_SERVER[\'REQUEST_URI\'] ), \'form_id\' => \'loginform\',&#x