重定向wp-login.php修改登录页面到指定页面


如果你的WordPress网站已有前端登录注册功能,不想让其他人访问wp-login.php登录页面,并且当访问WordPress默认登录页面时重定向到指定的页面,比如前端登录注册页面等,可以通过下面的代码实现。

将代码添加到当前主题函数模板functions.php中。

代码一、访问wp-login.php重定向到指定页面。


 
  1. function zm_custom_login(){
  2. global $pagenow;
  3. if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") {
  4. wp_redirect('https://zmingcx.com/');
  5. exit();
  6. }
  7. }

 

代码二、重定向到指定页面,且不影响重置密码时访问

第一段代码当重置密码时也会跳转,如果你的前端登录注册没有重置密码功能,可以用下面这个代码,即可以阻止访问wp-login.php,同时又不影响重置密码时访问。


 
  1. // 重定向wp-login.php
  2. add_action('init', 'zm_redirect_wp_login');
  3. function zm_redirect_wp_login() {
  4. // WP全局变量
  5. global $pagenow;
  6. // 如果设置了$_GET['action'],则加载到$action变量中
  7. $action = (isset($_GET['action'])) ? $_GET['action'] : '';
  8. // 判断是否在登录页面,并且不是重置密码
  9. if( $pagenow == 'wp-login.php' && ( ! $action || ( $action && ! in_array($action, array('logout', 'lostpassword', 'rp', 'resetpass'))))) {
  10. // 重定向的网址
  11. $page = 'https://zmingcx.com/';
  12. // 重定向
  13. wp_redirect($page);
  14. // 停止执行
  15. exit();
  16. }
  17. }

打赏