Кто отдыхает 1 января, тот точно не я 😅 С Новым годом для начала! 🎄
Появилось немного времени и желания рассказать вам про новую, не нужную лично мне, фичу WordPress, появившуюся в версии 5.3.
С этого экрана можно совершить 4 действия:
- Жмакнуть кнопку «Адрес email верен», после чего вы отправитесь в Консоль сайта с уведомлением благодарности за подтверждение. После этого страница подтверждения емайла не будет появляться следующие 6 месяцев 🎉
- Кликнув кнопку «Обновить», вы отправитесь в Настройки > Общее, где подразумевается, что вы должны проверить и изменить при необходимости емайл администратора. После этого действия экран подтверждения емайла появится в следующий раз при авторизации.
- Ссылка «Напомнить позже» отправит вас в Консоль сайта, в этом случае экран подтверждения появится в следующий раз через 3 дня.
- Вы также можете вернуться к сайту ссылкой «Назад к сайту Название сайта», в этом случае будьте готовы к появлению экрана подтверждения емайла при следующем входе в админку.
Ну и конечно добавлю, что возможно изменить значения интервалов 6 месяцев и 3 дня. Об этом чуть ниже.
Фильтры и Действия
Если вы не уверены, что хорошо разбираетесь в понятиях хуков, фильтров и действий, я очень рекомендую сначала почитать этот всеобъемлющий урок.
Прочитали? Погнали дальше.
Действия
При помощи этих действий вы можете добавить что-нибудь своё в HTML шаблон формы.
admin_email_confirm
– срабатывает сразу перед формой подтверждения емайла и после логотипа WordPress,admin_email_confirm_form
– срабатывает внутри формы, сразу же после открывающегося тега<form>
.
Какого-то специального хука действия после формы пока что не добавлено в ядро, однако вы вполне можете воспользоваться login_footer
, да, он срабатывает на каждой странице входа WordPress типо: форма авторизации, регистрации, восстановления пароля, однако при помощи изишного условия if ( 'confirm_admin_email' === $_GET['action'] )
вы можете ограничить область действия хука, но лучше пример, да?
add_action( 'login_footer', function() { if( 'confirm_admin_email' !== $_GET['action'] ) { return; // выходим из функции, если не на странице подтверждения емайла } // какой-то ваш код } );
Ну и конечно скриншот для наглядности:
Фильтры
Важно! Да, фильтры меняют интервалы, но они не меняют значения, УЖЕ ЗАПИСАННЫЕ в базу данных. Например вы УЖЕ НАЖИМАЛИ кнопку «Адрес email верен», после чего в базу данных, в таблицу wp_options
, под ключом admin_email_lifespan
записалась временная метка через полгода от момента нажатия кнопки, и вы можете делать с фильтрами что захотите, но подверждение появится в след раз только в указанную временную метку.
admin_email_check_interval
– позволяет изменить значение интервала появления формы подтверждения с 6 месяцев на любое другое значение. Обратите внимание, что фильтр получает значение в секундах! А при передачи логическогоfalse
, мы вообще отключаем функцию подтверждения емайла администраторов.admin_email_remind_interval
– позволяет изменить значение интервала появления формы подтверждения после нажатия ссылки «Напомнить позже». Если передатьfalse
, то ссылка «Напомнить позже» исчезает без следа.
В качестве примера давайте сменим значение с 6 месяцев на например 5:
add_filter( 'admin_email_check_interval', function( $interval_in_seconds ) { return 5 * MONTH_IN_SECONDS; // return 5 * DAY_IN_SECONDS; // а может вообще 5 дней поставить? 🙂 } );
Если хотим отключить, то жто делается и вовсе одной строчкой:
add_filter( 'admin_email_check_interval', '__return_false' );
Избавление от ссылки «Напомнить позже»:
add_filter( 'admin_email_remind_interval', function(){ return false; });
Похожие записи
Источник: misha.blog