kilgore_trout
  • 0
Новичок

Подтверждение формы комментариев

  • 0

Как я могу установить правила проверки для поля комментария?

Я меняю значение имени/e-mail/домашней страницы комментатора наmouseover и onblur (использую это вместо меток — поэтому, если поле пусто, оно отображает «Ваш e-mail», «Ваша домашняя страница» и т. д.). Проблема в том, что при отправке он отправляет этот текст в поле домашней страницы (поскольку он не имеет проверки, в отличие от поля электронной почты, где вы получаете сообщение об ошибке, если вы ввели что-либо, кроме something@something.something).

Как я могу проверить поле домашней страницы?

Share
  1. Был аналогичный вопрос о проверке формы в административной области, ответ может соответствовать вашим потребностям: Проверка пользовательских значений метабоксов и обязательных полей

    • 0
  2. Обработка комментариев производится в файле: 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'] ) // do you url validation here (I am not a regex expert)
            wp_die( __('Error: please enter a valid url or leave the homepage field empty') );
    }
    
    add_action('pre_comment_on_post', 'custom_validate_comment_url');
    

    если вы хотите изменить отправленное значение, используйте фильтр preprocess_comment . Например:

    function custom_change_comment_url( $commentdata ) {
        if( $commentdata['comment_author_url'] == 'Your homepage' )
            $commentdata['comment_author_url'] = '';
        return $commentdata;
    }
    
    add_filter('preprocess_comment', 'custom_change_comment_url');
    
    • 0

Оставить ответ

You must login to add an answer.