我想要做的是,在电子邮件中提供链接,例如: /my-quotes/?log-6ren">
gpt4 book ai didi

php - 预填充 wp-login.php 用户名

转载 作者:行者123 更新时间:2023-12-04 02:42:03 25 4
gpt4 key购买 nike

我有一个 WP 网站,我通过它向客户发送一封电子邮件,其中包含指向/my-quotes/的链接,然后具有以下代码:

<?
if (!is_user_logged_in()): ?>
<meta http-equiv="refresh" content="0;URL=<? echo wp_login_url(get_permalink()); ?>">
<? endif; ?>

我想要做的是,在电子邮件中提供链接,例如:
/my-quotes/?login=myusername

'myusername' 是登录字段值,用于保存用户重新输入它。

我查看了 wp-login.php,但无法确定使用 $_GET 填充登录字段的位置,有人可以就解决方案提出建议吗?

提前致谢。

最佳答案

你应该通过连接到 login_form 来做到这一点。操作,而不是修改 wp-login.php,它将在下次更新时被覆盖。

您可以将此代码添加到您的主题 functions.php文件:

// As part of WP login form construction, call our function
add_filter ( 'login_form', 'login_form_prepop' );

function login_form_prepop(){
// Output jQuery to pre-fill the box

if ( isset( $_REQUEST['myusername'] ) ) { // Make sure a username was passed
?>
<!-- Small jQuery script to set the value of the input field to your variable -->

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready( function(){
$("#user_login").val( '<?php echo( $_REQUEST['myusername'] ); ?>' );
});
</script>
<?php
}
}

然后更新您的代码以包含变量:
<?
if (!is_user_logged_in()): ?>
<meta http-equiv="refresh" content="0;URL=<? echo wp_login_url(get_permalink()); ?>?myusername=username">
<? endif; ?>

如果 jQuery 占用太多,你可以用 JavaScript 来实现:
<script type="text/javascript">
var el = document.getElementById("user_login");
el.value = "<?php echo( $_REQUEST['myusername'] ); ?>";
</script>

关于php - 预填充 wp-login.php 用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19709625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com