如何将所有请求重定向到wp-login.php?

时间:2012-04-02 作者:John Smith

我创建了一些自定义的登录/注册模板页面,现在我希望每个请求都能登录到wp。php被重定向到自定义url。现在我有了这样的东西:

add_action(\'init\',\'possibly_redirect\');
 function possibly_redirect(){
global $pagenow;
if( \'/wp-login.php\' == $pagenow ) {
wp_redirect(\'/login\');
exit();
}
}
但它不能正常工作,因为当我单击一个注销链接(在元小部件中)时,它会将我重定向到/登录链接,而不进行注销。您是否有其他安全或更好的方法来执行此操作?非常感谢。

4 个回复
SO网友:Anatoly

仅限制“wp登录”的直接访问。php”,无需POST或GET请求(对自定义ajax登录表单有用),我使用高级功能:

function possibly_redirect(){
  global $pagenow;
  if( \'wp-login.php\' == $pagenow ) {
    if ( isset( $_POST[\'wp-submit\'] ) ||   // in case of LOGIN
      ( isset($_GET[\'action\']) && $_GET[\'action\']==\'logout\') ||   // in case of LOGOUT
      ( isset($_GET[\'checkemail\']) && $_GET[\'checkemail\']==\'confirm\') ||   // in case of LOST PASSWORD
      ( isset($_GET[\'checkemail\']) && $_GET[\'checkemail\']==\'registered\') ) return;    // in case of REGISTER
    else wp_redirect( home_url() ); // or wp_redirect(home_url(\'/login\'));
    exit();
  }
}
add_action(\'init\',\'possibly_redirect\');

SO网友:John Smith

实际上我找到了正确的方法。

要将wordpress登录重定向到自定义url:

function redirect_login()
{
wp_redirect( home_url( \'/login\' ) );
exit(); 
}
add_action( \'login_form_login\', \'redirect_login\' );
将wordpress注册重定向到自定义url:

 function redirect_register()
{
wp_redirect( home_url( \'/registration\' ) );
exit(); 
}
add_action( \'login_form_register\', \'redirect_register\' );
我认为代码很容易理解,基本上您可以添加用于登录和注册url的挂钩,然后使用wp redirect重定向到自定义url。wp登录的所有请求。php和wp登录。php?操作=注册将重定向到您设置的自定义url。

SO网友:Milan

我推荐约翰的答案exit() 省略。因此,在我的例子中,完全起作用的代码是:

function redirect_login() {
    wp_redirect( home_url( \'/login\' ) ); 
}
add_action( \'login_form_login\', \'redirect_login\' );
看来exit() 使用户无法登录。

SO网友:D. Abel

WP函数参考中需要注意的两件事wp_redirect()...

李安exit; 确实是用法的一部分,并且$location 参数应为“绝对URI”,其中包括协议(http://)绝对/完整URI示例:http://www.example.com/blog/images/icecream.jpg

结束

相关推荐

Search URL redirect problem

我的搜索结果页面有一个奇怪的问题,当我搜索时,我在URL中得到了这个http://f.cl.ly/items/2Z1c1b2G1n0B3r3W063B/Screen%20Shot%202011-09-29%20at%201.21.19%20PM.png “查看X&Y”?我不知道他们从哪里来&;我似乎不知道如何修复它&;它破坏了我的分页,那么我如何修复它呢?谢谢