Pre-populate Username Field

时间:2012-09-24 作者:Tyler Johnson

我有一个奇怪的要求,但希望它是可行的。我想能够有几个标志,为我的客户,在我的网站上。根据他们单击的徽标,会将他们带到已输入用户名的登录页面。因此,如果他们单击“Bob\'s Grill”徽标,就会进入登录页面,并输入“Bob\'s Grill”用户名。

有没有办法做到这一点?谢谢

1 个回复
SO网友:Tomas Buteler

有很多方法可以诱使WP预先填充用户名字段,但我很肯定这会涉及到使用POST,并且诱使它认为以前的提交中存在错误。

我的建议是只使用Javascript(或jQuery,如下所述)。它仍然是“黑客”,但至少它可以用很少的开销完成任务,而且非常容易使用。它添加了一个检查预填充URL参数的小脚本,如果发现任何内容,就会触发自动完成。

// Add jQuery if prepopulate GET is found
add_action(\'login_head\', \'prepopulate_username_js\');
function prepopulate_username_js() {
    if(isset($_GET[\'prepopulate\'])) :
    ?>
    <script type="text/javascript">
        jQuery(function($){
            $(\'#user_login\').val(\'<?php echo($_GET[\'prepopulate\']); ?>\');
        });
    </script>
    <?php
        endif;
}
然后,在徽标上创建链接时,只需在主题模板中使用以下内容即可触发上述脚本:

<a href="<?php echo(add_query_arg(array(\'prepopulate\' => \'bob\'), wp_login_url())); ?>">This will link to a prepopulated login form!</a> // change \'bob\' for whatever is relevant

结束

相关推荐

当出现错误时,防止wp_login_form()重定向到wp-admin

我已经在我的网站前端使用wp_login_form(). 但是,当用户键入错误的用户名/密码时,他们会被重定向到wp admin登录表单。如何在登录表单上方显示任何错误消息?理想情况下,我不希望用户看到Wordpress管理部分。我试过使用redirect_invalid_login() 胡克,但这似乎不起作用?