wp_tinymce_inline_scripts()

In this article

Adds inline scripts required for the TinyMCE in the block editor.

Description

These TinyMCE init settings are used to extend and override the default settings from _WP_Editors::default_settings() for the Classic block.

Source

function wp_tinymce_inline_scripts() {	global $wp_scripts;	/** This filter is documented in wp-includes/class-wp-editor.php */	$editor_settings = apply_filters( 'wp_editor_settings', array( 'tinymce' => true ), 'classic-block' );	$tinymce_plugins = array(	'charmap',	'colorpicker',	'hr',	'lists',	'media',	'paste',	'tabfocus',	'textcolor',	'fullscreen',	'wordpress',	'wpautoresize',	'wpeditimage',	'wpemoji',	'wpgallery',	'wplink',	'wpdialogs',	'wptextpattern',	'wpview',	);	/** This filter is documented in wp-includes/class-wp-editor.php */	$tinymce_plugins = apply_filters( 'tiny_mce_plugins', $tinymce_plugins, 'classic-block' );	$tinymce_plugins = array_unique( $tinymce_plugins );	$disable_captions = false;	// Runs after `tiny_mce_plugins` but before `mce_buttons`.	/** This filter is documented in wp-admin/includes/media.php */	if ( apply_filters( 'disable_captions', '' ) ) {	$disable_captions = true;	}	$toolbar1 = array(	'formatselect',	'bold',	'italic',	'bullist',	'numlist',	'blockquote',	'alignleft',	'aligncenter',	'alignright',	'link',	'unlink',	'wp_more',	'spellchecker',	'wp_add_media',	'wp_adv',	);	/** This filter is documented in wp-includes/class-wp-editor.php */	$toolbar1 = apply_filters( 'mce_buttons', $toolbar1, 'classic-block' );	$toolbar2 = array(	'strikethrough',	'hr',	'forecolor',	'pastetext',	'removeformat',	'charmap',	'outdent',	'indent',	'undo',	'redo',	'wp_help',	);	/** This filter is documented in wp-includes/class-wp-editor.php */	$toolbar2 = apply_filters( 'mce_buttons_2', $toolbar2, 'classic-block' );	/** This filter is documented in wp-includes/class-wp-editor.php */	$toolbar3 = apply_filters( 'mce_buttons_3', array(), 'classic-block' );	/** This filter is documented in wp-includes/class-wp-editor.php */	$toolbar4 = apply_filters( 'mce_buttons_4', array(), 'classic-block' );	/** This filter is documented in wp-includes/class-wp-editor.php */	$external_plugins = apply_filters( 'mce_external_plugins', array(), 'classic-block' );	$tinymce_settings = array(	'plugins' => implode( ',', $tinymce_plugins ),	'toolbar1' => implode( ',', $toolbar1 ),	'toolbar2' => implode( ',', $toolbar2 ),	'toolbar3' => implode( ',', $toolbar3 ),	'toolbar4' => implode( ',', $toolbar4 ),	'external_plugins' => wp_json_encode( $external_plugins ),	'classic_block_editor' => true,	);	if ( $disable_captions ) {	$tinymce_settings['wpeditimage_disable_captions'] = true;	}	if ( ! empty( $editor_settings['tinymce'] ) && is_array( $editor_settings['tinymce'] ) ) {	$tinymce_settings = array_merge( $tinymce_settings, $editor_settings['tinymce'] );	}	/** This filter is documented in wp-includes/class-wp-editor.php */	$tinymce_settings = apply_filters( 'tiny_mce_before_init', $tinymce_settings, 'classic-block' );	/* * Do "by hand" translation from PHP array to js object. * Prevents breakage in some custom settings. */	$init_obj = '';	foreach ( $tinymce_settings as $key => $value ) {	if ( is_bool( $value ) ) {	$val = $value ? 'true' : 'false';	$init_obj .= $key . ':' . $val . ',';	continue;	} elseif ( ! empty( $value ) && is_string( $value ) && (	( '{' === $value[0] && '}' === $value[ strlen( $value ) - 1 ] ) ||	( '[' === $value[0] && ']' === $value[ strlen( $value ) - 1 ] ) ||	preg_match( '/^\(?function ?\(/', $value ) ) ) {	$init_obj .= $key . ':' . $value . ',';	continue;	}	$init_obj .= $key . ':"' . $value . '",';	}	$init_obj = '{' . trim( $init_obj, ' ,' ) . '}';	$script = 'window.wpEditorL10n = {	tinymce: {	baseURL: ' . wp_json_encode( includes_url( 'js/tinymce' ) ) . ',	suffix: ' . ( SCRIPT_DEBUG ? '""' : '".min"' ) . ',	settings: ' . $init_obj . ',	}	}';	$wp_scripts->add_inline_script( 'wp-block-library', $script, 'before' ); } 

Hooks

apply_filters( ‘disable_captions’, bool $bool )

Filters whether to disable captions.

apply_filters( ‘mce_buttons’, array $mce_buttons, string $editor_id )

Filters the first-row list of TinyMCE buttons (Visual tab).

apply_filters( ‘mce_buttons_2’, array $mce_buttons_2, string $editor_id )

Filters the second-row list of TinyMCE buttons (Visual tab).

apply_filters( ‘mce_buttons_3’, array $mce_buttons_3, string $editor_id )

Filters the third-row list of TinyMCE buttons (Visual tab).

apply_filters( ‘mce_buttons_4’, array $mce_buttons_4, string $editor_id )

Filters the fourth-row list of TinyMCE buttons (Visual tab).

apply_filters( ‘mce_external_plugins’, array $external_plugins, string $editor_id )

Filters the list of TinyMCE external plugins.

apply_filters( ‘tiny_mce_before_init’, array $mce_init, string $editor_id )

Filters the TinyMCE config before init.

apply_filters( ‘tiny_mce_plugins’, array $plugins, string $editor_id )

Filters the list of default TinyMCE plugins.

apply_filters( ‘wp_editor_settings’, array $settings, string $editor_id )

Filters the wp_editor() settings.

Changelog

VersionDescription
5.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.