Я пытаюсь заменить textarea на wp_editor ()
Элемент формы textarea выглядит следующим образом:
<textarea name="post_text" id="post_text" rows="3"><?php echo $content; ?></textarea>
Тогда у меня есть:
wp_editor( $content, 'post_text' );
Проблема, которую я получаю, – это и форма textarea, и текстовая область wp_editor выводятся на страницу. Почему отображаются оба текстовых поля? Мне нужно только одно текстовое поле для отображения. Все экономит хорошо, у меня просто есть проблема с отображением 2 текстовых полей.
EDIT: Это так же просто, как поставить display: none;
на текстовом поле моей формы, так что отображается только wp_editor () textarea? Это похоже на работу, но кажется немного хаки.
Я нашел решение. Вы можете использовать третий параметр для передачи массива аргументов. Теперь это довольно очевидно, как указано в Codex: http://codex.wordpress.org/Function_Reference/wp_editor
Что немного запутанно (источник моей проблемы) – $ editor_id может содержать только строчные буквы. Поэтому, если ваш скрипт обработки формы ищет что-то с подчеркиванием в нем (как и мое), вам нужно будет сделать это:
$settings = array( 'textarea_name' => 'post_text' ) wp_editor( $content, $editor_id, $settings );
Обратите внимание: вы не можете сделать это:
wp_editor( $content, 'post_text' );
В этом я ошибся.
Если вы поместите текстовую область в свой код
<textarea></textarea>
Тогда, конечно, он появится на странице, вот что он должен делать. Если я не ошибаюсь, я не понимаю, как это не имеет смысла.
Как вы и предполагали, я думаю, что это будет делать то, что вы хотите:
<textarea style="display:none" name="post_text" id="posttext" rows="3"><?php echo $content; ?></textarea>
Он все равно будет функционировать, но невидим.