Добавление нескольких визуальных редакторов для пользовательского типа сообщений

Я проектирую сайт, который будет частью WP-Network; нам сказали, что мы не можем устанавливать плагины.

У меня есть пользовательский тип сообщения, который я добавил в functions.php дочерней темы, которую я пишу. В дополнение к встроенному редактору, который доступен как часть Редактировать сообщение, я хотел бы добавить еще двух визуальных редакторов – я думаю, начиная с версии 3.3, виджет называется wp_editor .

Можно ли добавить их без использования обменных веществ? Я уже использовал WPAlchemy в соответствии с этой статьей , но мне не понравилось, что невозможно переключиться с Visual на Text и на то, что редактор появился внутри другого окна.

Я также видел этот вопрос в WPA, который, похоже, задает тот же вопрос, но ответ также использует WPAlchemy.

Я видел, как использовать wp_editor на интерфейсных страницах, но не как добавить их на страницы редактирования на конец страницы для определенных типов сообщений. Благодарю.

Solutions Collecting From Web of "Добавление нескольких визуальных редакторов для пользовательского типа сообщений"

Это может быть достигнуто с помощью hooks edit_form_after_title и edit_form_after_editor и выполняться как мета-окно. Я заметил «глюк», хотя, если вы меняете Visual / Html в пользовательском wp_editor s, а затем публикуете / обновляете страницу, их состояние будет таким же, как и главный редактор (пост-контент).

В этом примере отредактируйте тип сообщения, page .

 add_action( 'edit_form_after_editor', 'no_metabox_wspe_114084' ); add_action( 'save_post', 'save_wpse_114084', 10, 2 ); function no_metabox_wspe_114084() { global $post; if( 'page' != $post->post_type ) return; $editor1 = get_post_meta( $post->ID, '_custom_editor_1', true); $editor2 = get_post_meta( $post->ID, '_custom_editor_2', true); wp_nonce_field( plugin_basename( __FILE__ ), 'wspe_114084' ); echo '<h2>Aux editor 1</h2>'; echo wp_editor( $editor1, 'custom_editor_1', array( 'textarea_name' => 'custom_editor_1' ) ); echo '<h2>Aux editor 2</h2>'; echo wp_editor( $editor2, 'custom_editor_2', array( 'textarea_name' => 'custom_editor_2' ) ); } function save_wpse_114084( $post_id, $post_object ) { if( !isset( $post_object->post_type ) || 'page' != $post_object->post_type ) return; if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( !isset( $_POST['wspe_114084'] ) || !wp_verify_nonce( $_POST['wspe_114084'], plugin_basename( __FILE__ ) ) ) return; if ( isset( $_POST['custom_editor_1'] ) ) update_post_meta( $post_id, '_custom_editor_1', $_POST['custom_editor_1'] ); if ( isset( $_POST['custom_editor_2'] ) ) update_post_meta( $post_id, '_custom_editor_2', $_POST['custom_editor_2'] ); }