_WP_Editors::parse_settings() WordPress Method

The parse_settings() method in the WP_Editors class is used to parse the editor settings passed in from the user. This is used to determine which editor settings should be used and how they should be parsed. The parse_settings() method accepts an array of editor settings and parses them accordingly.

_WP_Editors::parse_settings( string $editor_id, array $settings ) #

Parse default arguments for the editor instance.


Parameters

$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'
    (bool) Whether to use wpautop(). Default true.
  • 'media_buttons'
    (bool) 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 empty.
  • 'drag_drop_upload'
    (bool) Whether to enable drag & drop on the editor uploading. Default false. Requires the media modal.
  • '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 empty.
  • '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 empty.
  • 'editor_class'
    (string) Extra classes to add to the editor textarea element. Default empty.
  • 'teeny'
    (bool) Whether to output the minimal editor config. Examples include Press This and the Comment editor. Default false.
  • 'dfw'
    (bool) Deprecated in 4.1. Unused.
  • 'tinymce'
    (bool|array) Whether to load TinyMCE. Can be used to pass settings directly to TinyMCE using an array. Default true.
  • 'quicktags'
    (bool|array) Whether to load Quicktags. Can be used to pass settings directly to Quicktags using an array. Default true.


Top ↑

Return

(array) Parsed arguments array.


Top ↑

Source

File: wp-includes/class-wp-editor.php

	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 ( false !== strpos( $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;
	}


Top ↑

Changelog

Changelog
VersionDescription
3.3.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.