通过自定义登录重定向用户&注册页面,只允许管理员默认登录wp-login.php

时间:2013-03-02 12:39:01

标签: php wordpress wordpress-theming

我希望用户注册&仅通过自定义页面而不是默认页面登录,而只有admin可以通过默认的wp-login.php

登录

我发现了这个..但它重定向登录&在同一页面上注册。在这种情况下google.com。

add_action('init','possibly_redirect');

function possibly_redirect(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow ) {
  wp_redirect('http://google.com/');
  exit();
 }
}

1 个答案:

答案 0 :(得分:0)

我讨厌发布“你不能做那个答案”,因为它很容易出错,但一般来说你不能这样做。在有人登录之前,WordPress不知道该人是否是管理员。你是如何根据不可用的信息进行切换的?

我能想到的只有一些不太好的解决方案:

  1. 如果您的管理员拥有静态IP或静态IP,您可以根据此进行切换。当然,如果管理员试图从妈妈家或咖啡店登录,这将无效。
  2. 你可以设置一些非常长期的cookie(不是WordPress使用的任何cookie),将用户标记为管理员并打开它。当然,这仅适用于具有cookie集的计算机上的用户。
  3. 您可以创建两个自定义登录页面 - user-login.phpadmin-login.php - 并且永远不会公开发布。然后,您将所有登录重定向到user-login.php,但试图访问admin-login.php的情况除外,这可能只是您的管理员所知道的。这真的只是混淆,但也许这对你有用。
  4. 任何一种解决方案都会变得不稳定并且有时会工作,而不是其他解决方案。

    在登录后将用户重定向到某个特定页面非常简单。用户登录之前使用不同的登录页面。