Saya memiliki halaman yang dibuat secara manual ini:
$user_login = sanitize_text_field( $_GET['user_login'] );
if ( username_exists( $user_login ) || email_exists($user_login) ) { ?>
<!--Everything has been validated, proceed ....-->
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function submit()
{
var f = document.getElementById('lostpasswordform');
f.onclick = function () { };
document.lostpasswordform.submit();
}
</script>
</head>
<body onload="submit()">
<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
<input type="hidden" name="user_login" id="user_login" class="input" value="<?php echo ($user_login); ?>" />
<?php do_action('lost_password'); ?>
</form>
</body>
</html>
<?php
echo "SUCCESS";
exit();
} else {
echo "Entered Username or Email was incorrect, please try again!";
}
... semuanya tampak benar tetapi tidak berfungsi ketika dipanggil dari suatu aplikasi, tetapi jika saya secara manual mengunjunginya, domain.com/forgot-password?user_login=username
maka akan mengirimkan email reset reset baik-baik saja.
app
apakah Anda berartiplugin
Jawaban:
Jadi jika Anda ingin mengirim tautan reset kata sandi dan Anda memiliki akses ke basis kode Anda dapat menggunakan potongan berikut dan Anda dapat memodifikasinya lebih lanjut, sebenarnya kode itu adalah versi yang sedikit dimodifikasi.
wp-login.php
sumber
Jawaban sebelumnya tidak berfungsi untuk saya (mengatakan bahwa kode tidak valid, pada halaman login wp), mungkin karena jawabannya berusia 1,5 tahun, dan ada sesuatu yang berubah dalam kode WP, jadi saya sedikit memperbarui kode ini (juga dari wp-login.php), ini dia:
sumber
$key
memproses dan memperbaruiuser_activation_key
.Saya perhatikan bahwa setelah memutakhirkan WordPress ke Versi 4.3 bahwa hal di atas tidak lagi berfungsi untuk plugin khusus saya. Itu akan selalu melaporkan bahwa kunci tidak valid.
Perubahan:
untuk
Ini memperbaiki masalah saya, semoga membantu orang lain
sumber
Tidak ada jawaban di atas yang berfungsi untuk saya, jadi saya melihat ke wp-login.php untuk fungsi reset default mereka. Mereka menggunakan fungsi get_password_reset_key ($ userData). Jika seseorang terjebak pada jawaban di atas, inilah solusi saya: -
sumber
Wordpress 4.3.1
sumber
Coba ini
dari pada
Itu berhasil saya (wordpress 4.3.1)
sumber