我想从我的应用程序创建一个请求。 (iOS 和 Android - 使用 Xamarin 编码)。
说明:
该请求应触发 WordPress action=lostpassword
。 - 用户收到一封电子邮件以在浏览器中重置他的密码。
或
用户将能够设置新密码。 WordPress 发送一个电子邮件链接 - 用户必须在其中验证他是否更改了密码。 是否有机会通过对 REST API 的请求来执行此操作。
也许有类似的想法?
我已经试过了:
- 文档中提供了功能但对我不起作用的插件
- 使用正文手动调用
wp-login.php?action=lostpassword
{ "redirect_to": "", "user_login": "name@provider.de", "wp-submit": "Neues+Passwort" }
最佳答案
创建您的自定义 API
网址
https://yourdomain/api/forgot_password.php
参数
登录:manoj.infoways@gmail.com
在根目录下创建文件夹api并创建文件forgot_password.php
forgot_password.php
<?php include '../wp-load.php';
$login = $_REQUEST['login'];
if ( empty( $login ) ) {
$json = array( 'code' => '0', 'msg' => 'Please enter login user detail' );
echo json_encode( $json );
exit;
}
$userdata = get_user_by( 'email', $login);
if ( empty( $userdata ) ) {
$userdata = get_user_by( 'login', $login );
}
if ( empty( $userdata ) ) {
$json = array( 'code' => '101', 'msg' => 'User not found' );
echo json_encode( $json );
exit;
}
$user = new WP_User( intval( $userdata->ID ) );
$reset_key = get_password_reset_key( $user );
$wc_emails = WC()->mailer()->get_emails();
$wc_emails['WC_Email_Customer_Reset_Password']->trigger( $user->user_login, $reset_key );
$json = array( 'code' => '200', 'msg' => 'Password reset link has been sent to your registered email' );
echo json_encode( $json );
exit;
?>
login 是参数名,请记住。
它对我来说 100% 有效,试试吧
关于c# - Wordpress REST API - 发送重置密码链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52035737/