Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Повторная отправка подтверждения почты
5ответ(ов) в теме
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
1
13:55
Версия WP-Recall: 16.17.8

Подскажите, как заново отправить на почту ссылку для подтверждения эл.почты?
А где хранится код для подтверждения эл.почты?
Который используется в ссылке:

Вы не можете просматривать опубликованные ссылки
Редакции сообщения
14.05.2019 13:01АндрейПричина: не указано
0
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
2
19:06

Нашел, что есть функция отправки письма для активации регистрации - rcl_register_mail
и находится она в wp-contentpluginswp-recallfunctionsregister.php

Пробую вызвать её из своего плагина, но не находит эту функцию. Проверяю с помощью function_exists, показывает, что нет функции.
Как мне из своего плагина (или правильно сказать дополнения, Add-on) вызвать эту функцию?

0
Вова (Otshelnik-Fm)
не в сети 23 часа
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
3
19:13

Здравствуйте.

Тему перенес в кастомизации.

Если у вас она не определена значит вы отрабатываете на хуке слишком рано. Ничего подробней сказать не могу - не вижу что вы делаете.

p.s. а глянув код данной функции - вы не подумали сделать свою аналогично ровно с тем что вам нужно? Там же основной момент в $confirmstr и $url ниже.

0
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
4
16:42

Здравствуйте.
Обрабатываю поздно, после загрузки всего. Отправка данных через форму (инпут-сабмит). Обработка тут же перед формой, когда уже сформирована страница и вкладка личного кабинета RCL. Поидее уже функция должна была быть определена.

Можно конечно сделать самому свою функцию, но я решил, зачем изобретать велосипед и второе, вдруг что-то в будущем поменяется в образовании кода подтверждения, ссылке. А так не придётся отслеживать изменения и обрабатывать ядром рекола.

0
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
5
18:37

Вообщем сам написал. Решил сделать функцию. Всё довольно таки просто получилось.
Если кому надо, то пользуйтесь:

    function repeat_mail ($user_email) {
        if ( $chk_user = get_user_by('email', $user_email) ) {
            $chk_role = $chk_user->roles;
            if ( $chk_role[0] == "need-confirm" ) {
                // Данные пользователя:
                $user_login = $chk_user->user_login;
                $user_id    = $chk_user->ID;
                // Формируем ссылку подтверждения:
                $confirmstr = base64_encode(
                                json_encode(
                                    array(
                                        $user_login,
                                        md5($user_id)
                                    )
                                )
                            );
                $url  = get_bloginfo('wpurl').'/?rcl-confirmdata='.urlencode($confirmstr);
                // Формируем письмо:
                $eml_sub = "Подтвердите свою регистрацию! ПОВТОРНО";
                $eml_mes = " ... Ваше сообщение ... ";
                // Отправить письмо:
                rcl_mail($user_email, $eml_sub, $eml_mes);
                }
                else { echo " Пользователь <b>$chk_user->display_name</b> уже подтвердил свой e-mail"; }
            }
            else { echo " E-mail: $user_email - не зарегистрирован! "; }
        }

0
Тема закрыта. Публикация новых сообщений запрещена.