diff -r 34716fd837a4 -r be944660c56a wp/wp-includes/class-wp-editor.php --- a/wp/wp-includes/class-wp-editor.php Tue Dec 15 15:52:01 2020 +0100 +++ b/wp/wp-includes/class-wp-editor.php Wed Sep 21 18:19:35 2022 +0200 @@ -249,7 +249,7 @@ $toolbar_id = 'qt_' . $editor_id_attr . '_toolbar'; } - $quicktags_toolbar = '
'; + $quicktags_toolbar = '
'; } /** @@ -1300,8 +1300,8 @@ 'Row' => __( 'Row' ), 'Rows' => __( 'Rows' ), - 'Column' => _x( 'Column', 'table column' ), - 'Cols' => _x( 'Cols', 'table columns' ), + 'Column' => __( 'Column' ), + 'Cols' => __( 'Columns' ), 'Cell' => _x( 'Cell', 'table cell' ), 'Header cell' => __( 'Header cell' ), 'Header' => _x( 'Header', 'table header' ), @@ -1663,20 +1663,31 @@ ?> ( function() { - var init, id, $wrap; + var initialized = []; + var initialize = function() { + var init, id, inPostbox, $wrap; + var readyState = document.readyState; - if ( typeof tinymce !== 'undefined' ) { - if ( tinymce.Env.ie && tinymce.Env.ie < 11 ) { - tinymce.$( '.wp-editor-wrap ' ).removeClass( 'tmce-active' ).addClass( 'html-active' ); + if ( readyState !== 'complete' && readyState !== 'interactive' ) { return; } for ( id in tinyMCEPreInit.mceInit ) { - init = tinyMCEPreInit.mceInit[id]; - $wrap = tinymce.$( '#wp-' + id + '-wrap' ); + if ( initialized.indexOf( id ) > -1 ) { + continue; + } + + init = tinyMCEPreInit.mceInit[id]; + $wrap = tinymce.$( '#wp-' + id + '-wrap' ); + inPostbox = $wrap.parents( '.postbox' ).length > 0; - if ( ( $wrap.hasClass( 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( id ) ) && ! init.wp_skip_init ) { + if ( + ! init.wp_skip_init && + ( $wrap.hasClass( 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( id ) ) && + ( readyState === 'complete' || ( ! inPostbox && readyState === 'interactive' ) ) + ) { tinymce.init( init ); + initialized.push( id ); if ( ! window.wpActiveEditor ) { window.wpActiveEditor = id; @@ -1685,6 +1696,18 @@ } } + if ( typeof tinymce !== 'undefined' ) { + if ( tinymce.Env.ie && tinymce.Env.ie < 11 ) { + tinymce.$( '.wp-editor-wrap ' ).removeClass( 'tmce-active' ).addClass( 'html-active' ); + } else { + if ( document.readyState === 'complete' ) { + initialize(); + } else { + document.addEventListener( 'readystatechange', initialize ); + } + } + } + if ( typeof quicktags !== 'undefined' ) { for ( id in tinyMCEPreInit.qtInit ) { quicktags( tinyMCEPreInit.qtInit[id] );