How to reset user password by wordpress rest api
Any one of you know know to send a reset link for lost password by wordpress rest api ? I have been looking into wordpress rest api documentation but I haven't find out anything about it. Maybe someone has done a custom function for that.
wordpress-rest-api woocommerce-rest-api
add a comment |
Any one of you know know to send a reset link for lost password by wordpress rest api ? I have been looking into wordpress rest api documentation but I haven't find out anything about it. Maybe someone has done a custom function for that.
wordpress-rest-api woocommerce-rest-api
add a comment |
Any one of you know know to send a reset link for lost password by wordpress rest api ? I have been looking into wordpress rest api documentation but I haven't find out anything about it. Maybe someone has done a custom function for that.
wordpress-rest-api woocommerce-rest-api
Any one of you know know to send a reset link for lost password by wordpress rest api ? I have been looking into wordpress rest api documentation but I haven't find out anything about it. Maybe someone has done a custom function for that.
wordpress-rest-api woocommerce-rest-api
wordpress-rest-api woocommerce-rest-api
asked Dec 30 '18 at 20:23
Clever AlmeidaClever Almeida
570820
570820
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I found out a way to do that:
function runRetrivePassword($data) {
global $wpdb, $wp_hasher;
$user_data = get_user_by('email', $data['email']);
if ( !$user_data ) return array( 'result' => false );
do_action('lostpassword_post');
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
$message = __('Someone requested that the password be reset for the following account:') . "rnrn";
$message .= network_home_url( '/' ) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "rnrn";
$message .= __('To reset your password, visit the following address:') . "rnrn";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
if ( is_multisite() )
$blogname = $GLOBALS['current_site']->site_name;
else
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$title = sprintf( __('[%s] Password Reset'), $blogname );
$title = apply_filters('retrieve_password_title', $title);
$message = apply_filters('retrieve_password_message', $message, $key);
if ( $message && !wp_mail($user_email, $title, $message) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function...') );
return array( 'result' => true ); }
add_action( 'rest_api_init', function () {
register_rest_route( 'apiuser/v1', '/forgotpwd/(?P<email>S+)', array(
'methods' => 'GET',
'callback' => 'runRetrivePassword'
) );
} );
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53981138%2fhow-to-reset-user-password-by-wordpress-rest-api%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I found out a way to do that:
function runRetrivePassword($data) {
global $wpdb, $wp_hasher;
$user_data = get_user_by('email', $data['email']);
if ( !$user_data ) return array( 'result' => false );
do_action('lostpassword_post');
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
$message = __('Someone requested that the password be reset for the following account:') . "rnrn";
$message .= network_home_url( '/' ) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "rnrn";
$message .= __('To reset your password, visit the following address:') . "rnrn";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
if ( is_multisite() )
$blogname = $GLOBALS['current_site']->site_name;
else
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$title = sprintf( __('[%s] Password Reset'), $blogname );
$title = apply_filters('retrieve_password_title', $title);
$message = apply_filters('retrieve_password_message', $message, $key);
if ( $message && !wp_mail($user_email, $title, $message) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function...') );
return array( 'result' => true ); }
add_action( 'rest_api_init', function () {
register_rest_route( 'apiuser/v1', '/forgotpwd/(?P<email>S+)', array(
'methods' => 'GET',
'callback' => 'runRetrivePassword'
) );
} );
add a comment |
I found out a way to do that:
function runRetrivePassword($data) {
global $wpdb, $wp_hasher;
$user_data = get_user_by('email', $data['email']);
if ( !$user_data ) return array( 'result' => false );
do_action('lostpassword_post');
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
$message = __('Someone requested that the password be reset for the following account:') . "rnrn";
$message .= network_home_url( '/' ) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "rnrn";
$message .= __('To reset your password, visit the following address:') . "rnrn";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
if ( is_multisite() )
$blogname = $GLOBALS['current_site']->site_name;
else
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$title = sprintf( __('[%s] Password Reset'), $blogname );
$title = apply_filters('retrieve_password_title', $title);
$message = apply_filters('retrieve_password_message', $message, $key);
if ( $message && !wp_mail($user_email, $title, $message) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function...') );
return array( 'result' => true ); }
add_action( 'rest_api_init', function () {
register_rest_route( 'apiuser/v1', '/forgotpwd/(?P<email>S+)', array(
'methods' => 'GET',
'callback' => 'runRetrivePassword'
) );
} );
add a comment |
I found out a way to do that:
function runRetrivePassword($data) {
global $wpdb, $wp_hasher;
$user_data = get_user_by('email', $data['email']);
if ( !$user_data ) return array( 'result' => false );
do_action('lostpassword_post');
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
$message = __('Someone requested that the password be reset for the following account:') . "rnrn";
$message .= network_home_url( '/' ) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "rnrn";
$message .= __('To reset your password, visit the following address:') . "rnrn";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
if ( is_multisite() )
$blogname = $GLOBALS['current_site']->site_name;
else
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$title = sprintf( __('[%s] Password Reset'), $blogname );
$title = apply_filters('retrieve_password_title', $title);
$message = apply_filters('retrieve_password_message', $message, $key);
if ( $message && !wp_mail($user_email, $title, $message) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function...') );
return array( 'result' => true ); }
add_action( 'rest_api_init', function () {
register_rest_route( 'apiuser/v1', '/forgotpwd/(?P<email>S+)', array(
'methods' => 'GET',
'callback' => 'runRetrivePassword'
) );
} );
I found out a way to do that:
function runRetrivePassword($data) {
global $wpdb, $wp_hasher;
$user_data = get_user_by('email', $data['email']);
if ( !$user_data ) return array( 'result' => false );
do_action('lostpassword_post');
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
$message = __('Someone requested that the password be reset for the following account:') . "rnrn";
$message .= network_home_url( '/' ) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "rnrn";
$message .= __('To reset your password, visit the following address:') . "rnrn";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
if ( is_multisite() )
$blogname = $GLOBALS['current_site']->site_name;
else
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$title = sprintf( __('[%s] Password Reset'), $blogname );
$title = apply_filters('retrieve_password_title', $title);
$message = apply_filters('retrieve_password_message', $message, $key);
if ( $message && !wp_mail($user_email, $title, $message) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function...') );
return array( 'result' => true ); }
add_action( 'rest_api_init', function () {
register_rest_route( 'apiuser/v1', '/forgotpwd/(?P<email>S+)', array(
'methods' => 'GET',
'callback' => 'runRetrivePassword'
) );
} );
answered Jan 20 at 11:41
Clever AlmeidaClever Almeida
570820
570820
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53981138%2fhow-to-reset-user-password-by-wordpress-rest-api%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown