_WP_Editors::parse_settings()
Parse default arguments for the editor instance.
Method of the class: _WP_Editors{}
Hooks from the method
Return
Array
. Parsed arguments array.
Usage
$result = _WP_Editors::parse_settings( $editor_id, $settings );
- $editor_id(string) (required)
- HTML ID for the textarea and TinyMCE and Quicktags instances. Should not contain square brackets.
- $settings(array) (required)
Array of editor arguments.
-
wpautop(true|false)
Whether to use wpautop().
Default: true -
media_buttons(true|false)
Whether to show the Add Media/other media buttons. -
default_editor(string)
When both TinyMCE and Quicktags are used, set which editor is shown on page load.
Default: '' -
drag_drop_upload(true|false)
Whether to enable drag & drop on the editor uploading. Requires the media modal.
Default: false -
textarea_name(string)
Give the textarea a unique name here. Square brackets can be used here.
Default: $editor_id -
textarea_rows(int)
Number rows in the editor textarea.
Default: 20 -
tabindex(string|int)
Tabindex value to use.
Default: '' -
tabfocus_elements(string)
The previous and next element ID to move the focus to when pressing the Tab key in TinyMCE.
Default: ':prev,:next' -
editor_css(string)
Intended for extra styles for both Visual and Text editors. Should include <style> tags, and can use "scoped".
Default: '' -
editor_class(string)
Extra classes to add to the editor textarea element.
Default: '' -
teeny(true|false)
Whether to output the minimal editor config. Examples include Press This and the Comment editor.
Default: false -
dfw(true|false)
Deprecated in 4.1. Unused. -
tinymce(true|false|array)
Whether to load TinyMCE. Can be used to pass settings directly to TinyMCE using an array.
Default: true - quicktags(true|false|array)
Whether to load Quicktags. Can be used to pass settings directly to Quicktags using an array.
Default: true
-
Changelog
Since 3.3.0 | Introduced. |
_WP_Editors::parse_settings() WP Editors::parse settings code WP 6.7.1
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; }