Как установить ширину WYSIWYG редактора в функции wp_editor()?
Вот мой текущий код:
$initial_data = $this->options['my_plugin_editor'];
$settings = array(
'quicktags' => array('buttons' => 'em,strong,link',),
'quicktags' => true,
'tinymce' => true,
'textarea_rows' => 20,
);
$id = 'my_plugin_editor_options[my_plugin_editor]';
wp_editor($initial_data,$id,$settings);
Проблема в том, что я не могу установить ширину редактора. Я могу задать высоту 'textarea_rows' => 20
, но не знаю, как установить ширину (cols).
Если я использую стандартное текстовое поле без редактора, это работает хорошо: cols="120"
Как установить cols в функции wp_editor?
Есть два параметра, которые можно использовать для изменения размера текстового редактора, создаваемого с помощью wp_editor()
, вот они:
$settings = array(
'editor_height' => 425, // В пикселях, имеет приоритет и не имеет значения по умолчанию
'textarea_rows' => 20, // Не оказывает видимого эффекта, если задан editor_height, по умолчанию 20
);
- Если указан
editor_height
, будет использовано его точное значение - В противном случае
textarea_rows
(или его значение по умолчанию 20) будет использовано для вычисления соответствующей высоты в пикселях
Полезно знать:
Вот несколько примеров результата преобразования из textarea_rows
в пиксели (это выполняется на стороне клиента):
- 0 до 3 => 100
- 4 => 113
- 5 => 133
- 10 => 230
- 15 => 328
- 20 => 425
- ...

$settings = array(
'tinymce' => array(
'width' => 200
)
);
Задает ширину редактора tinymce в 200px. Нашел это здесь: http://www.tinymce.com/wiki.php/Configuration
Когда я попробовал это, цвет фона моего tinymce изменился. Возможно, вам придется подправить это.

Я не уверен, можно ли вообще установить cols"number" в массиве.
Но один из способов достичь желаемого — это добавить класс к вашему wp_editor.
$settings = array(
'quicktags' => array('buttons' => 'em,strong,link',),
'quicktags' => true,
'tinymce' => true,
'textarea_rows' => 20,
'classes' => 'yourclass',
);
или при вызове wp_editor:
<?php wp_editor( $content, $editor_id, $settings = array('editor_class'=>'yourclass') ); ?>
Затем просто задайте ширину в CSS:
.yourclass {
width: 400px !important; //добавьте !important, если ваш стиль переопределяется
}
