WordPress教程|代码重定向wp-login.php登录指定页面

分类栏目:案例分享

107

如果我们的WordPress网站在首页已有登录注册模块,WordPress自带的后台意义也就不大。
假如我们
不想让其他人访问官方后台wp-login.php页面,或者是访问后台页面时重定向到指定页面。

将代码添加到当前主题函数模板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($actionarray('logout', 'lostpassword', 'rp', 'resetpass'))))) {
  10.         // 重定向的网址
  11.         $page = 'https://zmingcx.com/';
  12.         // 重定向
  13.         wp_redirect($page);
  14.         // 停止执行
  15.         exit();
  16.     }
  17. }