_WP_Editors::editor_js() – Print (output) the TinyMCE configuration and initialization scripts.

You appear to be a bot. Output may be restricted

Description

Print (output) the TinyMCE configuration and initialization scripts.

Usage

_WP_Editors::editor_js();

Parameters

Returns

void

Source

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


Lines:

1 to 100 of 175
  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::_WP_Editors::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' ) . '";';
    }

    ?>

 View on GitHub View on Trac