Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Кастомизация формы обновления профиля в личном кабинете
12ответ(ов) в теме
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
1
09:08
Версия WP-Recall: 16.24.26

Здравствуйте. Подскажите, как реализовать следующее:
- вывести данные аккаунта отдельно от изменения пароля;
- добавить поле текущий пароль.

Если подытожить, то как кастомизировать форму изменения профиля.
<form name="profile" id="your-profile"</form>

Чтобы было понятнее, прилагаю скриншот, как хочу вывести данную форму.

Вы не можете просматривать опубликованные ссылки
0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
2
13:01

Первый вопрос решён. По второму как получить текущий пароль?

$profileFields[] = array(
        'slug'         => 'current_pass',
        'title'         => __('Old password', 'wp-recall'),
        'type'         => 'password',
        'required'     => 1,
        'value'     => 'текущий пароль'
    );

0
Preci
не в сети 6 дней
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
3
15:00

Текущий пароль хранится только в зашифрованном виде

0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
4
16:34

Есть ли возможность проверить текущий пароль?

0
Preci
не в сети 6 дней
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
5
16:45

Я не совсем понял что надо.

Вам надо поле для указания текущего пароля что бы сверить верный ли он?
Или вы хотите вывести после где будет показан текущий пароль юзера

0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
6
16:53

Пользователь введет в 'old password' пароль, я хочу его проверить в php, соответствует ли он текущему паролю, если соответствует я сохраню форму

0
Preci
не в сети 6 дней
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
7
17:22

Вот через этот фильтр добавляйте поле

Вы не можете просматривать опубликованные ссылки

Или через этот если поле должно отображаться в админке в менеджере

Вы не можете просматривать опубликованные ссылки

Затем например отменяете регистрацию хука

Вы не можете просматривать опубликованные ссылки

и делаете свою копию с доп. проверкой

Либо в фильтре

Вы не можете просматривать опубликованные ссылки

проверяете что запрос с фронтенда и пароль из вашего поля верный, если нет - возвращаете false

0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
8
11:10

и пароль из вашего поля верный

Вот это я и не знаю как проверить... 🙁

0
Вова (Otshelnik-Fm)
не в сети 6 дней
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
9
11:15

Погуглите - ваш вопрос всецело по работе вордпресс. Не стоит тут зацикливаться на WP-Recall. От него тут только ЛК. А вам нужен механизм ядра ВП. Узнаете много нового как работает вордпресс "под капотом"

0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
10
11:56

Спасибо, разобрался. Такой код для меня отлично работает

            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

В таком случае, я не смогу плагин обновлять. Как мне реализовать данный код вне этого файла?

0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
11
15:08

Подскажите пожалуйста, где добавить код, чтобы если пользователь user=1 - то редирект был не в ЛК, а в админку /wp-admin/

Редакции сообщения
03.11.2020 15:08НиколайПричина: не указано
0
Николай
не в сети 4 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
12
10:37

Можно как-то изменить функцию /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));
    }

0
Вы не имеете права на публикацию сообщений в этой теме