WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

wp_editor() WP 3.3

Выводит на экран поле формы textarea со стандартным визуальным и HTML редактором WP (TinyMCE). Можно использовать в шаблоне, на страницах типа: запись, постоянная страница и т.д.

Значение параметра editor_id это буквы в нижнем регистре, без тире и подчеркиваний: editpost, mycustomeditor и т.д. Чтобы не было ошибок при использовании WYSIWYG редактора, не нарушайте это правило.

Хуков нет.

Возвращает

Выводит на экран html код формы.

Использование

wp_editor( $content, $editor_id, $settings = array() );

Шаблон использования

wp_editor('content', 'editor_id', array(
	'wpautop'       => 1,
	'media_buttons' => 1,
	'textarea_name' => '', //нужно указывать!
	'textarea_rows' => 20,
	'tabindex'      => null,
	'editor_css'    => '',
	'editor_class'  => '',
	'teeny'         => 0,
	'dfw'           => 0,
	'tinymce'       => 1,
	'quicktags'     => 1,
	'drag_drop_upload' => false
) );
$content(строка) (обязательный)
Заранее установленный текст в поле формы.
По умолчанию: нет
$editor_id(строка) (обязательный)
Идентификатор для полей textarea и TinyMCE. Может содержать только буквы в нижнем регистре (тире, подчеркивание использовать нельзя).
По умолчанию: нет
$settings(массив)
Массив аргументов (см. ниже).
По умолчанию: нет

Аргументы параметра $settings

wpautop(логический)
1 - применять функцию wpautop().
По умолчанию: 1
media_buttons(логический)
Показывать медиа кнопку (вставка/загрузка).
По умолчанию: 1
textarea_name(строка)
значение атрибута name у поля textarea.
По умолчанию: $editor_id
textarea_rows(число)
Количество строк у поля формы. Высота поля ввода текста. По-умолчанию берется значение их настроек админ-панели.
По умолчанию: get_option('default_post_edit_rows', 10)
tabindex(число)
Значение атрибута tabindex у поля textarea.
По умолчанию: нет
editor_css(строка)
Дополнительные CSS стили для редактора. Нужно указывать в теге <style>. Указанный здесь текст будет расположен прям перед формой.
По умолчанию: нет
editor_class(строка)
Дополнительные CSS классы к полю textarea.
По умолчанию: ''
teeny(логический)
Показать урезанный редактор или полный. В урезанном будут скрыта кнопка дополнительной второй панели. А также для него будут работать специальные фильтры и события. 1 - скроет кнопу.
dfw(логический)
Заменить полноэкранный режим по умолчанию на DFW (нужны специальные DOM элементы и CSS).
tinymce(логический/массив)

Загружать визуальный редактор TinyMCE или нет. Можно указать параметры редактора напрямую в массиве array(). Возможные элементы массива: из файла: /wp-includes/class-wp-editor.php:

$set['tinymce']['wp_autoresize_on']

// далее
$mceInit = array (
'selector' => "#$editor_id",
'resize' => 'vertical',
'menubar' => false,
'wpautop' => (bool) $set['wpautop'],
'indent' => ! $set['wpautop'],
'toolbar1' => implode($mce_buttons, ','),
'toolbar2' => implode($mce_buttons_2, ','),
'toolbar3' => implode($mce_buttons_3, ','),
'toolbar4' => implode($mce_buttons_4, ','),
'tabfocus_elements' => $set['tabfocus_elements'],
'body_class' => $body_class
);

// Merge with the first part of the init array
$mceInit = array_merge( self::$first_init, $mceInit );

if ( is_array( $set['tinymce'] ) )
$mceInit = array_merge( $mceInit, $set['tinymce'] );

// где $mce_buttons выглядит так
$mce_buttons = array( 'bold', 'italic', 'strikethrough', 'bullist', 'numlist', 'blockquote', 'hr', 'alignleft', 'aligncenter', 'alignright', 'link', 'unlink', 'wp_more', 'spellchecker' );
// и дополнительные кнопки в массиве:
'fullscreen', 'wp_adv'

// А так выглядит вторая панель кнопок
$mce_buttons_2 = array( 'formatselect', 'underline', 'alignjustify', 'forecolor', 'pastetext', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo' );

Также, изменить набор кнопок можно через фильтры. Вот все фильтры которые отвечают за набор кнопок:

// Если установлена опция teeny (урезанный)
$mce_buttons = apply_filters( 'teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id );

// Если полный редактор
$mce_buttons = apply_filters( 'mce_buttons', $mce_buttons, $editor_id );
$mce_buttons_2 = apply_filters( 'mce_buttons_2', $mce_buttons_2, $editor_id );
$mce_buttons_3 = apply_filters( 'mce_buttons_3', array(), $editor_id );
$mce_buttons_4 = apply_filters( 'mce_buttons_4', array(), $editor_id );

По умолчанию: 1

quicktags(логический/массив)

Загружать HTML редактор или нет. Можно указать параметры напрямую в массиве array(). Возможные элементы массива:

array(
'id' => $editor_id,
'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,fullscreen'
);

По умолчанию: 1

drag_drop_upload(логический)
Включает поддержку Drag-and-Drop при загрузке файлов (с версии WordPress 3.9)
По умолчанию: false

Примеры

#1. TinyMCE на страницах сайта

Выведем поле ввода текста с редактором TinyMCE и HTML редактором, где-нибудь на страницах сайта. Для этого вставим следующий код в шаблон, в то место где нужно вывести такое поле:

<?php wp_editor( '', 'wpeditor', array('textarea_name' => 'content') ); ?>

#2. Заполним поле контентом поста 51:

$post_id = 51;
$post = get_post( $post_id, OBJECT, 'edit' );

$content = $post->post_content;
$editor_id = 'editpost';

wp_editor( $content, $editor_id );

#3. Изменение настроек формы

Мы также может изменить настройки выводимой формы, если базовые нас не устраивают. Например, мы может убрать кнопку добавления медиафайлов:

$settings = array( 'media_buttons' => false );

wp_editor( $content, $editor_id, $settings );

Заметки

Несмотря на то что кнопка с комбинациями клавиш, которые можно использовать визуальном редакторе TyniMCE находится на виду, мало кто знает эти самые комбинации. А еще меньше тех, кто их использует. И порой это очень зря... Взгляните на возможные комбинации и выберите себе хотя бы парочку, наверняка там есть то, что вам постоянно приходится наживать на панели:

Комбинации клавиш в визуальном редакторе WordPress

Код wp editor: wp-includes/general-template.php WP 4.8.1

<?php
function wp_editor( $content, $editor_id, $settings = array() ) {
	if ( ! class_exists( '_WP_Editors', false ) )
		require( ABSPATH . WPINC . '/class-wp-editor.php' );
	_WP_Editors::editor($content, $editor_id, $settings);
}

Cвязанные функции

Из раздела: Без рубрики

wp_editor 29 комментариев
Полезные 2 Вопросы 1 Все
  • Здравствуйте. Можете подсказать почему данные с формы не передаются?
    Вызываю редактор:
    wp_editor( '', 'wpeditor', array('textarea_name' => 'content' ) );
    После беру значения формы и передаю аякосом

    var form = jQuery("#add_project");
    var data = form.serialize();

    Но почему-то поле content всегда пустое.

    • campusboy1743 cайт: wp-plus.ru
      @

      К редактору так просто не обратиться через jQuery. Надо типа так:

      var content = tinyMCE.getContent('editor1');

      В общем, использовать методы самого tinyMCE, их много под разные случаи. Копайте в этом направлении.

  • Денис cайт: blogorazvitie.ru

    Добрый день! Подскажите пожалуйста, как добавить функцию "value" у поля "textarea" в редакторе. Нужно чтобы по умолчанию был какой то текст в редакторе...
    <?php wp_editor('Какой то текст', 'editor_id', array(
    ....
    ));
    Такой вариант не подходит, так как этот текст приходится удалять перед написанием своего!

    Ответить2 месяца назад #
  • Доброго времени.

    У меня не подключается редактор к форме, возможно что-то не понимаю. Появляются только кнопки загрузки, визуально, текст - которые не работают. А текстовое поле просто висит выше.

    Вот код:

        <p>
    		<textarea id="text" name="text"></textarea> 
    <?   
    
    wp_editor('', 'text', array(
    	'wpautop'       => 1,
    	'media_buttons' => 1,
    	'textarea_name' => 'text', //нужно указывать!
    	'textarea_rows' => 20,
    	'tabindex'      => null,
    	'editor_css'    => '',
    	'editor_class'  => '',
    	'teeny'         => 0,
    	'dfw'           => 0,
    	'tinymce'       => 1,
    	'quicktags'     => 1,
    	'drag_drop_upload' => false
    ) );
    
    ?>
    	</p>
    

    Делаю на сайте форму добавления материала для пользователей, когда нашел функцию - wp_editor , обрадовался )), но видно рано.

    Подскажите пожалуйста, что не так.
    Спасибо.

    Ответитьмесяц назад #
  • Ответа так и не дождался. В сети рылся тоже особо ничего не нашел.

    Сегодня пришла мысль, просмотреть шаблон в другом браузере. В Firefox все включилось, правда кнопки в редакторе не работают.

    Ответитьмесяц назад #
    • Какая то ерундовина происходит... если авторизован под админом, то редактор не включается, если же авторизоваться под обычным пользователем, то редактор подключается.
      Кнопки редактора не работают нигде.

      С помощью функции - is_user_logged_in() - сделал проверку, но это ничего не дало, в смысле редактора.

      Убрал совсем в форме свои теги textarea -- результат тот же. Если не авторизовываться - подключается редактор, но кнопки не работают.

      Ответитьмесяц назад #
      • ))) Ответа на дождешься. В общем отключил я плагин - kk Star Ratings - и все стало работать.

        Полезную информацию можно почерпнуть здесь --> http://justseoblog.ru/wordpress/visual-redactor-problem/

        Лишний раз убеждаюсь, что плагины нужно использовать по минимуму.

        Всем удачи smile

        Ответитьмесяц назад #
  • marie

    Есть какая-то возможность изменить размер загружаемого изображения через этот редактор? Насколько я понимаю, он сейчас подгружает thumbnail. Мне бы хотя бы medium нужен

    Ответить4 дня назад #
    • campusboy1743 cайт: wp-plus.ru
      @

      Перед вставкой изображения вы сами выбираете какой размер нужен.

      1
      Ответить3 дня назад #

Здравствуйте, !

Ваш комментарий