Описание pre_comment_author_email
— Filter
Хук pre_comment_author_email позволяет изменить адрес электронной почты, введенный пользователем при оставлении комментария. Он срабатывает перед сохранением комментария в базе данных и позволяет модифицировать значение email перед его обработкой
Примеры использования
Пример добавления домена по умолчанию к адресу электронной почты:
add_filter('pre_comment_author_email', function($email) {
if (!strpos($email, '@')) {
$email .= '@example.com';
}
return $email;
});
В этом примере, если пользователь не ввел ‘@’, к его адресу добавляется домен ‘@example.com’.
Пример валидации адреса электронной почты:
add_filter('pre_comment_author_email', function($email) {
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return 'invalid@example.com';
}
return $email;
});
Здесь мы проверяем, является ли адрес электронной почты действительным. Если нет, возвращаем предустановленный адрес.
Пример изменения адреса электронной почты для определенного домена:
add_filter('pre_comment_author_email', function($email) {
if (strpos($email, '@example.com') !== false) {
return 'admin@example.com';
}
return $email;
});
Если пользователь вводит адрес электронной почты с доменом ‘example.com’, мы заменяем его на ‘admin@example.com’.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или валидировать адрес электронной почты комментатора перед его сохранением
– Производительность
Хук не должен существенно влиять на производительность, так как обрабатывается только строка с адресом электронной почты
– Предупреждения
Следите за тем, чтобы изменения не мешали пользователям оставлять комментарии
Альтернативы
Тип: action
Этот хук позволяет обрабатывать весь комментарий перед его сохранением, включая адрес электронной почты
Используйте его, если нужно выполнить более сложную обработку комментария, которая включает в себя не только адрес электронной почты