wp_enqueue_code_editor( array $args ): array|false
Enqueues assets needed by the code editor for the given settings.
Contents
Description
See also
Parameters
-
$args
array Required -
Args.
type
stringThe MIME type of the file to be edited.file
stringFilename to be edited. Extension is used to sniff the type. Can be supplied as alternative to$type
param.theme
WP_ThemeTheme being edited when on the theme file editor.plugin
stringPlugin being edited when on the plugin file editor.codemirror
arrayAdditional CodeMirror setting overrides.csslint
arrayCSSLint rule overrides.jshint
arrayJSHint rule overrides.htmlhint
arrayHTMLHint rule overrides.
Return
array|false Settings for the enqueued code editor, or false if the editor was not enqueued.
Source
File: wp-includes/general-template.php
.
View all references
function wp_enqueue_code_editor( $args ) {
if ( is_user_logged_in() && 'false' === wp_get_current_user()->syntax_highlighting ) {
return false;
}
$settings = wp_get_code_editor_settings( $args );
if ( empty( $settings ) || empty( $settings['codemirror'] ) ) {
return false;
}
wp_enqueue_script( 'code-editor' );
wp_enqueue_style( 'code-editor' );
if ( isset( $settings['codemirror']['mode'] ) ) {
$mode = $settings['codemirror']['mode'];
if ( is_string( $mode ) ) {
$mode = array(
'name' => $mode,
);
}
if ( ! empty( $settings['codemirror']['lint'] ) ) {
switch ( $mode['name'] ) {
case 'css':
case 'text/css':
case 'text/x-scss':
case 'text/x-less':
wp_enqueue_script( 'csslint' );
break;
case 'htmlmixed':
case 'text/html':
case 'php':
case 'application/x-httpd-php':
case 'text/x-php':
wp_enqueue_script( 'htmlhint' );
wp_enqueue_script( 'csslint' );
wp_enqueue_script( 'jshint' );
if ( ! current_user_can( 'unfiltered_html' ) ) {
wp_enqueue_script( 'htmlhint-kses' );
}
break;
case 'javascript':
case 'application/ecmascript':
case 'application/json':
case 'application/javascript':
case 'application/ld+json':
case 'text/typescript':
case 'application/typescript':
wp_enqueue_script( 'jshint' );
wp_enqueue_script( 'jsonlint' );
break;
}
}
}
wp_add_inline_script( 'code-editor', sprintf( 'jQuery.extend( wp.codeEditor.defaultSettings, %s );', wp_json_encode( $settings ) ) );
/**
* Fires when scripts and styles are enqueued for the code editor.
*
* @since 4.9.0
*
* @param array $settings Settings for the enqueued code editor.
*/
do_action( 'wp_enqueue_code_editor', $settings );
return $settings;
}
Hooks
-
do_action( 'wp_enqueue_code_editor',
array $settings ) -
Fires when scripts and styles are enqueued for the code editor.
Changelog
Version | Description |
---|---|
4.9.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example of how to get code highlighting set on a custom settings textarea.