Redirect to custom login page

时间:2013-10-14 作者:jay

我已经创建了一个用于登录/注册的自定义页面。是否有任何自动重定向所有wp登录的方法。php调用该页面,或者我需要手动替换所有链接。

例如,在评论表单上,我有以下默认消息:

你一定是logged in 发布评论。

登录的链接到

http://localhost/wp-login.php?redirect_to=url
如何将其更改为:

http://localhost/my-custom-login-page

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您可以将请求重定向到wp-login.php 至您的页面:

add_action(
  \'login_head\',
  function() {
    $parsed = parse_url($_SERVER[\'REQUEST_URI\']);
    $redirect = site_url(\'mypage\');
    if (!empty($parsed[\'query\'])) {
      $redirect .= \'?\'.$parsed[\'query\'];
    }
    wp_safe_redirect($redirect,301);
    exit;
  }
);
然而,wp-login.php 在我的3.6.1安装(grep -Rn "wp-login.php" * | wc -l ), 其中许多似乎不可过滤。实际上,改变所有这些链接需要一些工作,很可能涉及核心黑客。

这个login_url 过滤器,以及logout_url 第一,会让你半途而废,但它并不涵盖所有情况。

add_action(
  \'login_url\',
  function($url) {
    return str_replace(\'wp-login.php\',\'mypage\',$url);
  }
);
非常粗糙的代码。几乎未经测试。可能是马车。买主注意事项。不退款。

结束

相关推荐

WordPress不显示wp-Content/Themes文件夹中的主题

我会尽我所能解释这一点,但至少可以说这很奇怪。因此,两个默认主题(210和2111)出现在wp admin的外观>主题选项卡下。但是,如果我向wp内容/主题添加一个新主题(即使只是一个空文件夹),则除了当前使用的主题之外,所有主题都无法显示在“外观”>“主题”选项卡上。有人有什么想法吗?--这是在LAMP服务器上(Ubuntu 12.04)。