Parse default arguments for the editor instance.
Parameters
$editor_id
stringrequired- HTML ID for the textarea and TinyMCE and Quicktags instances.
Should not contain square brackets. $settings
arrayrequired- Array of editor arguments.
wpautop
boolWhether to use wpautop() . Default true.media_buttons
boolWhether to show the Add Media/other media buttons.default_editor
stringWhen both TinyMCE and Quicktags are used, set which editor is shown on page load. Default empty.drag_drop_upload
boolWhether to enable drag & drop on the editor uploading. Default false.
Requires the media modal.textarea_name
stringGive the textarea a unique name here. Square brackets can be used here. Default $editor_id.textarea_rows
intNumber rows in the editor textarea. Default 20.tabindex
string|intTabindex value to use. Default empty.tabfocus_elements
stringThe previous and next element ID to move the focus to when pressing the Tab key in TinyMCE. Default':prev,:next'
.editor_css
stringIntended for extra styles for both Visual and Text editors.
Should include<style>
tags, and can use "scoped". Default empty.editor_class
stringExtra classes to add to the editor textarea element. Default empty.teeny
boolWhether to output the minimal editor config. Examples include Press This and the Comment editor. Default false.dfw
boolDeprecated in 4.1. Unused.tinymce
bool|arrayWhether to load TinyMCE. Can be used to pass settings directly to TinyMCE using an array. Default true.quicktags
bool|arrayWhether to load Quicktags. Can be used to pass settings directly to Quicktags using an array. Default true.
Source
public static function parse_settings( $editor_id, $settings ) {
/**
* Filters the wp_editor() settings.
*
* @since 4.0.0
*
* @see _WP_Editors::parse_settings()
*
* @param array $settings Array of editor arguments.
* @param string $editor_id Unique editor identifier, e.g. 'content'. Accepts 'classic-block'
* when called from block editor's Classic block.
*/
$settings = apply_filters( 'wp_editor_settings', $settings, $editor_id );
$set = wp_parse_args(
$settings,
array(
// Disable autop if the current post has blocks in it.
'wpautop' => ! has_blocks(),
'media_buttons' => true,
'default_editor' => '',
'drag_drop_upload' => false,
'textarea_name' => $editor_id,
'textarea_rows' => 20,
'tabindex' => '',
'tabfocus_elements' => ':prev,:next',
'editor_css' => '',
'editor_class' => '',
'teeny' => false,
'_content_editor_dfw' => false,
'tinymce' => true,
'quicktags' => true,
)
);
self::$this_tinymce = ( $set['tinymce'] && user_can_richedit() );
if ( self::$this_tinymce ) {
if ( str_contains( $editor_id, '[' ) ) {
self::$this_tinymce = false;
_deprecated_argument( 'wp_editor()', '3.9.0', 'TinyMCE editor IDs cannot have brackets.' );
}
}
self::$this_quicktags = (bool) $set['quicktags'];
if ( self::$this_tinymce ) {
self::$has_tinymce = true;
}
if ( self::$this_quicktags ) {
self::$has_quicktags = true;
}
if ( empty( $set['editor_height'] ) ) {
return $set;
}
if ( 'content' === $editor_id && empty( $set['tinymce']['wp_autoresize_on'] ) ) {
// A cookie (set when a user resizes the editor) overrides the height.
$cookie = (int) get_user_setting( 'ed_size' );
if ( $cookie ) {
$set['editor_height'] = $cookie;
}
}
if ( $set['editor_height'] < 50 ) {
$set['editor_height'] = 50;
} elseif ( $set['editor_height'] > 5000 ) {
$set['editor_height'] = 5000;
}
return $set;
}
Hooks
- apply_filters( ‘wp_editor_settings’,
array $settings ,string $editor_id ) Filters the wp_editor() settings.
Changelog
Version | Description |
---|---|
3.3.0 | Introduced. |
Suppose, for example, you want to change the stylesheet for the TinyMCE editor. You could do it like this:
Other settings for TinyMCE can be found at https://codex.wordpress.org/TinyMCE
‘dfw’
(bool) Deprecated in 4.1. Unused.
This is not true.
`dfw` is the fullscreen mode, used in text mode, when for example using the filter `quicktags_settings` it is passed to `$qtInit[‘buttons’]` and if you omit, the full screen mode wont show.
To set height of the editor, use ‘editor_height’ settings as shown in this example below: