Wordpress在主题中自定义登陆页面并且禁用自带的登陆页面
在使用Wordpress制作主题之后,不想要他自带的登陆页面以及地址。
1、新建一个用户页面来接管与登陆相关的动作
//在主题根目录下新建page-login.php,通过action获取用户动作,然后进行不同的处理。 //当然也可以只把login动作的代码放里面,其余再新建page-register.php等页面。 $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'login'; global $wpdb, $user_ID; switch ($action) { case 'logout': if ($user_ID) { wp_logout(); $redirect_to = apply_filters('logout_redirect', $redirect_to, $requested_redirect_to, $user); wp_safe_redirect($redirect_to); } exit(); case 'forget': if ($user_ID) { wp_redirect(get_bloginfo('url')); } else { //在这里写忘记密码的处理过程 } exit(); case 'reset': if ($user_ID) { //这里写重置密码的处理过程 } else { wp_redirect(wselibrary_getloginurl()); } exit(); case 'register': if ($user_ID) { wp_redirect(get_bloginfo('url')); } else { //在这里写用户注册的处理过程 } exit(); case 'login': default: if ($user_ID) { wp_redirect(get_bloginfo('url')); } else { //这里写用户登陆的处理过程 } exit(); }
2、 禁用Wordpress自带的登陆页面
//原理其实很简单,就是让用户访问自带登陆页面时直接跳转到指定页面 if (!function_exists('login_protection')) { function login_protection() { //如果有需要,你可以给自己一个访问的途径 if ($_GET['superuser'] != 'password') header('Location: /index.php/login'); //当然你也可以禁止所有人访问 //header('Location: /index.php/login'); } add_action('login_enqueue_scripts','login_protection'); }
原创文章,转载请注明来源