Intereting Posts
Дублирующая проблема после бесконечной загрузки Добавить теги к телу wp_editor не добавляет абзацы, несмотря на то, что wpautop устанавливается в true Как get_posts с эскизом сообщения? Как сбросить нумерацию страниц перед импортом? Расширенный поиск мета-полей Возвращаемое значение параметра customizer в functions.php Показать похожие сообщения на single.php, сгруппированные по таксономическим терминам, с выбранным объектом Post Custom Custom Field Различать идентификаторы пользователей и пользователей профиля / получать идентификатор пользователя, редактируемого Рекомендуемый плагин для электронной коммерции для бизнеса по продаже футболок? Как отмечать сообщения как посещаемые Скрыть час от отображения при использовании user_registered Как установить домен без cookie с WordPress? Получите только родительские термины из wp_get_post_terms Отчет об ошибках в памяти

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

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

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

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

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

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

Это может быть достигнуто с помощью 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'] ); }