Print (output) the TinyMCE configuration and initialization scripts.
Source
public static function editor_js() {
global $tinymce_version;
$tmce_on = ! empty( self::$mce_settings );
$mce_init = '';
$qt_init = '';
if ( $tmce_on ) {
foreach ( self::$mce_settings as $editor_id => $init ) {
$options = self::_parse_init( $init );
$mce_init .= "'$editor_id':{$options},";
}
$mce_init = '{' . trim( $mce_init, ',' ) . '}';
} else {
$mce_init = '{}';
}
if ( ! empty( self::$qt_settings ) ) {
foreach ( self::$qt_settings as $editor_id => $init ) {
$options = self::_parse_init( $init );
$qt_init .= "'$editor_id':{$options},";
}
$qt_init = '{' . trim( $qt_init, ',' ) . '}';
} else {
$qt_init = '{}';
}
$ref = array(
'plugins' => implode( ',', self::$plugins ),
'theme' => 'modern',
'language' => self::$mce_locale,
);
$suffix = SCRIPT_DEBUG ? '' : '.min';
$baseurl = self::get_baseurl();
$version = 'ver=' . $tinymce_version;
/**
* Fires immediately before the TinyMCE settings are printed.
*
* @since 3.2.0
*
* @param array $mce_settings TinyMCE settings array.
*/
do_action( 'before_wp_tiny_mce', self::$mce_settings );
?>
<script type="text/javascript">
tinyMCEPreInit = {
baseURL: "<?php echo $baseurl; ?>",
suffix: "<?php echo $suffix; ?>",
<?php
if ( self::$drag_drop_upload ) {
echo 'dragDropUpload: true,';
}
?>
mceInit: <?php echo $mce_init; ?>,
qtInit: <?php echo $qt_init; ?>,
ref: <?php echo self::_parse_init( $ref ); ?>,
load_ext: function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');}
};
</script>
<?php
if ( $tmce_on ) {
self::print_tinymce_scripts();
if ( self::$ext_plugins ) {
// Load the old-format English strings to prevent unsightly labels in old style popups.
echo "<script type='text/javascript' src='{$baseurl}/langs/wp-langs-en.js?$version'></script>\n";
}
}
/**
* Fires after tinymce.js is loaded, but before any TinyMCE editor
* instances are created.
*
* @since 3.9.0
*
* @param array $mce_settings TinyMCE settings array.
*/
do_action( 'wp_tiny_mce_init', self::$mce_settings );
?>
<script type="text/javascript">
<?php
if ( self::$ext_plugins ) {
echo self::$ext_plugins . "\n";
}
if ( ! is_admin() ) {
echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
}
?>
( function() {
var initialized = [];
var initialize = function() {
var init, id, inPostbox, $wrap;
var readyState = document.readyState;
if ( readyState !== 'complete' && readyState !== 'interactive' ) {
return;
}
for ( id in tinyMCEPreInit.mceInit ) {
if ( initialized.indexOf( id ) > -1 ) {
continue;
}
init = tinyMCEPreInit.mceInit[id];
$wrap = tinymce.$( '#wp-' + id + '-wrap' );
inPostbox = $wrap.parents( '.postbox' ).length > 0;
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;
}
}
}
}
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] );
if ( ! window.wpActiveEditor ) {
window.wpActiveEditor = id;
}
}
}
}());
</script>
<?php
if ( in_array( 'wplink', self::$plugins, true ) || in_array( 'link', self::$qt_buttons, true ) ) {
self::wp_link_dialog();
}
/**
* Fires after any core TinyMCE editor instances are created.
*
* @since 3.2.0
*
* @param array $mce_settings TinyMCE settings array.
*/
do_action( 'after_wp_tiny_mce', self::$mce_settings );
}
Hooks
- do_action( ‘after_wp_tiny_mce’,
array $mce_settings ) Fires after any core TinyMCE editor instances are created.
- do_action( ‘before_wp_tiny_mce’,
array $mce_settings ) Fires immediately before the TinyMCE settings are printed.
- do_action( ‘wp_tiny_mce_init’,
array $mce_settings ) Fires after tinymce.js is loaded, but before any TinyMCE editor instances are created.
Changelog
Version | Description |
---|---|
3.3.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.