Здравствуйте. Подскажите, как реализовать следующее:
- вывести данные аккаунта отдельно от изменения пароля;
- добавить поле текущий пароль.
Если подытожить, то как кастомизировать форму изменения профиля.
<form name="profile" id="your-profile"</form>
Чтобы было понятнее, прилагаю скриншот, как хочу вывести данную форму.
Вот через этот фильтр добавляйте поле
Или через этот если поле должно отображаться в админке в менеджере
Затем например отменяете регистрацию хука
и делаете свою копию с доп. проверкой
Либо в фильтре
проверяете что запрос с фронтенда и пароль из вашего поля верный, если нет - возвращаете false
Спасибо, разобрался. Такой код для меня отлично работает
if ( $slug === 'current_pass' ) {
$current_pass = $_POST['current_pass'];
if (!empty($current_pass)) {
$user = get_userdata($user_ID);
if ( $user ) {
$hash = $user->data->user_pass;
if ( wp_check_password( $current_pass, $hash ) ) {
echo "Ok";
} else {
echo "Error";
return false;
}
}
}
}
Но я его добавлял в
/wp-content/plugins/wp-recall/rcl-functions.php - функция rcl_update_profile_fields
В таком случае, я не смогу плагин обновлять. Как мне реализовать данный код вне этого файла?
Можно как-то изменить функцию /wp-recall/functions/authorize.php - rcl_login_user() так, чтобы потом плагин можно было обновлять?
Такой код хочу добавить
if ($userdata->ID == 1) {
wp_redirect(get_site_url() . '/wp-admin/');
} else {
wp_redirect(apply_filters('login_redirect', $url, '', $userdata));
}