Intereting Posts
Недействительные условные теги ajax wp_query Как тему блоков кода, отформатированных prettify.js, встроенных в WP-Markdown? Регулировка ширины столбца в зависимости от размера изображения Добавление загрузки носителя в пользовательские параметры Панели разрывов «Вставить в сообщение» Добавить новый атрибут данных в тег <img> Когда WordPress завершает встроенные скрипты в CDATA? Почему первый запрос влияет на второй запрос, даже после wp_reset_query () и wp_reset_postdata (), но не на второй странице? Проблемы с файлом wp-config Есть ли способ добавить ссылки Reattach и Unattach в галерею изображений? Multisite – создание плагина для скрытия деактивированных сайтов с обзора сайтов Автообновление WordPress Как применять различные темы с пользовательским дизайном на одном сайте? Как показать список сообщений на статической странице? Проблемы с использованием цикла в статической странице Пропустить первое сообщение в категории Архив Получать post_type от term_id

Поддержка темы HTML5 для комментариев + форма «novalidate» – как правильно ее обрабатывать?

ВВЕДЕНИЕ

Мои исследования основаны на следующих предположениях:

Версия WordPress поддерживает HTML5

Перейдите на любую страницу администратора и проверьте полученный документ. Он должен начинаться с <!DOCTYPE html> .

Тема поддерживает HTML5

Осмотрите любой передний конец документа. Он должен начинаться с <!DOCTYPE html> .

Тема поддерживает HTML5 для комментариев

Разумеется, добавьте это в функции functions.php темы:

 function check_html5_support_for_comments() { if ( !current_theme_supports( 'html5', 'comment-form' ) ) add_theme_support( 'html5', 'comment-form' ); } add_action( 'after_setup_theme', 'check_html5_support_for_comments', 10 ); 

АНАЛИЗ

Давайте покажем и проверим любое сообщение с формой комментария в нем. Разметка для <form> и связанных с ней элементов <input> соответствует требованиям HTML5. Хорошо!

Познакомьтесь с элементом <form> . novalidate атрибут novalidate . Этот атрибут контролирует, кто будет выполнять проверку формы. Если присутствует, то проверка выполняется на стороне сервера, в противном случае – браузером (на стороне клиента).

Здесь есть вопросы, на StackExchange, как удалить атрибут novalidate ? См. Так: Как удалить атрибут novalidate из формы комментария , Почему add_theme_support( 'html5', array( 'comment-form' ) отключает проверку на стороне клиента? (Просто чтобы упомянуть несколько). Некоторые ответы предлагают удалить поддержку темы, которая является плохой выбор, поскольку он убивает соответствие HTML5. Это можно сделать с помощью очень простого сценария jQuery (см. мой ответ на второй вопрос, упомянутый выше).

Почему люди задают эти вопросы? Об этом поясняется один из сообщений об ошибках проверки, созданных WordPress. Сообщение уродливо, как грех, разрушает хороший пользовательский интерфейс, и он не совместим с HTML5!

Первоначально я не мог понять, почему WordPress делает этот произвольный выбор для нас, чтобы добавить атрибут novalidate . Теперь я знаю. Как ни безошибочно, сообщение, созданное WordPress, является переводимым. Это может быть не сразу очевидным для английского говорящего, с браузером, установленным для английского языка, и для просмотра веб-сайтов на английском языке. Для такого пользователя нет проблем.

Я разрабатываю веб-сайты на нескольких языках, и в своем браузере я использую английский язык как язык выбора. Несоответствие языков, между веб-сайтом и браузером, заставляет меня неохотно выбирать проверку на стороне клиента.

ЗАКЛЮЧЕНИЕ И ЗАКЛЮЧИТЕЛЬНЫЙ ВОПРОС

Насколько я старался, я не могу найти способ использовать проверку на стороне клиента, заставляя браузеры полностью соблюдать языковые настройки веб-сайта, и до сих пор я не могу найти разумную альтернативу проверке на стороне сервера, которая является одновременно и переводимой, и HTML5. Если вы знаете решение, поделитесь им со мной и другими разработчиками. Благодарю.

Solutions Collecting From Web of "Поддержка темы HTML5 для комментариев + форма «novalidate» – как правильно ее обрабатывать?"