Проверка email администратора в WordPress 5.3

Кто отдыхает 1 января, тот точно не я 😅 С Новым годом для начала! 🎄

Появилось немного времени и желания рассказать вам про новую, не нужную лично мне, фичу WordPress, появившуюся в версии 5.3.

Экран проверки email администратора в 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 администратора
Обратите внимание, что хук login_footer находится за пределами блока #login и поэтому упрыгивает в левый конец экрана.

Фильтры

Важно! Да, фильтры меняют интервалы, но они не меняют значения, УЖЕ ЗАПИСАННЫЕ в базу данных. Например вы УЖЕ НАЖИМАЛИ кнопку «Адрес 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;
});

Похожие записи

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.