如何在不同的域上插入WordPress登录屏幕?

时间:2020-01-15 作者:Gil Jr.

我确实有一个php网站在某个域上运行,我在一个子域上安装了Wordpress。我需要在主页(而不是子域)上放置一个登录表单,用户将在其中填写用户名和密码,然后登录并自动重定向到子域上的Wordpress仪表板。但我是个新手,谁能告诉我如何做到这一点?非常感谢你。

2 个回复
SO网友:Damocles

您可以将静态表单代码添加到主站点的代码中(在本例中,您的域是example.com,您的子域是sub.example.com):

<form name="loginform" id="loginform" action="https://sub.example.com/wp-login.php" method="post">
            <p>
                <label for="user_login">Username or Email Address</label>
                <input type="text" name="log" id="user_login" class="input" value="" size="20" autocapitalize="off">
            </p>

            <div class="user-pass-wrap">
                <label for="user_pass">Password</label>
                <div class="wp-pwd">
                    <input type="password" name="pwd" id="user_pass" class="input password-input" value="" size="20">
                    <button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="Show password">
                        <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
                    </button>
                </div>
            </div>
                        <p class="forgetmenot"><input name="rememberme" type="checkbox" id="rememberme" value="forever"> <label for="rememberme">Remember Me</label></p>
            <p class="submit">
                <input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="Log In">
                                    <input type="hidden" name="redirect_to" value="https://sub.example.com/wp-admin/">
                                    <input type="hidden" name="testcookie" value="1">
            </p>
        </form>
隐藏的redirect\\u to input(重定向到输入)字段告诉WP在成功登录后将重定向到哪里(WP admin/将让您在仪表板中结束)。

然而,由于缺少样式,表单看起来不像WordPress中的表单。您可以添加WPlogin.css 到主站点的代码

<link rel="stylesheet" id="login-css" href="https://sub.example.com/wp-admin/css/login.css?ver=5.3.2" type="text/css" media="all">
或者按照你喜欢的方式来设计。

SO网友:Tom

有几种方法可以实现您想要的目标,但我将在这个答案中介绍两种方法:

WordPress,无需自定义编码(通过多站点)

WordPress多站点可以让您拥有两个使用相同WordPress安装的独立网站。您可以将主域(example.com)设置为主多站点域。然后,创建一个子站点(或子站点),即您的实际站点(test.example.com)。子域网站将包含您的内容。

通过要求登录锁定两个站点(https://wordpress.org/plugins/wp-force-login/). 然后在核心站点(example.com)上设置登录页面,并在登录到子域(test.example.com)后设置自定义重定向。当用户登录到一个多站点站点时,他们会通过网络登录(WordPress.com也是这样工作的)。因此,如果他们在主站点上进行身份验证,子网站也会登录,您可以将他们重定向到那里。

在子网站上,要求登录并将其重定向到主网站登录页面(example.com)。这样,如果他们不再登录,而是访问您的子网站,他们将被重定向到登录页面。

附加读数:

相关推荐

WordPress使用内部IP地址‘LIMIT_LOGIN_LOCKOUTS’

我在Wordpress页面上使用AWS-Elastik Beanstalk。我有一个问题,wordpress阻止了内部IP“172.31.47.52”。但这是本地网络中的专用IP,而不是转发的IP。现在有没有办法告诉Wordpress使用正确的IP?Couse Wordpress会在短时间内锁定登录页面,因为Couse机器人想要登录。