Skip to content

Commit

Permalink
TinyMCE: Run the "wp_editor_settings" and "disable_captions" filters …
Browse files Browse the repository at this point in the history
…for the Classic block. Fixes possible regressions in plugins that use these filters, also plugins that use them to add filters for the buttons, external plugins, etc.

Fixes #45348.



git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43914 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
azaozz committed Nov 21, 2018
1 parent b436ee1 commit b9ac168
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/wp-includes/script-loader.php
Expand Up @@ -486,13 +486,19 @@ function wp_default_packages_inline_scripts( &$scripts ) {
/**
* Adds inline scripts required for the TinyMCE in the block editor.
*
* These TinyMCE init settings are used to extend and override the default settings
* from `_WP_Editors::default_settings()` for the Classic block.
*
* @since 5.0.0
*
* @global WP_Scripts $wp_scripts
*/
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',
Expand All @@ -518,6 +524,13 @@ function wp_tinymce_inline_scripts() {
$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',
Expand Down Expand Up @@ -572,6 +585,14 @@ function wp_tinymce_inline_scripts() {
'classic_block_editor' => true,
);

if ( $disable_captions ) {
$tinymce_settings['wpeditimage_disable_captions'] = true;
}

if ( ! empty( $editor_settings['tinymce'] ) && is_array( $editor_settings['tinymce'] ) ) {
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' );

Expand Down

0 comments on commit b9ac168

Please sign in to comment.