Intereting Posts
Почему эта форма поиска не отправляется при нажатии кнопки? Вход в WordPress с использованием данных внешней базы данных Структура файла WordPress Как показать только определенную часть названия записи? Исключить одну категорию из get_the_term_list Как показать изображение Мета под КАЖДОЙ картиной в КАЖДОЙ почте проверить, опубликовал ли автор сообщения в пользовательском типе сообщений, а затем отправить почту Как перенаправить пользователей без разрешения на просмотр содержимого на пользовательскую страницу? Проблема с Multisite и SSL Удалите «-2» из URL-адреса «Типы элементов» с тем же именем Как отладить php-код в hostgator cPanel Переписывание URL с пользовательским мета-мета "/% shop_name% / gallery /% gallery%" вставить несколько записей в базу данных с использованием проблемы с циклом Пустое теги заголовка Страница частично кэширования с супер кешем

Как добавить HTML5, требуемый для wp_editor

Я хочу добавить HTML5, необходимый для проверки на стороне клиента, на textarea, сгенерированный

<?php $content = ''; $editor_id = 'YOURID'; wp_editor( $content, $editor_id ); ?> 

Каков наилучший способ добавить required текст в textarea? Спасибо.

Solutions Collecting From Web of "Как добавить HTML5, требуемый для wp_editor"

Визуальный редактор не является текстовым полем, это iframe, поэтому даже если вы можете установить атрибут, он ничего не сделает. Вы можете установить атрибут в скрытой текстовой области, которая будет отправлена ​​на сервер, но поскольку она скрыта, я не знаю, как будет отображаться предупреждение о том, что она не заполняется, и она может быть разной между браузерами (она скрыта, поэтому есть нет очевидной визуальной привязки для отображения предупреждения)

Я сделал следующее успешно для плагина, который использует несколько визуальных редакторов (только некоторые из которых требуются) на экране администратора.

  1. При создании редактора добавьте класс, уникальный для моего плагина, и укажите, что в этом редакторе требуется содержимое.
  2. Зацепите функцию «the_editor».
  3. Эта функция проверяет, содержит ли разметка для редактора мой собственный класс. Если это так, он добавляет требуемый атрибут.

Я могу стилизовать поле, используя

 textarea[required]:invalid 

и форма генерирует ошибку, если она отправляется, пока это поле пусто (хотя я пока тестировал только в Safari).

Пример кода ниже (этот код был взят из гораздо более крупного класса). Во-первых, выдержка из функции, которая создает редактор.

 $addlClass = ($required) ? 'my-required-field' : ''; $settings = array( 'media_buttons' => false, 'textarea_name' => $fieldName, 'editor_class' => $addlClass ); wp_editor($cleanFld, $fieldId, $settings); 

Тогда, мой крючок:

 add_action('the_editor', array($this, 'CheckIfEditorFieldIsRequired')); 

Наконец, эта функция:

 public function CheckIfEditorFieldIsRequired($editorMarkup) { if (stripos($editorMarkup, 'my-required-field') !== false) { $editorMarkup = str_replace('<textarea', '<textarea required', $editorMarkup); } return $editorMarkup; }