Описание pre_comment_author_url
— Filter
Хук pre_comment_author_url позволяет изменить URL, указанный автором комментария, перед его сохранением в базе данных. Он срабатывает при отправке комментария и позволяет изменить или проверить URL, прежде чем он будет добавлен в комментарий
Примеры использования
Пример добавления ‘http://’ к некорректному URL:
add_filter('pre_comment_author_url', function($url) {
if (!preg_match('/^https?:///', $url)) {
$url = 'http://' . $url;
}
return $url;
});
В этом примере мы добавляем ‘http://’ к URL, если он не начинается с ‘http://’ или ‘https://’
Пример фильтрации URL, чтобы разрешить только определенные домены:
add_filter('pre_comment_author_url', function($url) {
$allowed_domains = ['example.com', 'test.com'];
$parsed_url = parse_url($url);
if (!in_array($parsed_url['host'], $allowed_domains)) {
return ''; // Возвращаем пустую строку для запрещенных доменов
}
return $url;
});
Здесь мы проверяем, что URL принадлежит разрешенному домену, и возвращаем пустую строку для запрещенных
Пример изменения URL на собственный адрес:
add_filter('pre_comment_author_url', function($url) {
return 'https://mywebsite.com';
});
В этом примере мы заменяем любой введенный URL на наш собственный адрес
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или валидировать URL автора комментария перед его сохранением
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются лишь валидации строки
– Предупреждения
Следите за тем, чтобы изменения не нарушали функциональность комментариев, особенно если это касается разрешенных доменов
Альтернативы
Тип: action
Этот хук позволяет производить более обширную обработку данных комментария, включая авторское имя и URL
Используйте его, если нужно выполнять проверки или изменения не только для URL, но и для других данных комментария