Здравствуйте. Подскажите, как реализовать следующее:
- вывести данные аккаунта отдельно от изменения пароля;
- добавить поле текущий пароль.
Если подытожить, то как кастомизировать форму изменения профиля.
<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)); }