Валидация формы комментария
Как я могу установить правила валидации для поля комментария?
Я изменяю значение полей имени/email/домашней страницы комментатора при событиях onmouseover и onblur (я использую это вместо подсказок - так если поле пустое, оно показывает "Ваш email", "Ваша домашняя страница" и т.д.). Проблема в том, что при отправке формы, этот текст отправляется в поле домашней страницы (поскольку оно не имеет валидации, в отличие от поля email, где вы получаете ошибку, если ввели что-то кроме something@something.something).
Как я могу сделать валидацию поля домашней страницы?

Обработка комментариев происходит в файле: wp-comments-post.php. Вы можете использовать хук pre_comment_on_post
для проверки значений, введенных в полях формы комментария.
function custom_validate_comment_url() {
if( !empty( $_POST['url'] ) && !preg_match( '\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', $_POST['url'] ) // здесь выполняется проверка URL (я не эксперт по регулярным выражениям)
wp_die( __('Ошибка: пожалуйста, введите корректный URL или оставьте поле домашней страницы пустым') );
}
add_action('pre_comment_on_post', 'custom_validate_comment_url');
Если вы хотите изменить отправленное значение, используйте фильтр preprocess_comment
. Например:
function custom_change_comment_url( $commentdata ) {
if( $commentdata['comment_author_url'] == 'Ваша домашняя страница' )
$commentdata['comment_author_url'] = '';
return $commentdata;
}
add_filter('preprocess_comment', 'custom_change_comment_url');

Спасибо! Значит, если я хочу изменить отправленное значение во время валидации, мне нужно его модифицировать? (Основная цель в том, чтобы когда поле comment_author_url отправляется со значением "dummy" "Your homepage", оно менялось на пустое поле - чтобы ссылка не отображалась).
