2006-05-22 19:16:05 +02:00
< ? php
2008-08-30 21:51:29 +02:00
/**
* WordPress scripts and styles default loader .
*
2009-02-23 09:47:49 +01:00
* Several constants are used to manage the loading , concatenating and compression of scripts and CSS :
2010-02-17 21:25:51 +01:00
* define ( 'SCRIPT_DEBUG' , true ); loads the development ( non - minified ) versions of all scripts and CSS , and disables compression and concatenation ,
2009-11-20 18:44:46 +01:00
* define ( 'CONCATENATE_SCRIPTS' , false ); disables compression and concatenation of scripts and CSS ,
2009-02-23 09:47:49 +01:00
* define ( 'COMPRESS_SCRIPTS' , false ); disables compression of scripts ,
* define ( 'COMPRESS_CSS' , false ); disables compression of CSS ,
* define ( 'ENFORCE_GZIP' , true ); forces gzip for compression ( default is deflate ) .
2009-03-18 03:43:45 +01:00
*
2009-02-23 09:47:49 +01:00
* The globals $concatenate_scripts , $compress_scripts and $compress_css can be set by plugins
* to temporarily override the above settings . Also a compression test is run once and the result is saved
* as option 'can_compress_scripts' ( 0 / 1 ) . The test will run again if that option is deleted .
2009-03-18 03:43:45 +01:00
*
2008-08-30 21:51:29 +02:00
* @ package WordPress
*/
2016-08-31 18:31:29 +02:00
/** WordPress Dependency Class */
require ( ABSPATH . WPINC . '/class-wp-dependency.php' );
/** WordPress Dependencies Class */
require ( ABSPATH . WPINC . '/class.wp-dependencies.php' );
/** WordPress Scripts Class */
require ( ABSPATH . WPINC . '/class.wp-scripts.php' );
2016-02-27 21:34:29 +01:00
/** WordPress Scripts Functions */
2008-05-21 07:56:04 +02:00
require ( ABSPATH . WPINC . '/functions.wp-scripts.php' );
2008-08-30 21:51:29 +02:00
2016-08-31 18:31:29 +02:00
/** WordPress Styles Class */
require ( ABSPATH . WPINC . '/class.wp-styles.php' );
2016-02-27 21:34:29 +01:00
/** WordPress Styles Functions */
2008-05-21 07:56:04 +02:00
require ( ABSPATH . WPINC . '/functions.wp-styles.php' );
2018-10-13 05:51:14 +02:00
/**
* Registers TinyMCE scripts .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
*/
2018-10-17 17:29:26 +02:00
function wp_register_tinymce_scripts ( & $scripts , $force_uncompressed = false ) {
2018-10-13 05:51:14 +02:00
global $tinymce_version , $concatenate_scripts , $compress_scripts ;
$suffix = SCRIPT_DEBUG ? '' : '.min' ;
2018-10-17 17:29:26 +02:00
script_concat_settings ();
2018-10-13 05:51:14 +02:00
$compressed = $compress_scripts && $concatenate_scripts && isset ( $_SERVER [ 'HTTP_ACCEPT_ENCODING' ] )
2018-10-17 17:29:26 +02:00
&& false !== stripos ( $_SERVER [ 'HTTP_ACCEPT_ENCODING' ], 'gzip' ) && ! $force_uncompressed ;
2018-10-13 05:51:14 +02:00
// Load tinymce.js when running from /src, otherwise load wp-tinymce.js.gz (in production) or
// tinymce.min.js (when SCRIPT_DEBUG is true).
$mce_suffix = false !== strpos ( get_bloginfo ( 'version' ), '-src' ) ? '' : '.min' ;
if ( $compressed ) {
$scripts -> add ( 'wp-tinymce' , includes_url ( 'js/tinymce/' ) . 'wp-tinymce.php' , array (), $tinymce_version );
} else {
2018-10-17 17:29:26 +02:00
$scripts -> add ( 'wp-tinymce-root' , includes_url ( 'js/tinymce/' ) . " tinymce $mce_suffix .js " , array (), $tinymce_version );
$scripts -> add ( 'wp-tinymce' , includes_url ( 'js/tinymce/' ) . " plugins/compat3x/plugin $suffix .js " , array ( 'wp-tinymce-root' ), $tinymce_version );
2018-10-13 05:51:14 +02:00
}
2018-10-17 17:29:26 +02:00
$scripts -> add ( 'wp-tinymce-lists' , includes_url ( " js/tinymce/plugins/lists/plugin $suffix .js " , array ( 'wp-tinymce' ), $tinymce_version ) );
2018-10-13 05:51:14 +02:00
}
/**
* Registers all the WordPress vendor scripts that are in the standardized
* `js/dist/vendor/` location .
*
* For the order of `$scripts->add` see `wp_default_scripts` .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
*/
2018-10-17 17:29:26 +02:00
function wp_default_packages_vendor ( & $scripts ) {
2018-10-13 05:51:14 +02:00
wp_register_tinymce_scripts ( $scripts );
2018-10-17 17:29:26 +02:00
$dev_suffix = wp_scripts_get_suffix ( 'dev' );
2018-10-13 05:51:14 +02:00
$vendor_scripts = array (
'react' ,
'react-dom' => array ( 'react' ),
'moment' ,
'lodash' ,
'wp-polyfill-fetch' ,
'wp-polyfill-formdata' ,
'wp-polyfill-node-contains' ,
'wp-polyfill-element-closest' ,
'wp-polyfill-ecmascript' ,
);
foreach ( $vendor_scripts as $handle => $dependencies ) {
if ( is_string ( $dependencies ) ) {
$handle = $dependencies ;
$dependencies = array ();
}
2018-10-19 08:06:46 +02:00
$path = " /wp-includes/js/dist/vendor/ $handle $dev_suffix .js " ;
2018-10-13 05:51:14 +02:00
$scripts -> add ( $handle , $path , $dependencies , false , 1 );
}
$scripts -> add ( 'wp-polyfill' , null , array ( 'wp-polyfill-ecmascript' ) );
did_action ( 'init' ) && $scripts -> add_inline_script (
'wp-polyfill' ,
'data' ,
wp_get_script_polyfill (
$scripts ,
array (
'\'fetch\' in window' => 'wp-polyfill-fetch' ,
'document.contains' => 'wp-polyfill-node-contains' ,
'window.FormData && window.FormData.prototype.keys' => 'wp-polyfill-formdata' ,
'Element.prototype.matches && Element.prototype.closest' => 'wp-polyfill-element-closest' ,
)
)
);
did_action ( 'init' ) && $scripts -> add_inline_script ( 'lodash' , 'window.lodash = _.noConflict();' );
}
/**
* Returns contents of an inline script used in appending polyfill scripts for
* browsers which fail the provided tests . The provided array is a mapping from
* a condition to verify feature support to its polyfill script handle .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
* @ param array $tests Features to detect .
* @ return string Conditional polyfill inline script .
*/
2018-10-17 17:29:26 +02:00
function wp_get_script_polyfill ( & $scripts , $tests ) {
2018-10-13 05:51:14 +02:00
$polyfill = '' ;
foreach ( $tests as $test => $handle ) {
if ( ! array_key_exists ( $handle , $scripts -> registered ) ) {
continue ;
}
$polyfill .= (
// Test presence of feature...
'( ' . $test . ' ) || ' .
// ...appending polyfill on any failures. Cautious viewers may balk
// at the `document.write`. Its caveat of synchronous mid-stream
// blocking write is exactly the behavior we need though.
'document.write( \'<script src="' .
esc_url ( $scripts -> registered [ $handle ] -> src ) .
'"></scr\' + \'ipt>\' );'
);
}
return $polyfill ;
}
/**
2018-10-17 17:29:26 +02:00
* Registers all the WordPress packages scripts that are in the standardized
2018-10-13 05:51:14 +02:00
* `js/dist/` location .
*
* For the order of `$scripts->add` see `wp_default_scripts` .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
*/
2018-10-17 17:29:26 +02:00
function wp_default_packages_scripts ( & $scripts ) {
$suffix = wp_scripts_get_suffix ();
2018-10-13 05:51:14 +02:00
$packages_dependencies = array (
'api-fetch' => array ( 'wp-polyfill' , 'wp-hooks' , 'wp-i18n' ),
'a11y' => array ( 'wp-dom-ready' , 'wp-polyfill' ),
'autop' => array ( 'wp-polyfill' ),
'blob' => array ( 'wp-polyfill' ),
'blocks' => array (
'wp-autop' ,
'wp-blob' ,
'wp-block-serialization-default-parser' ,
'wp-data' ,
'wp-deprecated' ,
'wp-dom' ,
'wp-element' ,
'wp-hooks' ,
'wp-i18n' ,
'wp-is-shallow-equal' ,
'wp-polyfill' ,
'wp-shortcode' ,
'lodash' ,
'wp-rich-text' ,
),
'block-library' => array (
'editor' ,
'lodash' ,
'moment' ,
'wp-api-fetch' ,
'wp-autop' ,
'wp-blob' ,
'wp-blocks' ,
'wp-components' ,
'wp-compose' ,
'wp-core-data' ,
'wp-data' ,
'wp-editor' ,
'wp-element' ,
'wp-html-entities' ,
'wp-i18n' ,
'wp-keycodes' ,
'wp-polyfill' ,
'wp-url' ,
'wp-viewport' ,
'wp-rich-text' ,
),
'block-serialization-default-parser' => array (),
'block-serialization-spec-parser' => array ( 'wp-polyfill' ),
'components' => array (
'lodash' ,
'moment' ,
'wp-a11y' ,
'wp-api-fetch' ,
'wp-compose' ,
'wp-deprecated' ,
'wp-dom' ,
'wp-element' ,
'wp-hooks' ,
'wp-html-entities' ,
'wp-i18n' ,
'wp-is-shallow-equal' ,
'wp-keycodes' ,
'wp-polyfill' ,
'wp-url' ,
'wp-rich-text' ,
),
'compose' => array ( 'lodash' , 'wp-element' , 'wp-is-shallow-equal' , 'wp-polyfill' ),
'core-data' => array ( 'wp-data' , 'wp-api-fetch' , 'wp-polyfill' , 'wp-url' , 'lodash' ),
'data' => array (
'lodash' ,
'wp-compose' ,
'wp-deprecated' ,
'wp-element' ,
'wp-is-shallow-equal' ,
'wp-polyfill' ,
'wp-redux-routine' ,
),
'date' => array ( 'moment' , 'wp-polyfill' ),
'deprecated' => array ( 'wp-polyfill' , 'wp-hooks' ),
'dom' => array ( 'lodash' , 'wp-polyfill' , 'wp-tinymce' ),
'dom-ready' => array ( 'wp-polyfill' ),
'edit-post' => array (
'jquery' ,
'lodash' ,
'postbox' ,
'media-models' ,
'media-views' ,
'wp-a11y' ,
'wp-api-fetch' ,
'wp-block-library' ,
'wp-blocks' ,
'wp-components' ,
'wp-compose' ,
'wp-core-data' ,
'wp-data' ,
'wp-deprecated' ,
'wp-dom-ready' ,
'wp-editor' ,
'wp-element' ,
'wp-embed' ,
'wp-i18n' ,
'wp-keycodes' ,
'wp-nux' ,
'wp-plugins' ,
'wp-polyfill' ,
'wp-url' ,
'wp-viewport' ,
),
'editor' => array (
'jquery' ,
'lodash' ,
'wp-tinymce-lists' ,
'wp-a11y' ,
'wp-api-fetch' ,
'wp-blob' ,
'wp-blocks' ,
'wp-components' ,
'wp-compose' ,
'wp-core-data' ,
'wp-data' ,
'wp-date' ,
'wp-deprecated' ,
'wp-dom' ,
'wp-element' ,
'wp-hooks' ,
'wp-html-entities' ,
'wp-i18n' ,
'wp-is-shallow-equal' ,
'wp-keycodes' ,
'wp-nux' ,
'wp-polyfill' ,
'wp-tinymce' ,
'wp-token-list' ,
'wp-url' ,
'wp-viewport' ,
'wp-wordcount' ,
'wp-rich-text' ,
),
'element' => array ( 'wp-polyfill' , 'react' , 'react-dom' , 'lodash' , 'wp-escape-html' ),
'escape-html' => array ( 'wp-polyfill' ),
'hooks' => array ( 'wp-polyfill' ),
'html-entities' => array ( 'wp-polyfill' ),
'i18n' => array ( 'wp-polyfill' ),
'is-shallow-equal' => array ( 'wp-polyfill' ),
'keycodes' => array ( 'lodash' , 'wp-polyfill' ),
'list-reusable-blocks' => array (
'lodash' ,
'wp-api-fetch' ,
'wp-components' ,
'wp-compose' ,
'wp-element' ,
'wp-i18n' ,
'wp-polyfill' ,
),
'nux' => array (
'wp-element' ,
'wp-components' ,
'wp-compose' ,
'wp-data' ,
'wp-i18n' ,
'wp-polyfill' ,
'lodash' ,
),
'plugins' => array ( 'lodash' , 'wp-compose' , 'wp-element' , 'wp-hooks' , 'wp-polyfill' ),
'redux-routine' => array ( 'wp-polyfill' ),
'rich-text' => array ( 'wp-polyfill' , 'wp-escape-html' , 'lodash' ),
'shortcode' => array ( 'wp-polyfill' , 'lodash' ),
'token-list' => array ( 'lodash' , 'wp-polyfill' ),
'url' => array ( 'wp-polyfill' ),
'viewport' => array ( 'wp-polyfill' , 'wp-element' , 'wp-data' , 'wp-compose' , 'lodash' ),
'wordcount' => array ( 'wp-polyfill' ),
);
foreach ( $packages_dependencies as $package => $dependencies ) {
$handle = 'wp-' . $package ;
2018-10-19 08:06:46 +02:00
$path = " /wp-includes/js/dist/ $package $suffix .js " ;
2018-10-13 05:51:14 +02:00
$scripts -> add ( $handle , $path , $dependencies , false , 1 );
}
}
/**
* Adds inline scripts required for the WordPress JavaScript packages .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
*/
function wp_default_packages_inline_scripts ( & $scripts ) {
global $wp_locale ;
$scripts -> add_inline_script (
'wp-api-fetch' ,
sprintf (
'wp.apiFetch.use( wp.apiFetch.createNonceMiddleware( "%s" ) );' ,
( wp_installing () && ! is_multisite () ) ? '' : wp_create_nonce ( 'wp_rest' )
),
'after'
);
$scripts -> add_inline_script (
'wp-api-fetch' ,
sprintf (
'wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "%s" ) );' ,
esc_url_raw ( get_rest_url () )
),
'after'
);
$scripts -> add_inline_script (
'wp-data' ,
implode (
" \n " ,
array (
'( function() {' ,
' var userId = ' . get_current_user_ID () . ';' ,
' var storageKey = "WP_DATA_USER_" + userId;' ,
' wp.data' ,
' .use( wp.data.plugins.persistence, { storageKey: storageKey } )' ,
' .use( wp.data.plugins.asyncGenerator )' ,
' .use( wp.data.plugins.controls );' ,
'} )()' ,
)
)
);
$scripts -> add_inline_script (
'wp-date' ,
sprintf (
'wp.date.setSettings( %s );' ,
wp_json_encode (
array (
'l10n' => array (
'locale' => get_user_locale (),
'months' => array_values ( $wp_locale -> month ),
'monthsShort' => array_values ( $wp_locale -> month_abbrev ),
'weekdays' => array_values ( $wp_locale -> weekday ),
'weekdaysShort' => array_values ( $wp_locale -> weekday_abbrev ),
'meridiem' => ( object ) $wp_locale -> meridiem ,
'relative' => array (
/* translators: %s: duration */
'future' => __ ( '%s from now' , 'default' ),
/* translators: %s: duration */
'past' => __ ( '%s ago' , 'default' ),
),
),
'formats' => array (
'time' => get_option ( 'time_format' , __ ( 'g:i a' , 'default' ) ),
'date' => get_option ( 'date_format' , __ ( 'F j, Y' , 'default' ) ),
'datetime' => __ ( 'F j, Y g:i a' , 'default' ),
),
'timezone' => array (
'offset' => get_option ( 'gmt_offset' , 0 ),
'string' => get_option ( 'timezone_string' , 'UTC' ),
),
)
)
),
'after'
);
// Loading the old editor and its config to ensure the classic block works as expected.
$scripts -> add_inline_script (
'editor' ,
'window.wp.oldEditor = window.wp.editor;' ,
'after'
);
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
$tinymce_settings = apply_filters (
'tiny_mce_before_init' ,
array (
'plugins' => implode (
',' ,
array_unique (
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
apply_filters (
'tiny_mce_plugins' ,
array (
'charmap' ,
'colorpicker' ,
'hr' ,
'lists' ,
'media' ,
'paste' ,
'tabfocus' ,
'textcolor' ,
'fullscreen' ,
'wordpress' ,
'wpautoresize' ,
'wpeditimage' ,
'wpemoji' ,
'wpgallery' ,
'wplink' ,
'wpdialogs' ,
'wptextpattern' ,
'wpview' ,
)
)
)
),
'toolbar1' => implode (
',' ,
array_merge (
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
apply_filters (
'mce_buttons' ,
array (
'formatselect' ,
'bold' ,
'italic' ,
'bullist' ,
'numlist' ,
'blockquote' ,
'alignleft' ,
'aligncenter' ,
'alignright' ,
'link' ,
'unlink' ,
'wp_more' ,
'spellchecker' ,
'wp_add_media' ,
),
'editor'
),
array ( 'kitchensink' )
)
),
'toolbar2' => implode (
',' ,
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
apply_filters (
'mce_buttons_2' ,
array (
'strikethrough' ,
'hr' ,
'forecolor' ,
'pastetext' ,
'removeformat' ,
'charmap' ,
'outdent' ,
'indent' ,
'undo' ,
'redo' ,
'wp_help' ,
),
'editor'
)
),
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
'toolbar3' => implode ( ',' , apply_filters ( 'mce_buttons_3' , array (), 'editor' ) ),
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
'toolbar4' => implode ( ',' , apply_filters ( 'mce_buttons_4' , array (), 'editor' ) ),
2018-10-17 17:29:26 +02:00
/* This filter is documented in wp-includes/class-wp-editor.php */
2018-10-13 05:51:14 +02:00
'external_plugins' => apply_filters ( 'mce_external_plugins' , array () ),
),
'editor'
);
if ( isset ( $tinymce_settings [ 'style_formats' ] ) && is_string ( $tinymce_settings [ 'style_formats' ] ) ) {
// Decode the options as we used to recommende json_encoding the TinyMCE settings.
$tinymce_settings [ 'style_formats' ] = json_decode ( $tinymce_settings [ 'style_formats' ] );
}
$scripts -> localize (
'wp-block-library' ,
'wpEditorL10n' ,
array (
'tinymce' => array (
'baseURL' => includes_url ( 'js/tinymce' ),
'suffix' => SCRIPT_DEBUG ? '' : '.min' ,
'settings' => $tinymce_settings ,
),
)
);
}
2018-10-17 17:29:26 +02:00
/**
* Registers all the WordPress packages scripts .
*
* @ since 5.0 . 0
*
* @ param WP_Scripts $scripts WP_Scripts object .
*/
function wp_default_packages ( & $scripts ) {
wp_default_packages_vendor ( $scripts );
wp_register_tinymce_scripts ( $scripts );
wp_default_packages_scripts ( $scripts );
if ( did_action ( 'init' ) ) {
wp_default_packages_inline_scripts ( $scripts );
}
}
/**
* Returns the suffix that can be used for the scripts .
*
* There are two suffix types , the normal one and the dev suffix .
*
* @ since 5.0 . 0
*
* @ param string $type The type of suffix to retrieve .
* @ return string The script suffix .
*/
function wp_scripts_get_suffix ( $type = '' ) {
static $suffixes ;
if ( $suffixes === null ) {
include ( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
$develop_src = false !== strpos ( $wp_version , '-src' );
if ( ! defined ( 'SCRIPT_DEBUG' ) ) {
define ( 'SCRIPT_DEBUG' , $develop_src );
}
$suffix = SCRIPT_DEBUG ? '' : '.min' ;
$dev_suffix = $develop_src ? '' : '.min' ;
$suffixes = array ( 'suffix' => $suffix , 'dev_suffix' => $dev_suffix );
}
if ( $type === 'dev' ) {
return $suffixes [ 'dev_suffix' ];
}
return $suffixes [ 'suffix' ];
}
2008-08-30 21:51:29 +02:00
/**
2011-08-03 12:19:00 +02:00
* Register all WordPress scripts .
2008-08-30 21:51:29 +02:00
*
2011-08-03 12:19:00 +02:00
* Localizes some of them .
2016-05-01 19:32:26 +02:00
* args order : `$scripts->add( 'handle', 'url', 'dependencies', 'query-string', 1 );`
2011-08-03 12:19:00 +02:00
* when last arg === 1 queues the script for the footer
2008-08-30 21:51:29 +02:00
*
2008-08-30 23:23:43 +02:00
* @ since 2.6 . 0
2008-08-30 21:51:29 +02:00
*
2015-05-27 21:34:27 +02:00
* @ param WP_Scripts $scripts WP_Scripts object .
2008-08-30 21:51:29 +02:00
*/
2008-05-22 01:24:23 +02:00
function wp_default_scripts ( & $scripts ) {
2018-10-17 17:29:26 +02:00
$suffix = wp_scripts_get_suffix ();
$dev_suffix = wp_scripts_get_suffix ( 'dev' );
2013-09-04 23:16:09 +02:00
if ( ! $guessurl = site_url () ) {
$guessed_url = true ;
2008-06-24 19:36:21 +02:00
$guessurl = wp_guess_url ();
2013-09-04 23:16:09 +02:00
}
2008-10-05 06:43:52 +02:00
2008-06-24 19:36:21 +02:00
$scripts -> base_url = $guessurl ;
2009-01-16 06:45:44 +01:00
$scripts -> content_url = defined ( 'WP_CONTENT_URL' ) ? WP_CONTENT_URL : '' ;
2008-05-21 07:56:04 +02:00
$scripts -> default_version = get_bloginfo ( 'version' );
2014-06-30 01:43:14 +02:00
$scripts -> default_dirs = array ( '/wp-admin/js/' , '/wp-includes/js/' );
2009-01-14 15:18:51 +01:00
2008-05-21 07:56:04 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'utils' , " /wp-includes/js/utils $suffix .js " );
2012-12-04 20:29:56 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'utils' , 'userSettings' , array (
'url' => ( string ) SITECOOKIEPATH ,
2014-08-13 04:47:16 +02:00
'uid' => ( string ) get_current_user_id (),
2012-12-04 20:29:56 +01:00
'time' => ( string ) time (),
2014-08-13 04:47:16 +02:00
'secure' => ( string ) ( 'https' === parse_url ( site_url (), PHP_URL_SCHEME ) ),
2012-12-04 20:29:56 +01:00
) );
2009-01-14 15:18:51 +01:00
2015-10-20 06:29:24 +02:00
$scripts -> add ( 'common' , " /wp-admin/js/common $suffix .js " , array ( 'jquery' , 'hoverIntent' , 'utils' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'common' , 'commonL10n' , array (
2017-05-12 14:50:42 +02:00
'warnDelete' => __ ( " You are about to permanently delete these items from your site. \n This action cannot be undone. \n 'Cancel' to stop, 'OK' to delete. " ),
2016-11-04 18:18:57 +01:00
'dismiss' => __ ( 'Dismiss this notice.' ),
'collapseMenu' => __ ( 'Collapse Main menu' ),
'expandMenu' => __ ( 'Expand Main menu' ),
2009-01-12 14:43:17 +01:00
) );
2008-05-21 07:56:04 +02:00
2015-03-01 20:11:27 +01:00
$scripts -> add ( 'wp-a11y' , " /wp-includes/js/wp-a11y $suffix .js " , array ( 'jquery' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'sack' , " /wp-includes/js/tw-sack $suffix .js " , array (), '1.6.1' , 1 );
2009-01-02 16:08:58 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'quicktags' , " /wp-includes/js/quicktags $suffix .js " , array (), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'quicktags' , 'quicktagsL10n' , array (
2015-06-20 04:16:25 +02:00
'closeAllOpenTags' => __ ( 'Close all open tags' ),
'closeTags' => __ ( 'close tags' ),
2014-10-18 22:11:18 +02:00
'enterURL' => __ ( 'Enter the URL' ),
'enterImageURL' => __ ( 'Enter the URL of the image' ),
'enterImageDescription' => __ ( 'Enter a description of the image' ),
2015-06-20 04:16:25 +02:00
'textdirection' => __ ( 'text direction' ),
'toggleTextdirection' => __ ( 'Toggle Editor Text Direction' ),
'dfw' => __ ( 'Distraction-free writing mode' ),
'strong' => __ ( 'Bold' ),
'strongClose' => __ ( 'Close bold tag' ),
'em' => __ ( 'Italic' ),
'emClose' => __ ( 'Close italic tag' ),
'link' => __ ( 'Insert link' ),
'blockquote' => __ ( 'Blockquote' ),
'blockquoteClose' => __ ( 'Close blockquote tag' ),
'del' => __ ( 'Deleted text (strikethrough)' ),
'delClose' => __ ( 'Close deleted text tag' ),
'ins' => __ ( 'Inserted text' ),
'insClose' => __ ( 'Close inserted text tag' ),
'image' => __ ( 'Insert image' ),
'ul' => __ ( 'Bulleted list' ),
'ulClose' => __ ( 'Close bulleted list tag' ),
'ol' => __ ( 'Numbered list' ),
'olClose' => __ ( 'Close numbered list tag' ),
'li' => __ ( 'List item' ),
'liClose' => __ ( 'Close list item tag' ),
'code' => __ ( 'Code' ),
'codeClose' => __ ( 'Close code tag' ),
'more' => __ ( 'Insert Read More tag' ),
2008-05-21 07:56:04 +02:00
) );
2007-06-14 04:25:30 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'colorpicker' , " /wp-includes/js/colorpicker $suffix .js " , array ( 'prototype' ), '3517m' );
2007-06-14 04:25:30 +02:00
2018-10-18 15:22:26 +02:00
$scripts -> add ( 'editor' , " /wp-admin/js/editor $suffix .js " , array ( 'utils' , 'jquery' ), false , 1 );
2011-05-02 10:10:23 +02:00
2015-06-01 19:38:29 +02:00
// Back-compat for old DFW. To-do: remove at the end of 2016.
$scripts -> add ( 'wp-fullscreen-stub' , " /wp-admin/js/wp-fullscreen-stub $suffix .js " , array (), false , 1 );
2008-03-02 21:17:30 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-ajax-response' , " /wp-includes/js/wp-ajax-response $suffix .js " , array ( 'jquery' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'wp-ajax-response' , 'wpAjax' , array (
2016-06-29 17:16:29 +02:00
'noPerm' => __ ( 'Sorry, you are not allowed to do that.' ),
2018-03-09 01:15:42 +01:00
'broken' => __ ( 'Something went wrong.' )
2008-05-21 07:56:04 +02:00
) );
2008-02-29 10:51:36 +01:00
2017-08-02 18:45:44 +02:00
$scripts -> add ( 'wp-api-request' , " /wp-includes/js/api-request $suffix .js " , array ( 'jquery' ), false , 1 );
// `wpApiSettings` is also used by `wp-api`, which depends on this script.
did_action ( 'init' ) && $scripts -> localize ( 'wp-api-request' , 'wpApiSettings' , array (
'root' => esc_url_raw ( get_rest_url () ),
'nonce' => ( wp_installing () && ! is_multisite () ) ? '' : wp_create_nonce ( 'wp_rest' ),
'versionString' => 'wp/v2/' ,
) );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-pointer' , " /wp-includes/js/wp-pointer $suffix .js " , array ( 'jquery-ui-widget' , 'jquery-ui-position' ), '20111129a' , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'wp-pointer' , 'wpPointerL10n' , array (
2011-11-14 11:30:14 +01:00
'dismiss' => __ ( 'Dismiss' ),
2011-09-18 23:17:09 +02:00
) );
2014-10-22 05:41:18 +02:00
$scripts -> add ( 'autosave' , " /wp-includes/js/autosave $suffix .js " , array ( 'heartbeat' ), false , 1 );
2013-02-14 23:58:04 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'heartbeat' , " /wp-includes/js/heartbeat $suffix .js " , array ( 'jquery' ), false , 1 );
2013-01-29 07:15:25 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'heartbeat' , 'heartbeatSettings' ,
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters the Heartbeat settings .
2014-03-26 06:52:15 +01:00
*
* @ since 3.6 . 0
*
* @ param array $settings Heartbeat settings array .
*/
2013-01-29 07:15:25 +01:00
apply_filters ( 'heartbeat_settings' , array () )
);
2007-06-14 04:25:30 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-auth-check' , " /wp-includes/js/wp-auth-check $suffix .js " , array ( 'heartbeat' ), false , 1 );
2013-03-27 09:43:11 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'wp-auth-check' , 'authcheckL10n' , array (
'beforeunload' => __ ( 'Your session has expired. You can log in again from this page or go to the login page.' ),
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters the authentication check interval .
2014-03-26 06:52:15 +01:00
*
* @ since 3.6 . 0
*
* @ param int $interval The interval in which to check a user ' s authentication .
* Default 3 minutes in seconds , or 180.
*/
2013-07-13 01:32:32 +02:00
'interval' => apply_filters ( 'wp_auth_check_interval' , 3 * MINUTE_IN_SECONDS ),
2013-03-27 09:43:11 +01:00
) );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-lists' , " /wp-includes/js/wp-lists $suffix .js " , array ( 'wp-ajax-response' , 'jquery-color' ), false , 1 );
2007-10-10 00:49:42 +02:00
2012-08-23 02:51:08 +02:00
// WordPress no longer uses or bundles Prototype or script.aculo.us. These are now pulled from an external source.
2015-06-18 17:51:26 +02:00
$scripts -> add ( 'prototype' , 'https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js' , array (), '1.7.1' );
$scripts -> add ( 'scriptaculous-root' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js' , array ( 'prototype' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-builder' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/builder.js' , array ( 'scriptaculous-root' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-dragdrop' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/dragdrop.js' , array ( 'scriptaculous-builder' , 'scriptaculous-effects' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-effects' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/effects.js' , array ( 'scriptaculous-root' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-slider' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/slider.js' , array ( 'scriptaculous-effects' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-sound' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/sound.js' , array ( 'scriptaculous-root' ), '1.9.0' );
$scripts -> add ( 'scriptaculous-controls' , 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/controls.js' , array ( 'scriptaculous-root' ), '1.9.0' );
2012-08-23 02:51:08 +02:00
$scripts -> add ( 'scriptaculous' , false , array ( 'scriptaculous-dragdrop' , 'scriptaculous-slider' , 'scriptaculous-controls' ) );
2008-05-21 07:56:04 +02:00
2009-07-25 12:58:05 +02:00
// not used in core, replaced by Jcrop.js
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'cropper' , '/wp-includes/js/crop/cropper.js' , array ( 'scriptaculous-dragdrop' ) );
2008-05-21 07:56:04 +02:00
2012-12-17 18:29:40 +01:00
// jQuery
2016-05-23 11:00:29 +02:00
$scripts -> add ( 'jquery' , false , array ( 'jquery-core' , 'jquery-migrate' ), '1.12.4' );
$scripts -> add ( 'jquery-core' , '/wp-includes/js/jquery/jquery.js' , array (), '1.12.4' );
2016-05-20 08:11:28 +02:00
$scripts -> add ( 'jquery-migrate' , " /wp-includes/js/jquery/jquery-migrate $suffix .js " , array (), '1.4.1' );
2011-09-23 22:05:13 +02:00
2011-09-23 07:03:31 +02:00
// full jQuery UI
2015-03-11 16:12:27 +01:00
$scripts -> add ( 'jquery-ui-core' , " /wp-includes/js/jquery/ui/core $dev_suffix .js " , array ( 'jquery' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-core' , " /wp-includes/js/jquery/ui/effect $dev_suffix .js " , array ( 'jquery' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-blind' , " /wp-includes/js/jquery/ui/effect-blind $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-bounce' , " /wp-includes/js/jquery/ui/effect-bounce $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-clip' , " /wp-includes/js/jquery/ui/effect-clip $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-drop' , " /wp-includes/js/jquery/ui/effect-drop $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-explode' , " /wp-includes/js/jquery/ui/effect-explode $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-fade' , " /wp-includes/js/jquery/ui/effect-fade $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-fold' , " /wp-includes/js/jquery/ui/effect-fold $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-highlight' , " /wp-includes/js/jquery/ui/effect-highlight $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-puff' , " /wp-includes/js/jquery/ui/effect-puff $dev_suffix .js " , array ( 'jquery-effects-core' , 'jquery-effects-scale' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-pulsate' , " /wp-includes/js/jquery/ui/effect-pulsate $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-scale' , " /wp-includes/js/jquery/ui/effect-scale $dev_suffix .js " , array ( 'jquery-effects-core' , 'jquery-effects-size' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-shake' , " /wp-includes/js/jquery/ui/effect-shake $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-size' , " /wp-includes/js/jquery/ui/effect-size $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-slide' , " /wp-includes/js/jquery/ui/effect-slide $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-effects-transfer' , " /wp-includes/js/jquery/ui/effect-transfer $dev_suffix .js " , array ( 'jquery-effects-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-accordion' , " /wp-includes/js/jquery/ui/accordion $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' ), '1.11.4' , 1 );
2016-03-14 01:53:26 +01:00
$scripts -> add ( 'jquery-ui-autocomplete' , " /wp-includes/js/jquery/ui/autocomplete $dev_suffix .js " , array ( 'jquery-ui-menu' , 'wp-a11y' ), '1.11.4' , 1 );
2015-03-11 16:12:27 +01:00
$scripts -> add ( 'jquery-ui-button' , " /wp-includes/js/jquery/ui/button $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-datepicker' , " /wp-includes/js/jquery/ui/datepicker $dev_suffix .js " , array ( 'jquery-ui-core' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-dialog' , " /wp-includes/js/jquery/ui/dialog $dev_suffix .js " , array ( 'jquery-ui-resizable' , 'jquery-ui-draggable' , 'jquery-ui-button' , 'jquery-ui-position' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-draggable' , " /wp-includes/js/jquery/ui/draggable $dev_suffix .js " , array ( 'jquery-ui-mouse' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-droppable' , " /wp-includes/js/jquery/ui/droppable $dev_suffix .js " , array ( 'jquery-ui-draggable' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-menu' , " /wp-includes/js/jquery/ui/menu $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' , 'jquery-ui-position' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-mouse' , " /wp-includes/js/jquery/ui/mouse $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-position' , " /wp-includes/js/jquery/ui/position $dev_suffix .js " , array ( 'jquery' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-progressbar' , " /wp-includes/js/jquery/ui/progressbar $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-resizable' , " /wp-includes/js/jquery/ui/resizable $dev_suffix .js " , array ( 'jquery-ui-mouse' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-selectable' , " /wp-includes/js/jquery/ui/selectable $dev_suffix .js " , array ( 'jquery-ui-mouse' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-selectmenu' , " /wp-includes/js/jquery/ui/selectmenu $dev_suffix .js " , array ( 'jquery-ui-menu' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-slider' , " /wp-includes/js/jquery/ui/slider $dev_suffix .js " , array ( 'jquery-ui-mouse' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-sortable' , " /wp-includes/js/jquery/ui/sortable $dev_suffix .js " , array ( 'jquery-ui-mouse' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-spinner' , " /wp-includes/js/jquery/ui/spinner $dev_suffix .js " , array ( 'jquery-ui-button' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-tabs' , " /wp-includes/js/jquery/ui/tabs $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-tooltip' , " /wp-includes/js/jquery/ui/tooltip $dev_suffix .js " , array ( 'jquery-ui-core' , 'jquery-ui-widget' , 'jquery-ui-position' ), '1.11.4' , 1 );
$scripts -> add ( 'jquery-ui-widget' , " /wp-includes/js/jquery/ui/widget $dev_suffix .js " , array ( 'jquery' ), '1.11.4' , 1 );
2009-01-14 15:18:51 +01:00
2016-03-02 21:06:26 +01:00
// Strings for 'jquery-ui-autocomplete' live region messages
did_action ( 'init' ) && $scripts -> localize ( 'jquery-ui-autocomplete' , 'uiAutocompleteL10n' , array (
2016-11-17 16:53:33 +01:00
'noResults' => __ ( 'No results found.' ),
2016-03-14 01:53:26 +01:00
/* translators: Number of results found when using jQuery UI Autocomplete */
'oneResult' => __ ( '1 result found. Use up and down arrow keys to navigate.' ),
2016-04-14 05:39:27 +02:00
/* translators: %d: Number of results found when using jQuery UI Autocomplete */
2016-03-14 01:53:26 +01:00
'manyResults' => __ ( '%d results found. Use up and down arrow keys to navigate.' ),
2016-10-15 00:40:28 +02:00
'itemSelected' => __ ( 'Item selected.' ),
2016-03-02 21:06:26 +01:00
) );
2009-07-25 12:58:05 +02:00
// deprecated, not used in core, most functionality is included in jQuery 1.3
2017-08-05 15:00:47 +02:00
$scripts -> add ( 'jquery-form' , " /wp-includes/js/jquery/jquery.form $suffix .js " , array ( 'jquery' ), '4.2.1' , 1 );
2009-01-14 15:18:51 +01:00
2012-04-11 04:20:51 +02:00
// jQuery plugins
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'jquery-color' , " /wp-includes/js/jquery/jquery.color.min.js " , array ( 'jquery' ), '2.1.1' , 1 );
$scripts -> add ( 'schedule' , '/wp-includes/js/jquery/jquery.schedule.js' , array ( 'jquery' ), '20m' , 1 );
$scripts -> add ( 'jquery-query' , " /wp-includes/js/jquery/jquery.query.js " , array ( 'jquery' ), '2.1.7' , 1 );
$scripts -> add ( 'jquery-serialize-object' , " /wp-includes/js/jquery/jquery.serialize-object.js " , array ( 'jquery' ), '0.2' , 1 );
$scripts -> add ( 'jquery-hotkeys' , " /wp-includes/js/jquery/jquery.hotkeys $suffix .js " , array ( 'jquery' ), '0.0.2m' , 1 );
$scripts -> add ( 'jquery-table-hotkeys' , " /wp-includes/js/jquery/jquery.table-hotkeys $suffix .js " , array ( 'jquery' , 'jquery-hotkeys' ), false , 1 );
$scripts -> add ( 'jquery-touch-punch' , " /wp-includes/js/jquery/jquery.ui.touch-punch.js " , array ( 'jquery-ui-widget' , 'jquery-ui-mouse' ), '0.2.2' , 1 );
2014-02-25 20:53:15 +01:00
2016-10-15 00:40:28 +02:00
// Not used any more, registered for backwards compatibility.
$scripts -> add ( 'suggest' , " /wp-includes/js/jquery/suggest $suffix .js " , array ( 'jquery' ), '1.1-20110113' , 1 );
2014-02-25 20:53:15 +01:00
// Masonry v2 depended on jQuery. v3 does not. The older jquery-masonry handle is a shiv.
// It sets jQuery as a dependency, as the theme may have been implicitly loading it this way.
2016-06-28 20:48:31 +02:00
$scripts -> add ( 'imagesloaded' , " /wp-includes/js/imagesloaded.min.js " , array (), '3.2.0' , 1 );
$scripts -> add ( 'masonry' , " /wp-includes/js/masonry.min.js " , array ( 'imagesloaded' ), '3.3.2' , 1 );
2016-08-18 20:55:30 +02:00
$scripts -> add ( 'jquery-masonry' , " /wp-includes/js/jquery/jquery.masonry $dev_suffix .js " , array ( 'jquery' , 'masonry' ), '3.1.2b' , 1 );
2010-08-11 23:54:51 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'thickbox' , " /wp-includes/js/thickbox/thickbox.js " , array ( 'jquery' ), '3.1-20121105' , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'thickbox' , 'thickboxL10n' , array (
2016-03-14 01:53:26 +01:00
'next' => __ ( 'Next >' ),
'prev' => __ ( '< Prev' ),
'image' => __ ( 'Image' ),
'of' => __ ( 'of' ),
'close' => __ ( 'Close' ),
'noiframes' => __ ( 'This feature requires inline frames. You have iframes disabled or your browser does not support them.' ),
'loadingAnimation' => includes_url ( 'js/thickbox/loadingAnimation.gif' ),
2009-11-25 12:08:39 +01:00
) );
2010-01-15 23:11:12 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'jcrop' , " /wp-includes/js/jcrop/jquery.Jcrop.min.js " , array ( 'jquery' ), '0.9.12' );
2009-04-20 20:18:39 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'swfobject' , " /wp-includes/js/swfobject.js " , array (), '2.2-20120417' );
2011-07-29 21:21:21 +02:00
2017-09-22 22:10:48 +02:00
// Error messages for Plupload.
2011-07-29 21:21:21 +02:00
$uploader_l10n = array (
'queue_limit_exceeded' => __ ( 'You have attempted to queue too many files.' ),
2011-11-01 12:56:20 +01:00
'file_exceeds_size_limit' => __ ( '%s exceeds the maximum upload size for this site.' ),
2011-07-29 21:21:21 +02:00
'zero_byte_file' => __ ( 'This file is empty. Please try another.' ),
2017-01-12 07:29:43 +01:00
'invalid_filetype' => __ ( 'Sorry, this file type is not permitted for security reasons.' ),
2011-07-29 21:21:21 +02:00
'not_an_image' => __ ( 'This file is not an image. Please try another.' ),
'image_memory_exceeded' => __ ( 'Memory exceeded. Please try another smaller file.' ),
'image_dimensions_exceeded' => __ ( 'This is larger than the maximum size. Please try another.' ),
'default_error' => __ ( 'An error occurred in the upload. Please try again later.' ),
'missing_upload_url' => __ ( 'There was a configuration error. Please contact the server administrator.' ),
'upload_limit_exceeded' => __ ( 'You may only upload 1 file.' ),
'http_error' => __ ( 'HTTP error.' ),
'upload_failed' => __ ( 'Upload failed.' ),
2016-11-21 02:22:32 +01:00
/* translators: 1: Opening link tag, 2: Closing link tag */
2011-11-13 03:01:13 +01:00
'big_upload_failed' => __ ( 'Please try uploading this file with the %1$sbrowser uploader%2$s.' ),
2011-11-18 02:10:25 +01:00
'big_upload_queued' => __ ( '%s exceeds the maximum upload size for the multi-file uploader when used in your browser.' ),
2011-07-29 21:21:21 +02:00
'io_error' => __ ( 'IO error.' ),
'security_error' => __ ( 'Security error.' ),
'file_cancelled' => __ ( 'File canceled.' ),
'upload_stopped' => __ ( 'Upload stopped.' ),
'dismiss' => __ ( 'Dismiss' ),
'crunching' => __ ( 'Crunching…' ),
'deleted' => __ ( 'moved to the trash.' ),
2011-11-13 03:01:13 +01:00
'error_uploading' => __ ( '“%s” has failed to upload.' )
2011-07-29 21:21:21 +02:00
);
2009-05-17 14:29:58 +02:00
2017-09-22 22:10:48 +02:00
$scripts -> add ( 'moxiejs' , " /wp-includes/js/plupload/moxie $suffix .js " , array (), '1.3.5' );
$scripts -> add ( 'plupload' , " /wp-includes/js/plupload/plupload $suffix .js " , array ( 'moxiejs' ), '2.1.9' );
2014-04-14 02:07:16 +02:00
// Back compat handles:
foreach ( array ( 'all' , 'html5' , 'flash' , 'silverlight' , 'html4' ) as $handle ) {
$scripts -> add ( " plupload- $handle " , false , array ( 'plupload' ), '2.1.1' );
}
2011-07-29 10:59:35 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'plupload-handlers' , " /wp-includes/js/plupload/handlers $suffix .js " , array ( 'plupload' , 'jquery' ) );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'plupload-handlers' , 'pluploadL10n' , $uploader_l10n );
2011-07-29 21:21:21 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-plupload' , " /wp-includes/js/plupload/wp-plupload $suffix .js " , array ( 'plupload' , 'jquery' , 'json2' , 'media-models' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'wp-plupload' , 'pluploadL10n' , $uploader_l10n );
2012-03-15 05:14:05 +01:00
2011-07-29 21:21:21 +02:00
// keep 'swfupload' for back-compat.
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'swfupload' , '/wp-includes/js/swfupload/swfupload.js' , array (), '2201-20110113' );
2017-09-21 18:35:48 +02:00
$scripts -> add ( 'swfupload-all' , false , array ( 'swfupload' ), '2201' );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'swfupload-handlers' , " /wp-includes/js/swfupload/handlers $suffix .js " , array ( 'swfupload-all' , 'jquery' ), '2201-20110524' );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'swfupload-handlers' , 'swfuploadL10n' , $uploader_l10n );
2009-01-14 15:18:51 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'comment-reply' , " /wp-includes/js/comment-reply $suffix .js " , array (), false , 1 );
2008-09-11 21:25:50 +02:00
2015-10-06 17:52:26 +02:00
$scripts -> add ( 'json2' , " /wp-includes/js/json2 $suffix .js " , array (), '2015-05-03' );
2015-02-24 00:04:24 +01:00
did_action ( 'init' ) && $scripts -> add_data ( 'json2' , 'conditional' , 'lt IE 8' );
2009-09-11 00:07:33 +02:00
2016-02-17 16:22:26 +01:00
$scripts -> add ( 'underscore' , " /wp-includes/js/underscore $dev_suffix .js " , array (), '1.8.3' , 1 );
$scripts -> add ( 'backbone' , " /wp-includes/js/backbone $dev_suffix .js " , array ( 'underscore' , 'jquery' ), '1.2.3' , 1 );
2013-05-26 08:43:13 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-util' , " /wp-includes/js/wp-util $suffix .js " , array ( 'underscore' , 'jquery' ), false , 1 );
2013-05-26 08:58:01 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'wp-util' , '_wpUtilSettings' , array (
2013-07-11 02:20:36 +02:00
'ajax' => array (
2013-05-26 08:58:01 +02:00
'url' => admin_url ( 'admin-ajax.php' , 'relative' ),
),
) );
2017-07-15 17:48:46 +02:00
$scripts -> add ( 'wp-sanitize' , " /wp-includes/js/wp-sanitize $suffix .js " , array ( 'jquery' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wp-backbone' , " /wp-includes/js/wp-backbone $suffix .js " , array ( 'backbone' , 'wp-util' ), false , 1 );
2013-02-28 16:14:34 +01:00
2013-07-12 22:34:14 +02:00
$scripts -> add ( 'revisions' , " /wp-admin/js/revisions $suffix .js " , array ( 'wp-backbone' , 'jquery-ui-slider' , 'hoverIntent' ), false , 1 );
2012-08-23 00:24:20 +02:00
2015-07-20 19:27:24 +02:00
$scripts -> add ( 'imgareaselect' , " /wp-includes/js/imgareaselect/jquery.imgareaselect $suffix .js " , array ( 'jquery' ), false , 1 );
2009-09-11 00:07:33 +02:00
2017-10-16 20:07:52 +02:00
$scripts -> add ( 'mediaelement' , false , array ( 'jquery' , 'mediaelement-core' , 'mediaelement-migrate' ), '4.2.6-78496d1' );
2017-10-16 20:15:47 +02:00
$scripts -> add ( 'mediaelement-core' , " /wp-includes/js/mediaelement/mediaelement-and-player $suffix .js " , array (), '4.2.6-78496d1' , 1 );
2017-10-16 20:07:52 +02:00
$scripts -> add ( 'mediaelement-migrate' , " /wp-includes/js/mediaelement/mediaelement-migrate $suffix .js " , array (), false , 1 );
2017-10-18 02:08:45 +02:00
did_action ( 'init' ) && $scripts -> add_inline_script ( 'mediaelement-core' , sprintf ( 'var mejsL10n = %s;' , wp_json_encode ( array (
2018-10-21 17:03:40 +02:00
'language' => strtolower ( strtok ( determine_locale (), '_-' ) ),
2013-07-19 21:21:08 +02:00
'strings' => array (
2017-08-01 06:43:51 +02:00
'mejs.install-flash' => __ ( 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/' ),
'mejs.fullscreen-off' => __ ( 'Turn off Fullscreen' ),
'mejs.fullscreen-on' => __ ( 'Go Fullscreen' ),
'mejs.download-video' => __ ( 'Download Video' ),
'mejs.fullscreen' => __ ( 'Fullscreen' ),
'mejs.time-jump-forward' => array ( __ ( 'Jump forward 1 second' ), __ ( 'Jump forward %1 seconds' ) ),
'mejs.loop' => __ ( 'Toggle Loop' ),
'mejs.play' => __ ( 'Play' ),
'mejs.pause' => __ ( 'Pause' ),
'mejs.close' => __ ( 'Close' ),
'mejs.time-slider' => __ ( 'Time Slider' ),
'mejs.time-help-text' => __ ( 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.' ),
'mejs.time-skip-back' => array ( __ ( 'Skip back 1 second' ), __ ( 'Skip back %1 seconds' ) ),
'mejs.captions-subtitles' => __ ( 'Captions/Subtitles' ),
'mejs.captions-chapters' => __ ( 'Chapters' ),
'mejs.none' => __ ( 'None' ),
'mejs.mute-toggle' => __ ( 'Mute Toggle' ),
'mejs.volume-help-text' => __ ( 'Use Up/Down Arrow keys to increase or decrease volume.' ),
'mejs.unmute' => __ ( 'Unmute' ),
'mejs.mute' => __ ( 'Mute' ),
'mejs.volume-slider' => __ ( 'Volume Slider' ),
'mejs.video-player' => __ ( 'Video Player' ),
'mejs.audio-player' => __ ( 'Audio Player' ),
'mejs.ad-skip' => __ ( 'Skip ad' ),
'mejs.ad-skip-info' => array ( __ ( 'Skip in 1 second' ), __ ( 'Skip in %1 seconds' ) ),
'mejs.source-chooser' => __ ( 'Source Chooser' ),
'mejs.stop' => __ ( 'Stop' ),
'mejs.speed-rate' => __ ( 'Speed Rate' ),
'mejs.live-broadcast' => __ ( 'Live Broadcast' ),
'mejs.afrikaans' => __ ( 'Afrikaans' ),
'mejs.albanian' => __ ( 'Albanian' ),
'mejs.arabic' => __ ( 'Arabic' ),
'mejs.belarusian' => __ ( 'Belarusian' ),
'mejs.bulgarian' => __ ( 'Bulgarian' ),
'mejs.catalan' => __ ( 'Catalan' ),
'mejs.chinese' => __ ( 'Chinese' ),
'mejs.chinese-simplified' => __ ( 'Chinese (Simplified)' ),
'mejs.chinese-traditional' => __ ( 'Chinese (Traditional)' ),
'mejs.croatian' => __ ( 'Croatian' ),
'mejs.czech' => __ ( 'Czech' ),
'mejs.danish' => __ ( 'Danish' ),
'mejs.dutch' => __ ( 'Dutch' ),
'mejs.english' => __ ( 'English' ),
'mejs.estonian' => __ ( 'Estonian' ),
'mejs.filipino' => __ ( 'Filipino' ),
'mejs.finnish' => __ ( 'Finnish' ),
'mejs.french' => __ ( 'French' ),
'mejs.galician' => __ ( 'Galician' ),
'mejs.german' => __ ( 'German' ),
'mejs.greek' => __ ( 'Greek' ),
'mejs.haitian-creole' => __ ( 'Haitian Creole' ),
'mejs.hebrew' => __ ( 'Hebrew' ),
'mejs.hindi' => __ ( 'Hindi' ),
'mejs.hungarian' => __ ( 'Hungarian' ),
'mejs.icelandic' => __ ( 'Icelandic' ),
'mejs.indonesian' => __ ( 'Indonesian' ),
'mejs.irish' => __ ( 'Irish' ),
'mejs.italian' => __ ( 'Italian' ),
'mejs.japanese' => __ ( 'Japanese' ),
'mejs.korean' => __ ( 'Korean' ),
'mejs.latvian' => __ ( 'Latvian' ),
'mejs.lithuanian' => __ ( 'Lithuanian' ),
'mejs.macedonian' => __ ( 'Macedonian' ),
'mejs.malay' => __ ( 'Malay' ),
'mejs.maltese' => __ ( 'Maltese' ),
'mejs.norwegian' => __ ( 'Norwegian' ),
'mejs.persian' => __ ( 'Persian' ),
'mejs.polish' => __ ( 'Polish' ),
'mejs.portuguese' => __ ( 'Portuguese' ),
'mejs.romanian' => __ ( 'Romanian' ),
'mejs.russian' => __ ( 'Russian' ),
'mejs.serbian' => __ ( 'Serbian' ),
'mejs.slovak' => __ ( 'Slovak' ),
'mejs.slovenian' => __ ( 'Slovenian' ),
'mejs.spanish' => __ ( 'Spanish' ),
'mejs.swahili' => __ ( 'Swahili' ),
'mejs.swedish' => __ ( 'Swedish' ),
'mejs.tagalog' => __ ( 'Tagalog' ),
'mejs.thai' => __ ( 'Thai' ),
'mejs.turkish' => __ ( 'Turkish' ),
'mejs.ukrainian' => __ ( 'Ukrainian' ),
'mejs.vietnamese' => __ ( 'Vietnamese' ),
'mejs.welsh' => __ ( 'Welsh' ),
'mejs.yiddish' => __ ( 'Yiddish' ),
),
2017-10-18 02:08:45 +02:00
) ) ), 'before' );
2013-07-19 21:21:08 +02:00
2017-10-16 20:07:52 +02:00
$scripts -> add ( 'mediaelement-vimeo' , " /wp-includes/js/mediaelement/renderers/vimeo.min.js " , array ( 'mediaelement' ), '4.2.6-78496d1' , 1 );
2016-02-29 21:43:26 +01:00
$scripts -> add ( 'wp-mediaelement' , " /wp-includes/js/mediaelement/wp-mediaelement $suffix .js " , array ( 'mediaelement' ), false , 1 );
2015-09-18 22:00:27 +02:00
$mejs_settings = array (
2017-08-01 06:43:51 +02:00
'pluginPath' => includes_url ( 'js/mediaelement/' , 'relative' ),
'classPrefix' => 'mejs-' ,
'stretching' => 'responsive' ,
2015-09-18 22:00:27 +02:00
);
did_action ( 'init' ) && $scripts -> localize ( 'mediaelement' , '_wpmejsSettings' ,
/**
2016-05-22 20:50:28 +02:00
* Filters the MediaElement configuration settings .
2015-09-18 22:00:27 +02:00
*
* @ since 4.4 . 0
*
* @ param array $mejs_settings MediaElement settings array .
*/
apply_filters ( 'mejs_settings' , $mejs_settings )
);
2013-03-16 06:25:44 +01:00
2017-09-22 01:04:45 +02:00
$scripts -> add ( 'wp-codemirror' , '/wp-includes/js/codemirror/codemirror.min.js' , array (), '5.29.1-alpha-ee20357' );
Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.
Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.
Built from https://develop.svn.wordpress.org/trunk@41376
git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 08:08:47 +02:00
$scripts -> add ( 'csslint' , '/wp-includes/js/codemirror/csslint.js' , array (), '1.0.5' );
Remove JSHint due to license compatibility
Backports [42547] without adding new files due to how minor updates work.
JSHint inherits a license from JSLint that includes the clause "The Software shall be used for Good, not Evil." WordPress's license specifically allows grants the freedom to run the program, for any purpose. Please note, this is not an encouragement of evil. Rather than doing something evil, how about learning to love those around you. Instead of tweeting lies and saying people are "Not Good!", help your neighbor. In the words of Lin Manual Miranda, "Love is love is love is love is love is love is love is love, cannot be killed or swept aside."
This replaces JSHint with esprima, a part of the larger jQuery project, and a custom wrapper for some basic error checking within codemirror.
The existing JSHint configuration is kept in place in case someone wants to use that, but they can only do so for Good.
Fixes #42850
Props netweb for a spelling fix on a comment.
Built from https://develop.svn.wordpress.org/branches/4.9@42548
git-svn-id: http://core.svn.wordpress.org/branches/4.9@42377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-23 04:38:41 +01:00
$scripts -> add ( 'jshint' , '/wp-includes/js/codemirror/jshint.js' , array (), '2.9.5.999' );
Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.
Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.
Built from https://develop.svn.wordpress.org/trunk@41376
git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 08:08:47 +02:00
$scripts -> add ( 'jsonlint' , '/wp-includes/js/codemirror/jsonlint.js' , array (), '1.6.2' );
$scripts -> add ( 'htmlhint' , '/wp-includes/js/codemirror/htmlhint.js' , array (), '0.9.14-xwp' );
$scripts -> add ( 'htmlhint-kses' , '/wp-includes/js/codemirror/htmlhint-kses.js' , array ( 'htmlhint' ) );
2017-10-23 22:38:47 +02:00
$scripts -> add ( 'code-editor' , " /wp-admin/js/code-editor $suffix .js " , array ( 'jquery' , 'wp-codemirror' , 'underscore' ) );
2017-10-16 19:59:52 +02:00
$scripts -> add ( 'wp-theme-plugin-editor' , " /wp-admin/js/theme-plugin-editor $suffix .js " , array ( 'wp-util' , 'wp-sanitize' , 'jquery' , 'jquery-ui-core' , 'wp-a11y' , 'underscore' ) );
File Editors: Introduce sandboxed live editing of PHP files with rollbacks for both themes and plugins.
* Edits to active plugins which cause PHP fatal errors will no longer auto-deactivate the plugin. Supersedes #39766.
* Introduce sandboxed PHP file edits for active themes, preventing accidental whitescreening of a user's site when introducing a fatal error.
* After writing a change to a PHP file for an active theme or plugin, perform loopback requests on the file editor admin screens and the homepage to check for fatal errors. If a fatal error is encountered, roll back the edited file and display the error to the user to fix and try again.
* Introduce a secure way to scrape PHP fatal errors from a site via `wp_start_scraping_edited_file_errors()` and `wp_finalize_scraping_edited_file_errors()`.
* Moves file modifications from `theme-editor.php` and `plugin-editor.php` to common `wp_edit_theme_plugin_file()` function.
* Refactor themes and plugin editors to submit file changes via Ajax instead of doing full page refreshes when JS is available.
* Use `get` method for theme/plugin dropdowns.
* Improve styling of plugin editors, including width of plugin/theme dropdowns.
* Improve notices API for theme/plugin editor JS component.
* Strip common base directory from plugin file list. See #24048.
* Factor out functions to list editable file types in `wp_get_theme_file_editable_extensions()` and `wp_get_plugin_file_editable_extensions()`.
* Scroll to line in editor that has linting error when attempting to save. See #41886.
* Add checkbox to dismiss lint errors to proceed with saving. See #41887.
* Only style the Update File button as disabled instead of actually disabling it for accessibility reasons.
* Ensure that value from CodeMirror is used instead of `textarea` when CodeMirror is present.
* Add "Are you sure?" check when leaving editor when there are unsaved changes.
Supersedes [41560].
See #39766, #24048, #41886.
Props westonruter, Clorith, melchoyce, johnbillion, jjj, jdgrimes, azaozz.
Fixes #21622, #41887.
Built from https://develop.svn.wordpress.org/trunk@41721
git-svn-id: http://core.svn.wordpress.org/trunk@41555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 02:20:45 +02:00
did_action ( 'init' ) && $scripts -> add_inline_script ( 'wp-theme-plugin-editor' , sprintf ( 'wp.themePluginEditor.l10n = %s;' , wp_json_encode ( array (
'saveAlert' => __ ( 'The changes you made will be lost if you navigate away from this page.' ),
2017-10-10 07:27:49 +02:00
'saveError' => __ ( 'Something went wrong. Your change may not have been saved. Please try again. There is also a chance that you may need to manually fix and upload the file over FTP.' ),
2017-11-13 08:09:35 +01:00
'lintError' => array (
File Editors: Introduce sandboxed live editing of PHP files with rollbacks for both themes and plugins.
* Edits to active plugins which cause PHP fatal errors will no longer auto-deactivate the plugin. Supersedes #39766.
* Introduce sandboxed PHP file edits for active themes, preventing accidental whitescreening of a user's site when introducing a fatal error.
* After writing a change to a PHP file for an active theme or plugin, perform loopback requests on the file editor admin screens and the homepage to check for fatal errors. If a fatal error is encountered, roll back the edited file and display the error to the user to fix and try again.
* Introduce a secure way to scrape PHP fatal errors from a site via `wp_start_scraping_edited_file_errors()` and `wp_finalize_scraping_edited_file_errors()`.
* Moves file modifications from `theme-editor.php` and `plugin-editor.php` to common `wp_edit_theme_plugin_file()` function.
* Refactor themes and plugin editors to submit file changes via Ajax instead of doing full page refreshes when JS is available.
* Use `get` method for theme/plugin dropdowns.
* Improve styling of plugin editors, including width of plugin/theme dropdowns.
* Improve notices API for theme/plugin editor JS component.
* Strip common base directory from plugin file list. See #24048.
* Factor out functions to list editable file types in `wp_get_theme_file_editable_extensions()` and `wp_get_plugin_file_editable_extensions()`.
* Scroll to line in editor that has linting error when attempting to save. See #41886.
* Add checkbox to dismiss lint errors to proceed with saving. See #41887.
* Only style the Update File button as disabled instead of actually disabling it for accessibility reasons.
* Ensure that value from CodeMirror is used instead of `textarea` when CodeMirror is present.
* Add "Are you sure?" check when leaving editor when there are unsaved changes.
Supersedes [41560].
See #39766, #24048, #41886.
Props westonruter, Clorith, melchoyce, johnbillion, jjj, jdgrimes, azaozz.
Fixes #21622, #41887.
Built from https://develop.svn.wordpress.org/trunk@41721
git-svn-id: http://core.svn.wordpress.org/trunk@41555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 02:20:45 +02:00
/* translators: %d: error count */
2017-11-13 08:09:35 +01:00
'singular' => _n ( 'There is %d error which must be fixed before you can update this file.' , 'There are %d errors which must be fixed before you can update this file.' , 1 ),
/* translators: %d: error count */
'plural' => _n ( 'There is %d error which must be fixed before you can update this file.' , 'There are %d errors which must be fixed before you can update this file.' , 2 ), // @todo This is lacking, as some languages have a dedicated dual form. For proper handling of plurals in JS, see #20491.
File Editors: Introduce sandboxed live editing of PHP files with rollbacks for both themes and plugins.
* Edits to active plugins which cause PHP fatal errors will no longer auto-deactivate the plugin. Supersedes #39766.
* Introduce sandboxed PHP file edits for active themes, preventing accidental whitescreening of a user's site when introducing a fatal error.
* After writing a change to a PHP file for an active theme or plugin, perform loopback requests on the file editor admin screens and the homepage to check for fatal errors. If a fatal error is encountered, roll back the edited file and display the error to the user to fix and try again.
* Introduce a secure way to scrape PHP fatal errors from a site via `wp_start_scraping_edited_file_errors()` and `wp_finalize_scraping_edited_file_errors()`.
* Moves file modifications from `theme-editor.php` and `plugin-editor.php` to common `wp_edit_theme_plugin_file()` function.
* Refactor themes and plugin editors to submit file changes via Ajax instead of doing full page refreshes when JS is available.
* Use `get` method for theme/plugin dropdowns.
* Improve styling of plugin editors, including width of plugin/theme dropdowns.
* Improve notices API for theme/plugin editor JS component.
* Strip common base directory from plugin file list. See #24048.
* Factor out functions to list editable file types in `wp_get_theme_file_editable_extensions()` and `wp_get_plugin_file_editable_extensions()`.
* Scroll to line in editor that has linting error when attempting to save. See #41886.
* Add checkbox to dismiss lint errors to proceed with saving. See #41887.
* Only style the Update File button as disabled instead of actually disabling it for accessibility reasons.
* Ensure that value from CodeMirror is used instead of `textarea` when CodeMirror is present.
* Add "Are you sure?" check when leaving editor when there are unsaved changes.
Supersedes [41560].
See #39766, #24048, #41886.
Props westonruter, Clorith, melchoyce, johnbillion, jjj, jdgrimes, azaozz.
Fixes #21622, #41887.
Built from https://develop.svn.wordpress.org/trunk@41721
git-svn-id: http://core.svn.wordpress.org/trunk@41555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 02:20:45 +02:00
),
Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.
Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.
Built from https://develop.svn.wordpress.org/trunk@41376
git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 08:08:47 +02:00
) ) ) );
2016-02-29 21:43:26 +01:00
$scripts -> add ( 'wp-playlist' , " /wp-includes/js/mediaelement/wp-playlist $suffix .js " , array ( 'wp-util' , 'backbone' , 'mediaelement' ), false , 1 );
2014-02-24 19:08:16 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'zxcvbn-async' , " /wp-includes/js/zxcvbn-async $suffix .js " , array (), '1.0' );
2013-08-28 18:09:10 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'zxcvbn-async' , '_zxcvbnSettings' , array (
2014-06-30 01:43:14 +02:00
'src' => empty ( $guessed_url ) ? includes_url ( '/js/zxcvbn.min.js' ) : $scripts -> base_url . '/wp-includes/js/zxcvbn.min.js' ,
2013-08-28 18:09:10 +02:00
) );
$scripts -> add ( 'password-strength-meter' , " /wp-admin/js/password-strength-meter $suffix .js " , array ( 'jquery' , 'zxcvbn-async' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'password-strength-meter' , 'pwsL10n' , array (
2016-07-01 14:45:29 +02:00
'unknown' => _x ( 'Password strength unknown' , 'password strength' ),
2015-07-11 22:48:24 +02:00
'short' => _x ( 'Very weak' , 'password strength' ),
'bad' => _x ( 'Weak' , 'password strength' ),
'good' => _x ( 'Medium' , 'password strength' ),
'strong' => _x ( 'Strong' , 'password strength' ),
'mismatch' => _x ( 'Mismatch' , 'password mismatch' ),
2010-10-27 08:57:10 +02:00
) );
2014-12-16 10:15:23 +01:00
$scripts -> add ( 'user-profile' , " /wp-admin/js/user-profile $suffix .js " , array ( 'jquery' , 'password-strength-meter' , 'wp-util' ), false , 1 );
2015-07-14 00:35:24 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'user-profile' , 'userProfileL10n' , array (
2015-07-22 20:36:24 +02:00
'warn' => __ ( 'Your new password has not been saved.' ),
2016-08-12 16:12:32 +02:00
'warnWeak' => __ ( 'Confirm use of weak password' ),
2015-07-22 20:36:24 +02:00
'show' => __ ( 'Show' ),
'hide' => __ ( 'Hide' ),
'cancel' => __ ( 'Cancel' ),
2015-07-22 02:15:25 +02:00
'ariaShow' => esc_attr__ ( 'Show password' ),
'ariaHide' => esc_attr__ ( 'Hide password' ),
2015-07-14 00:35:24 +02:00
) );
2014-07-08 02:30:14 +02:00
$scripts -> add ( 'language-chooser' , " /wp-admin/js/language-chooser $suffix .js " , array ( 'jquery' ), false , 1 );
2010-10-29 09:25:58 +02:00
2012-06-05 20:51:33 +02:00
$scripts -> add ( 'user-suggest' , " /wp-admin/js/user-suggest $suffix .js " , array ( 'jquery-ui-autocomplete' ), false , 1 );
2012-03-24 05:54:58 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'admin-bar' , " /wp-includes/js/admin-bar $suffix .js " , array (), false , 1 );
2010-11-18 08:59:05 +01:00
2016-03-14 01:53:26 +01:00
$scripts -> add ( 'wplink' , " /wp-includes/js/wplink $suffix .js " , array ( 'jquery' , 'wp-a11y' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'wplink' , 'wpLinkL10n' , array (
2011-04-23 04:12:56 +02:00
'title' => __ ( 'Insert/edit link' ),
2010-11-20 20:27:12 +01:00
'update' => __ ( 'Update' ),
2010-12-23 16:22:05 +01:00
'save' => __ ( 'Add Link' ),
2010-12-06 17:28:06 +01:00
'noTitle' => __ ( '(no title)' ),
2016-03-14 01:53:26 +01:00
'noMatchesFound' => __ ( 'No results found.' ),
'linkSelected' => __ ( 'Link selected.' ),
'linkInserted' => __ ( 'Link inserted.' ),
2010-11-18 07:22:13 +01:00
) );
2010-11-18 08:59:05 +01:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'wpdialogs' , " /wp-includes/js/wpdialog $suffix .js " , array ( 'jquery-ui-dialog' ), false , 1 );
2010-11-17 19:47:34 +01:00
2015-06-19 12:35:26 +02:00
$scripts -> add ( 'word-count' , " /wp-admin/js/word-count $suffix .js " , array (), false , 1 );
2011-08-03 12:19:00 +02:00
2012-11-21 17:46:32 +01:00
$scripts -> add ( 'media-upload' , " /wp-admin/js/media-upload $suffix .js " , array ( 'thickbox' , 'shortcode' ), false , 1 );
2011-08-03 12:19:00 +02:00
2015-03-11 18:15:27 +01:00
$scripts -> add ( 'hoverIntent' , " /wp-includes/js/hoverIntent $suffix .js " , array ( 'jquery' ), '1.8.1' , 1 );
2011-11-21 20:14:22 +01:00
2015-07-18 19:10:25 +02:00
$scripts -> add ( 'customize-base' , " /wp-includes/js/customize-base $suffix .js " , array ( 'jquery' , 'json2' , 'underscore' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'customize-loader' , " /wp-includes/js/customize-loader $suffix .js " , array ( 'customize-base' ), false , 1 );
Customize: Implement customized state persistence with changesets.
Includes infrastructure developed in the Customize Snapshots feature plugin.
See https://make.wordpress.org/core/2016/10/12/customize-changesets-technical-design-decisions/
Props westonruter, valendesigns, utkarshpatel, stubgo, lgedeon, ocean90, ryankienstra, mihai2u, dlh, aaroncampbell, jonathanbardo, jorbin.
See #28721.
See #31089.
Fixes #30937.
Fixes #31517.
Fixes #30028.
Fixes #23225.
Fixes #34142.
Fixes #36485.
Built from https://develop.svn.wordpress.org/trunk@38810
git-svn-id: http://core.svn.wordpress.org/trunk@38753 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-18 22:05:31 +02:00
$scripts -> add ( 'customize-preview' , " /wp-includes/js/customize-preview $suffix .js " , array ( 'wp-a11y' , 'customize-base' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'customize-models' , " /wp-includes/js/customize-models.js " , array ( 'underscore' , 'backbone' ), false , 1 );
2015-07-15 21:54:25 +02:00
$scripts -> add ( 'customize-views' , " /wp-includes/js/customize-views.js " , array ( 'jquery' , 'underscore' , 'imgareaselect' , 'customize-models' , 'media-editor' , 'media-views' ), false , 1 );
2017-10-12 06:01:46 +02:00
$scripts -> add ( 'customize-controls' , " /wp-admin/js/customize-controls $suffix .js " , array ( 'customize-base' , 'wp-a11y' , 'wp-util' , 'jquery-ui-core' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'customize-controls' , '_wpCustomizeControlsL10n' , array (
Customize: Introduce drafting and scheduling for Customizer changesets.
* Incorporates code from the Customize Snapshots and Customize Posts feature plugins.
* Adds a new Publish Settings section for managing the changeset status, scheduled date, and frontend preview link.
* Updates Publish button to reflect the status selected in the Publish Settings (including Save Draft and Schedule).
* Deactivates the Themes section when a non-publish status selected, and deactivates the Publish Settings section when previewing a theme switch.
* Introduces an `outer` section type (`wp.customize.OuterSection` in JS) for the Publish Settings section to use and for available widgets and available nav menu panels to use in the future. These sections can be expanded while other sections are expanded.
* Introduces `WP_Customize_Date_Time_Control` in PHP and `wp.customize.DateTimeControl` in JS for managing a date/time value.
* Keeps track of scheduled time and proactively publish from the client when the time arrives, as opposed to waiting for WP Cron.
* Auto-publishes a scheduled changeset when attempting to access one that missed its schedule.
* Starts a new changeset if attempting to save a changeset that was previously publish.
* Adds `force` arg to `requestChangesetUpdate()` to force an update request even when there are no pending changes.
* Adds utils methods for `getCurrentTimestamp` and `getRemainingTime`.
* Adds new state values for `selectedChangesetStatus`, `changesetDate`, `selectedChangesetDate`.
* Fixes logic for when to short-circuit check to close Customizer when there are unsaved changes.
* Adds getter methods for `autosaved` and `branching` parameters, with the latter applying the `customize_changeset_branching` filter.
* Call to `establish_loaded_changeset` on the fly when `changeset_uuid()` is called if no changeset UUID was specififed.
* De-duplicates logic for dismissing auto-draft changesets.
* Includes unit tests.
Builds on [41597].
Props sayedwp, westonruter, melchoyce, JoshuaWold, folletto, stubgo, karmatosed, dlh, paaljoachim, afercia, johnregan3, utkarshpatel, valendesigns.
See #30937.
Fixes #39896, #28721, #39275.
Built from https://develop.svn.wordpress.org/trunk@41626
git-svn-id: http://core.svn.wordpress.org/trunk@41461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-28 00:25:46 +02:00
'activate' => __ ( 'Activate & Publish' ),
'save' => __ ( 'Save & Publish' ), // @todo Remove as not required.
'publish' => __ ( 'Publish' ),
'published' => __ ( 'Published' ),
'saveDraft' => __ ( 'Save Draft' ),
'draftSaved' => __ ( 'Draft Saved' ),
'updating' => __ ( 'Updating' ),
2017-10-18 17:39:52 +02:00
'schedule' => _x ( 'Schedule' , 'customizer changeset action/button label' ),
2017-10-25 00:35:47 +02:00
'scheduled' => _x ( 'Scheduled' , 'customizer changeset status' ),
Customize: Introduce drafting and scheduling for Customizer changesets.
* Incorporates code from the Customize Snapshots and Customize Posts feature plugins.
* Adds a new Publish Settings section for managing the changeset status, scheduled date, and frontend preview link.
* Updates Publish button to reflect the status selected in the Publish Settings (including Save Draft and Schedule).
* Deactivates the Themes section when a non-publish status selected, and deactivates the Publish Settings section when previewing a theme switch.
* Introduces an `outer` section type (`wp.customize.OuterSection` in JS) for the Publish Settings section to use and for available widgets and available nav menu panels to use in the future. These sections can be expanded while other sections are expanded.
* Introduces `WP_Customize_Date_Time_Control` in PHP and `wp.customize.DateTimeControl` in JS for managing a date/time value.
* Keeps track of scheduled time and proactively publish from the client when the time arrives, as opposed to waiting for WP Cron.
* Auto-publishes a scheduled changeset when attempting to access one that missed its schedule.
* Starts a new changeset if attempting to save a changeset that was previously publish.
* Adds `force` arg to `requestChangesetUpdate()` to force an update request even when there are no pending changes.
* Adds utils methods for `getCurrentTimestamp` and `getRemainingTime`.
* Adds new state values for `selectedChangesetStatus`, `changesetDate`, `selectedChangesetDate`.
* Fixes logic for when to short-circuit check to close Customizer when there are unsaved changes.
* Adds getter methods for `autosaved` and `branching` parameters, with the latter applying the `customize_changeset_branching` filter.
* Call to `establish_loaded_changeset` on the fly when `changeset_uuid()` is called if no changeset UUID was specififed.
* De-duplicates logic for dismissing auto-draft changesets.
* Includes unit tests.
Builds on [41597].
Props sayedwp, westonruter, melchoyce, JoshuaWold, folletto, stubgo, karmatosed, dlh, paaljoachim, afercia, johnregan3, utkarshpatel, valendesigns.
See #30937.
Fixes #39896, #28721, #39275.
Built from https://develop.svn.wordpress.org/trunk@41626
git-svn-id: http://core.svn.wordpress.org/trunk@41461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-28 00:25:46 +02:00
'invalid' => __ ( 'Invalid' ),
'saveBeforeShare' => __ ( 'Please save your changes in order to share the preview.' ),
'futureDateError' => __ ( 'You must supply a future date to schedule.' ),
2015-03-10 22:20:26 +01:00
'saveAlert' => __ ( 'The changes you made will be lost if you navigate away from this page.' ),
'saved' => __ ( 'Saved' ),
'cancel' => __ ( 'Cancel' ),
'close' => __ ( 'Close' ),
Customize: Allow controls to be created with pre-instantiated `Setting` object(s), or even with plain `Value` object(s).
* Allow passing settings in keyed object (e.g. `settings: { default: 'id' } ), or as an array (e.g. `settings: [ 'id' ]`) with first being default; again, `Setting`/`Value` objects may be supplied instead of IDs.
* Allow a single setting to be supplied with just a single `setting` param, either a string or a `Setting`/`Value` object.
* Update `changeset_status` and `scheduled_changeset_date` to be added dynamically with JS and simply passing of `api.state()` instances as `setting`.
* Introduce a `data-customize-setting-key-link` attribute which, unlike `data-customize-setting-link`, allows passing the setting key (e.g. `default`) as opposed to the setting ID.
* Allow `WP_Customize_Control::get_link()` to return `data-customize-setting-key-link` when setting is not registered.
* Eliminate `default_value` from `WP_Customize_Date_Time_Control` since now comes from supplied `Value`.
* Export status choices as `wp.customize.settings.changeset.statusChoices`.
* Export date and time formats as `wp.customize.settings.dateFormat` and `wp.customize.settings.timeFormat` respectively.
Props westonruter, sayedwp.
See #39896, #30738, #30741, #42083.
Fixes #37964, #36167.
Built from https://develop.svn.wordpress.org/trunk@41750
git-svn-id: http://core.svn.wordpress.org/trunk@41584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 22:02:49 +02:00
'action' => __ ( 'Action' ),
2017-10-05 04:56:47 +02:00
'discardChanges' => __ ( 'Discard changes' ),
2018-03-09 01:15:42 +01:00
'cheatin' => __ ( 'Something went wrong.' ),
'notAllowedHeading' => __ ( 'You need a higher level of permission.' ),
2016-06-29 17:16:29 +02:00
'notAllowed' => __ ( 'Sorry, you are not allowed to customize this site.' ),
2015-03-10 22:20:26 +01:00
'previewIframeTitle' => __ ( 'Site Preview' ),
'loginIframeTitle' => __ ( 'Session expired' ),
2016-11-13 20:00:35 +01:00
'collapseSidebar' => _x ( 'Hide Controls' , 'label for hide controls button without length constraints' ),
'expandSidebar' => _x ( 'Show Controls' , 'label for hide controls button without length constraints' ),
2016-01-24 00:15:27 +01:00
'untitledBlogName' => __ ( '(Untitled)' ),
2017-10-12 06:01:46 +02:00
'unknownRequestFail' => __ ( 'Looks like something’s gone wrong. Wait a couple seconds, and then try again.' ),
2017-10-02 05:37:46 +02:00
'themeDownloading' => __ ( 'Downloading your new theme…' ),
'themePreviewWait' => __ ( 'Setting up your live preview. This may take a bit.' ),
'revertingChanges' => __ ( 'Reverting unpublished changes…' ),
2017-10-03 02:22:49 +02:00
'trashConfirm' => __ ( 'Are you sure you’d like to discard your unpublished changes?' ),
2017-10-12 06:01:46 +02:00
/* translators: %s: Display name of the user who has taken over the changeset in customizer. */
'takenOverMessage' => __ ( '%s has taken over and is currently customizing.' ),
2017-09-29 13:42:48 +02:00
/* translators: %s: URL to the Customizer to load the autosaved version */
Customize: Extend changesets to support autosave revisions with restoration notifications, and introduce a new default linear history mode for saved changesets (with a filter for opt-in to changeset branching).
* Autosaved changes made on top of `auto-draft` changesets get written on top of the `auto-draft` itself, similar to how autosaves for posts will overwrite post drafts.
* Autosaved changes made to saved changesets (e.g. `draft`, `future`) will be placed into an autosave revision for that changeset and that user.
* Opening the Customizer will now prompt the user to restore their most recent auto-draft changeset; if notification is dismissed or ignored then the auto-draft will be marked as dismissed and will not be prompted to user in a notification again.
* Customizer will no longer automatically supply the `changeset_uuid` param in the `customize.php` URL when branching changesets are not active.
* If user closes Customizer explicitly via clicking on X link, then autosave auto-draft/autosave will be dismissed so as to not be prompted again.
* If there is a changeset already saved as a `draft` or `future` (UI is forthcoming) then this changeset will now be autoloaded for the user to keep making additional changes. This is the linear model for changesets.
* To restore the previous behavior of the Customizer where each session started a new changeset, regardless of whether or not there was an existing changeset saved, there is now a `customize_changeset_branching` hook which can be filtered to return `true`.
* `wp.customize.requestChangesetUpdate()` now supports a second with options including `autosave`, `title`, and `date`.
* The window `blur` event for `customize.php` has been replaced with a `visibilitychange` event to reduce autosave requests when clicking into preview window.
* Adds `autosaved` and `branching` args to `WP_Customize_Manager`.
* The `changeset_uuid` param for `WP_Customize_Manager` is extended to recognize a `false` value which causes the Customizer to defer identifying the UUID until `after_setup_theme` in the new `WP_Customize_Manager::establish_loaded_changeset()` method.
* A new `customize_autosaved` query parameter can now be supplied which is passed into the `autosaved` arg in `WP_Customize_Manager`; this option is an opt-in to source data from the autosave revision, allowing a user to restore autosaved changes.
Props westonruter, dlh, sayedwp, JoshuaWold, melchoyce.
See #39896.
Built from https://develop.svn.wordpress.org/trunk@41597
git-svn-id: http://core.svn.wordpress.org/trunk@41430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-26 09:38:45 +02:00
'autosaveNotice' => __ ( 'There is a more recent autosave of your changes than the one you are previewing. <a href="%s">Restore the autosave</a>' ),
2017-10-07 08:00:54 +02:00
'videoHeaderNotice' => __ ( 'This theme doesn’t support video headers on this page. Navigate to the front page or another page that supports video headers.' ),
2012-11-09 06:47:02 +01:00
// Used for overriding the file types allowed in plupload.
2015-07-10 23:22:26 +02:00
'allowedFiles' => __ ( 'Allowed Files' ),
2017-11-13 08:09:35 +01:00
'customCssError' => array (
/* translators: %d: error count */
'singular' => _n ( 'There is %d error which must be fixed before you can save.' , 'There are %d errors which must be fixed before you can save.' , 1 ),
2017-09-29 13:42:48 +02:00
/* translators: %d: error count */
2017-11-13 08:09:35 +01:00
'plural' => _n ( 'There is %d error which must be fixed before you can save.' , 'There are %d errors which must be fixed before you can save.' , 2 ), // @todo This is lacking, as some languages have a dedicated dual form. For proper handling of plurals in JS, see #20491.
Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.
Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.
Built from https://develop.svn.wordpress.org/trunk@41376
git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 08:08:47 +02:00
),
2017-09-19 02:46:45 +02:00
'pageOnFrontError' => __ ( 'Homepage and posts page must be different.' ),
2017-11-13 08:09:35 +01:00
'saveBlockedError' => array (
/* translators: %s: number of invalid settings */
'singular' => _n ( 'Unable to save due to %s invalid setting.' , 'Unable to save due to %s invalid settings.' , 1 ),
2017-10-08 18:23:46 +02:00
/* translators: %s: number of invalid settings */
2017-11-13 08:09:35 +01:00
'plural' => _n ( 'Unable to save due to %s invalid setting.' , 'Unable to save due to %s invalid settings.' , 2 ), // @todo This is lacking, as some languages have a dedicated dual form. For proper handling of plurals in JS, see #20491.
2017-09-19 02:46:45 +02:00
),
Customize: Allow controls to be created with pre-instantiated `Setting` object(s), or even with plain `Value` object(s).
* Allow passing settings in keyed object (e.g. `settings: { default: 'id' } ), or as an array (e.g. `settings: [ 'id' ]`) with first being default; again, `Setting`/`Value` objects may be supplied instead of IDs.
* Allow a single setting to be supplied with just a single `setting` param, either a string or a `Setting`/`Value` object.
* Update `changeset_status` and `scheduled_changeset_date` to be added dynamically with JS and simply passing of `api.state()` instances as `setting`.
* Introduce a `data-customize-setting-key-link` attribute which, unlike `data-customize-setting-link`, allows passing the setting key (e.g. `default`) as opposed to the setting ID.
* Allow `WP_Customize_Control::get_link()` to return `data-customize-setting-key-link` when setting is not registered.
* Eliminate `default_value` from `WP_Customize_Date_Time_Control` since now comes from supplied `Value`.
* Export status choices as `wp.customize.settings.changeset.statusChoices`.
* Export date and time formats as `wp.customize.settings.dateFormat` and `wp.customize.settings.timeFormat` respectively.
Props westonruter, sayedwp.
See #39896, #30738, #30741, #42083.
Fixes #37964, #36167.
Built from https://develop.svn.wordpress.org/trunk@41750
git-svn-id: http://core.svn.wordpress.org/trunk@41584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 22:02:49 +02:00
'scheduleDescription' => __ ( 'Schedule your customization changes to publish ("go live") at a future date.' ),
2017-10-07 08:00:54 +02:00
'themePreviewUnavailable' => __ ( 'Sorry, you can’t preview new themes when you have changes scheduled or saved as a draft. Please publish your changes, or wait until they publish to preview new themes.' ),
2017-10-24 21:06:47 +02:00
'themeInstallUnavailable' => sprintf (
2017-10-25 00:47:46 +02:00
/* translators: %s: URL to Add Themes admin screen */
2017-10-24 21:06:47 +02:00
__ ( 'You won’t be able to install new themes from here yet since your install requires SFTP credentials. For now, please <a href="%s">add themes in the admin</a>.' ),
esc_url ( admin_url ( 'theme-install.php' ) )
),
2017-10-25 23:45:49 +02:00
'publishSettings' => __ ( 'Publish Settings' ),
2017-10-30 17:40:47 +01:00
'invalidDate' => __ ( 'Invalid date.' ),
'invalidValue' => __ ( 'Invalid value.' ),
2012-05-16 07:55:54 +02:00
) );
2016-02-19 19:41:28 +01:00
$scripts -> add ( 'customize-selective-refresh' , " /wp-includes/js/customize-selective-refresh $suffix .js " , array ( 'jquery' , 'wp-util' , 'customize-preview' ), false , 1 );
2012-02-25 05:12:43 +01:00
2014-03-13 20:41:14 +01:00
$scripts -> add ( 'customize-widgets' , " /wp-admin/js/customize-widgets $suffix .js " , array ( 'jquery' , 'jquery-ui-sortable' , 'jquery-ui-droppable' , 'wp-backbone' , 'customize-controls' ), false , 1 );
2016-03-21 22:59:29 +01:00
$scripts -> add ( 'customize-preview-widgets' , " /wp-includes/js/customize-preview-widgets $suffix .js " , array ( 'jquery' , 'wp-util' , 'customize-preview' , 'customize-selective-refresh' ), false , 1 );
2014-03-13 20:41:14 +01:00
2015-07-18 19:10:25 +02:00
$scripts -> add ( 'customize-nav-menus' , " /wp-admin/js/customize-nav-menus $suffix .js " , array ( 'jquery' , 'wp-backbone' , 'customize-controls' , 'accordion' , 'nav-menu' ), false , 1 );
2016-03-21 22:59:29 +01:00
$scripts -> add ( 'customize-preview-nav-menus' , " /wp-includes/js/customize-preview-nav-menus $suffix .js " , array ( 'jquery' , 'wp-util' , 'customize-preview' , 'customize-selective-refresh' ), false , 1 );
Add menu management to the Customizer.
This brings in the Menu Customizer plugin: https://wordpress.org/plugins/menu-customizer/.
props celloexpressions, westonruter, valendesigns, voldemortensen, ocean90, adamsilverstein, kucrut, jorbin, designsimply, afercia, davidakennedy, obenland.
see #32576.
Built from https://develop.svn.wordpress.org/trunk@32806
git-svn-id: http://core.svn.wordpress.org/trunk@32777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 00:08:26 +02:00
Themes: Improve a11y and extendability of custom video headers.
This adds play/pause controls to video headers, along with voice
assistance, using `wp.a11y.speak`, to make custom video headers more
accessible. To make styling the play/pause button easier for themes,
CSS has been omitted from the default implementation.
This also includes a refactor of the `wp.customHeader` code to introduce
a `BaseHandler` class, which can be extended by plugins and themes to modify
or enhance the default video handlers.
Props davidakennedy, afercia, bradyvercher, joemcgill, adamsilverstein, rianrietveld.
Fixes #38678.
Built from https://develop.svn.wordpress.org/trunk@39272
git-svn-id: http://core.svn.wordpress.org/trunk@39212 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-17 00:26:31 +01:00
$scripts -> add ( 'wp-custom-header' , " /wp-includes/js/wp-custom-header $suffix .js " , array ( 'wp-a11y' ), false , 1 );
2016-10-27 23:51:31 +02:00
2013-02-14 23:58:04 +01:00
$scripts -> add ( 'accordion' , " /wp-admin/js/accordion $suffix .js " , array ( 'jquery' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'shortcode' , " /wp-includes/js/shortcode $suffix .js " , array ( 'underscore' ), false , 1 );
2015-04-14 17:31:28 +02:00
$scripts -> add ( 'media-models' , " /wp-includes/js/media-models $suffix .js " , array ( 'wp-backbone' ), false , 1 );
2012-10-12 18:02:45 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'media-models' , '_wpMediaModelsL10n' , array (
2012-11-21 17:46:32 +01:00
'settings' => array (
'ajaxurl' => admin_url ( 'admin-ajax.php' , 'relative' ),
2012-12-03 08:17:10 +01:00
'post' => array ( 'id' => 0 ),
2012-11-21 17:46:32 +01:00
),
2012-10-12 18:02:45 +02:00
) );
2015-10-18 01:26:47 +02:00
$scripts -> add ( 'wp-embed' , " /wp-includes/js/wp-embed $suffix .js " );
Embeds: Add oEmbed provider support.
For the past 6 years, WordPress has operated as an oEmbed consumer, allowing users to easily embed content from other sites. By adding oEmbed provider support, this allows any oEmbed consumer to embed posts from WordPress sites.
In addition to creating an oEmbed provider, WordPress' oEmbed consumer code has been enhanced to work with any site that provides oEmbed data (as long as it matches some strict security rules), and provides a preview from within the post editor.
For security, embeds appear within a sandboxed iframe - the iframe content is a template that can be styled or replaced entirely by the theme on the provider site.
Props swissspidy, pento, melchoyce, netweb, pfefferle, johnbillion, extendwings, davidbinda, danielbachhuber, SergeyBiryukov, afercia
Fixes #32522.
Built from https://develop.svn.wordpress.org/trunk@34903
git-svn-id: http://core.svn.wordpress.org/trunk@34868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 12:36:25 +02:00
2012-11-21 17:46:32 +01:00
// To enqueue media-views or media-editor, call wp_enqueue_media().
// Both rely on numerous settings, styles, and templates to operate correctly.
2017-08-02 18:45:44 +02:00
$scripts -> add ( 'media-views' , " /wp-includes/js/media-views $suffix .js " , array ( 'utils' , 'media-models' , 'wp-plupload' , 'jquery-ui-sortable' , 'wp-mediaelement' , 'wp-api-request' ), false , 1 );
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'media-editor' , " /wp-includes/js/media-editor $suffix .js " , array ( 'shortcode' , 'media-views' ), false , 1 );
2015-04-14 17:31:28 +02:00
$scripts -> add ( 'media-audiovideo' , " /wp-includes/js/media-audiovideo $suffix .js " , array ( 'media-editor' ), false , 1 );
2015-07-26 12:11:24 +02:00
$scripts -> add ( 'mce-view' , " /wp-includes/js/mce-view $suffix .js " , array ( 'shortcode' , 'jquery' , 'media-views' , 'media-audiovideo' ), false , 1 );
2012-09-24 02:13:18 +02:00
2017-08-02 18:45:44 +02:00
$scripts -> add ( 'wp-api' , " /wp-includes/js/wp-api $suffix .js " , array ( 'jquery' , 'backbone' , 'underscore' , 'wp-api-request' ), false , 1 );
REST API: Introduce the Content API endpoints.
REST API endpoints for your WordPress content. These endpoints provide machine-readable external access to your WordPress site with a clear, standards-driven interface, allowing new and innovative apps for interacting with your site. These endpoints support all of the following:
- Posts: Read and write access to all post data, for all types of post-based data, including pages and media.
- Comments: Read and write access to all comment data. This includes pingbacks and trackbacks.
- Terms: Read and write access to all term data.
- Users: Read and write access to all user data. This includes public access to some data for post authors.
- Meta: Read and write access to metadata for posts, comments, terms, and users, on an opt-in basis from plugins.
- Settings: Read and write access to settings, on an opt-in basis from plugins and core. This enables API management of key site content values that are technically stored in options, such as site title and byline.
Love your REST API, WordPress! The infrastructure says, "Let's do lunch!" but the content API endpoints say, "You're paying!"
Props rmccue, rachelbaker, danielbachhuber, joehoyle, adamsilverstein, afurculita, ahmadawais, airesvsg, alisspers, antisilent, apokalyptik, artoliukkonen, attitude, boonebgorges, bradyvercher, brianhogg, caseypatrickdriscoll, chopinbach, chredd, christianesperar, chrisvanpatten, claudiolabarbera, claudiosmweb, cmmarslender, codebykat, coderkevin, codfish, codonnell822, daggerhart, danielpunkass, davidbhayes, delphinus, desrosj, dimadin, dotancohen, DrewAPicture, Dudo1985, duncanjbrown, eherman24, eivhyl, eliorivero, elyobo, en-alis, ericandrewlewis, ericpedia, evansobkowicz, fjarrett, frozzare, georgestephanis, greatislander, guavaworks, hideokamoto, hkdobrev, hubdotcom, hurtige, iandunn, ircrash, ironpaperweight, iseulde, Japh, jaredcobb, JDGrimes, jdolan, jdoubleu, jeremyfelt, jimt, jjeaton, jmusal, jnylen0, johanmynhardt, johnbillion, jonathanbardo, jorbin, joshkadis, JPry, jshreve, jtsternberg, JustinSainton, kacperszurek, kadamwhite, kalenjohnson, kellbot, kjbenk, kokarn, krogsgard, kuchenundkakao, kuldipem, kwight, lgedeon, lukepettway, mantismamita, markoheijnen, matrixik, mattheu, mauteri, maxcutler, mayukojpn, michael-arestad, miyauchi, mjbanks, modemlooper, mrbobbybryant, NateWr, nathanrice, netweb, NikV, nullvariable, oskosk, oso96_2000, oxymoron, pcfreak30, pento, peterwilsoncc, Pezzab, phh, pippinsplugins, pjgalbraith, pkevan, pollyplummer, pushred, quasel, QWp6t, schlessera, schrapel, Shelob9, shprink, simonlampen, Soean, solal, tapsboy, tfrommen, tharsheblows, thenbrent, tierra, tlovett1, tnegri, tobych, Toddses, toro_unit, traversal, vanillalounge, vishalkakadiya, wanecek, web2style, webbgaraget, websupporter, westonruter, whyisjake, wonderboymusic, wpsmith, xknown, zyphonic.
Fixes #38373.
Built from https://develop.svn.wordpress.org/trunk@38832
git-svn-id: http://core.svn.wordpress.org/trunk@38775 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-20 04:55:32 +02:00
2008-05-21 07:56:04 +02:00
if ( is_admin () ) {
2015-03-12 13:52:26 +01:00
$scripts -> add ( 'admin-tags' , " /wp-admin/js/tags $suffix .js " , array ( 'jquery' , 'wp-ajax-response' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'admin-tags' , 'tagsl10n' , array (
2016-06-29 17:16:29 +02:00
'noPerm' => __ ( 'Sorry, you are not allowed to do that.' ),
2018-03-09 01:15:42 +01:00
'broken' => __ ( 'Something went wrong.' )
2009-07-01 10:12:39 +02:00
));
2009-01-02 16:08:58 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'admin-comments' , " /wp-admin/js/edit-comments $suffix .js " , array ( 'wp-lists' , 'quicktags' , 'jquery-query' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'admin-comments' , 'adminCommentsL10n' , array (
2008-09-01 07:28:41 +02:00
'hotkeys_highlight_first' => isset ( $_GET [ 'hotkeys_highlight_first' ]),
2011-05-07 06:56:00 +02:00
'hotkeys_highlight_last' => isset ( $_GET [ 'hotkeys_highlight_last' ]),
'replyApprove' => __ ( 'Approve and Reply' ),
2015-06-19 15:48:25 +02:00
'reply' => __ ( 'Reply' ),
'warnQuickEdit' => __ ( " Are you sure you want to edit this comment? \n The changes you made will be lost. " ),
2016-04-22 23:43:28 +02:00
'warnCommentChanges' => __ ( " Are you sure you want to do this? \n The comment changes you made will be lost. " ),
2015-11-11 22:00:27 +01:00
'docTitleComments' => __ ( 'Comments' ),
/* translators: %s: comments count */
'docTitleCommentsCount' => __ ( 'Comments (%s)' ),
2008-05-21 07:56:04 +02:00
) );
2009-01-02 16:08:58 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'xfn' , " /wp-admin/js/xfn $suffix .js " , array ( 'jquery' ), false , 1 );
2018-05-02 02:03:27 +02:00
did_action ( 'init' ) && $scripts -> localize (
'xfn' , 'privacyToolsL10n' , array (
'noDataFound' => __ ( 'No personal data was found for this user.' ),
2018-05-07 18:46:26 +02:00
'foundAndRemoved' => __ ( 'All of the personal data found for this user was erased.' ),
'noneRemoved' => __ ( 'Personal data was found for this user but was not erased.' ),
'someNotRemoved' => __ ( 'Personal data was found for this user but some of the personal data found was not erased.' ),
'removalError' => __ ( 'An error occurred while attempting to find and erase personal data.' ),
2018-05-02 04:16:25 +02:00
'noExportFile' => __ ( 'No personal data export file was generated.' ),
'exportError' => __ ( 'An error occurred while attempting to export personal data.' ),
2018-05-02 02:03:27 +02:00
)
);
2009-01-02 16:08:58 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'postbox' , " /wp-admin/js/postbox $suffix .js " , array ( 'jquery-ui-sortable' ), false , 1 );
2016-01-14 05:13:26 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'postbox' , 'postBoxL10n' , array (
'postBoxEmptyString' => __ ( 'Drag boxes here' ),
) );
2009-01-02 16:08:58 +01:00
2016-10-15 00:40:28 +02:00
$scripts -> add ( 'tags-box' , " /wp-admin/js/tags-box $suffix .js " , array ( 'jquery' , 'tags-suggest' ), false , 1 );
$scripts -> add ( 'tags-suggest' , " /wp-admin/js/tags-suggest $suffix .js " , array ( 'jquery-ui-autocomplete' , 'wp-a11y' ), false , 1 );
did_action ( 'init' ) && $scripts -> localize ( 'tags-suggest' , 'tagsSuggestL10n' , array (
PressThis v2, first run. Props michael-arestad, stephdau, marcelomazza, DrewAPicture, iseulde, afercia, kraftbj, rachelbaker, AramZS, dd32. See #31373.
Built from https://develop.svn.wordpress.org/trunk@31534
git-svn-id: http://core.svn.wordpress.org/trunk@31515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 02:50:26 +01:00
'tagDelimiter' => _x ( ',' , 'tag delimiter' ),
2016-10-23 20:16:42 +02:00
'removeTerm' => __ ( 'Remove term:' ),
'termSelected' => __ ( 'Term selected.' ),
'termAdded' => __ ( 'Term added.' ),
'termRemoved' => __ ( 'Term removed.' ),
PressThis v2, first run. Props michael-arestad, stephdau, marcelomazza, DrewAPicture, iseulde, afercia, kraftbj, rachelbaker, AramZS, dd32. See #31373.
Built from https://develop.svn.wordpress.org/trunk@31534
git-svn-id: http://core.svn.wordpress.org/trunk@31515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 02:50:26 +01:00
) );
2015-10-17 01:02:25 +02:00
$scripts -> add ( 'post' , " /wp-admin/js/post $suffix .js " , array ( 'suggest' , 'wp-lists' , 'postbox' , 'tags-box' , 'underscore' , 'word-count' , 'wp-a11y' ), false , 1 );
2012-11-19 02:28:32 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'post' , 'postL10n' , array (
2009-10-13 12:02:42 +02:00
'ok' => __ ( 'OK' ),
2008-05-21 07:56:04 +02:00
'cancel' => __ ( 'Cancel' ),
2008-10-29 20:22:56 +01:00
'publishOn' => __ ( 'Publish on:' ),
'publishOnFuture' => __ ( 'Schedule for:' ),
'publishOnPast' => __ ( 'Published on:' ),
2013-04-22 21:04:02 +02:00
/* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
2015-07-21 13:40:25 +02:00
'dateFormat' => __ ( '%1$s %2$s, %3$s @ %4$s:%5$s' ),
2008-10-17 11:44:22 +02:00
'showcomm' => __ ( 'Show more comments' ),
2008-10-29 20:22:56 +01:00
'endcomm' => __ ( 'No more comments found.' ),
'publish' => __ ( 'Publish' ),
2017-10-18 17:39:52 +02:00
'schedule' => _x ( 'Schedule' , 'post action/button label' ),
2010-11-09 01:52:02 +01:00
'update' => __ ( 'Update' ),
2008-11-03 08:06:36 +01:00
'savePending' => __ ( 'Save as Pending' ),
2008-11-12 19:36:48 +01:00
'saveDraft' => __ ( 'Save Draft' ),
'private' => __ ( 'Private' ),
'public' => __ ( 'Public' ),
2008-11-12 20:31:39 +01:00
'publicSticky' => __ ( 'Public, Sticky' ),
'password' => __ ( 'Password Protected' ),
2008-11-12 19:36:48 +01:00
'privatelyPublished' => __ ( 'Privately Published' ),
2012-02-07 19:06:12 +01:00
'published' => __ ( 'Published' ),
2014-01-27 01:28:13 +01:00
'saveAlert' => __ ( 'The changes you made will be lost if you navigate away from this page.' ),
'savingText' => __ ( 'Saving Draft…' ),
2015-10-17 01:02:25 +02:00
'permalinkSaved' => __ ( 'Permalink saved' ),
2008-05-21 07:56:04 +02:00
) );
2009-01-02 16:08:58 +01:00
2016-08-28 20:40:31 +02:00
$scripts -> add ( 'editor-expand' , " /wp-admin/js/editor-expand $suffix .js " , array ( 'jquery' , 'underscore' ), false , 1 );
2014-07-10 00:06:15 +02:00
2012-09-03 17:39:06 +02:00
$scripts -> add ( 'link' , " /wp-admin/js/link $suffix .js " , array ( 'wp-lists' , 'postbox' ), false , 1 );
2009-01-02 16:08:58 +01:00
2012-09-03 17:39:06 +02:00
$scripts -> add ( 'comment' , " /wp-admin/js/comment $suffix .js " , array ( 'jquery' , 'postbox' ) );
2009-01-14 15:18:51 +01:00
$scripts -> add_data ( 'comment' , 'group' , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'comment' , 'commentL10n' , array (
2015-07-22 00:09:25 +02:00
'submittedOn' => __ ( 'Submitted on:' ),
/* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
'dateFormat' => __ ( '%1$s %2$s, %3$s @ %4$s:%5$s' )
2008-05-21 07:56:04 +02:00
) );
2009-01-29 08:00:00 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'admin-gallery' , " /wp-admin/js/gallery $suffix .js " , array ( 'jquery-ui-sortable' ) );
2009-01-02 16:08:58 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'admin-widgets' , " /wp-admin/js/widgets $suffix .js " , array ( 'jquery-ui-sortable' , 'jquery-ui-draggable' , 'jquery-ui-droppable' ), false , 1 );
2017-09-09 22:44:44 +02:00
did_action ( 'init' ) && $scripts -> add_inline_script ( 'admin-widgets' , sprintf ( 'wpWidgets.l10n = %s;' , wp_json_encode ( array (
2017-09-08 21:11:43 +02:00
'save' => __ ( 'Save' ),
'saved' => __ ( 'Saved' ),
'saveAlert' => __ ( 'The changes you made will be lost if you navigate away from this page.' ),
) ) ) );
2017-08-02 18:45:44 +02:00
$scripts -> add ( 'media-widgets' , " /wp-admin/js/widgets/media-widgets $suffix .js " , array ( 'jquery' , 'media-models' , 'media-views' , 'wp-api-request' ) );
Widgets: Introduce media widgets for images, audio, and video with extensible base for additional media widgets in the future.
The last time a new widget was introduced, Vuvuzelas were a thing, Angry Birds started taking over phones, and WordPress stopped shipping with Kubrick. Seven years and 17 releases without new widgets have been enough, time to spice up your sidebar!
Props westonruter, melchoyce, obenland, timmydcrawford, adamsilverstein, gonom9, wonderboymusic, Fab1en, DrewAPicture, sirbrillig, joen, matias, samikeijonen, afercia, celloexpressions, designsimply, michelleweber, ranh, kjellr, karmatosed.
Fixes #32417, #39993, #39994, #39995.
Built from https://develop.svn.wordpress.org/trunk@40640
git-svn-id: http://core.svn.wordpress.org/trunk@40501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-11 23:11:44 +02:00
$scripts -> add_inline_script ( 'media-widgets' , 'wp.mediaWidgets.init();' , 'after' );
$scripts -> add ( 'media-audio-widget' , " /wp-admin/js/widgets/media-audio-widget $suffix .js " , array ( 'media-widgets' , 'media-audiovideo' ) );
$scripts -> add ( 'media-image-widget' , " /wp-admin/js/widgets/media-image-widget $suffix .js " , array ( 'media-widgets' ) );
2017-09-25 08:28:45 +02:00
$scripts -> add ( 'media-gallery-widget' , " /wp-admin/js/widgets/media-gallery-widget $suffix .js " , array ( 'media-widgets' ) );
2017-08-02 18:45:44 +02:00
$scripts -> add ( 'media-video-widget' , " /wp-admin/js/widgets/media-video-widget $suffix .js " , array ( 'media-widgets' , 'media-audiovideo' , 'wp-api-request' ) );
2017-07-14 19:09:43 +02:00
$scripts -> add ( 'text-widgets' , " /wp-admin/js/widgets/text-widgets $suffix .js " , array ( 'jquery' , 'backbone' , 'editor' , 'wp-util' , 'wp-a11y' ) );
2017-10-20 18:39:48 +02:00
$scripts -> add ( 'custom-html-widgets' , " /wp-admin/js/widgets/custom-html-widgets $suffix .js " , array ( 'jquery' , 'backbone' , 'wp-util' , 'jquery-ui-core' , 'wp-a11y' ) );
2008-05-21 07:56:04 +02:00
2017-10-09 18:04:48 +02:00
$scripts -> add ( 'theme' , " /wp-admin/js/theme $suffix .js " , array ( 'wp-backbone' , 'wp-a11y' , 'customize-base' ), false , 1 );
2008-10-05 06:43:52 +02:00
2016-10-15 00:40:28 +02:00
$scripts -> add ( 'inline-edit-post' , " /wp-admin/js/inline-edit-post $suffix .js " , array ( 'jquery' , 'tags-suggest' , 'wp-a11y' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'inline-edit-post' , 'inlineEditL10n' , array (
2016-01-14 23:58:27 +01:00
'error' => __ ( 'Error while saving the changes.' ),
'ntdeltitle' => __ ( 'Remove From Bulk Edit' ),
'notitle' => __ ( '(no title)' ),
'comma' => trim ( _x ( ',' , 'tag delimiter' ) ),
'saved' => __ ( 'Changes saved.' ),
2008-09-21 21:45:45 +02:00
) );
2008-08-04 23:01:09 +02:00
2015-11-11 01:24:28 +01:00
$scripts -> add ( 'inline-edit-tax' , " /wp-admin/js/inline-edit-tax $suffix .js " , array ( 'jquery' , 'wp-a11y' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'inline-edit-tax' , 'inlineEditL10n' , array (
2015-11-11 01:24:28 +01:00
'error' => __ ( 'Error while saving the changes.' ),
'saved' => __ ( 'Changes saved.' ),
2008-10-05 06:43:52 +02:00
) );
2016-03-10 23:37:26 +01:00
$scripts -> add ( 'plugin-install' , " /wp-admin/js/plugin-install $suffix .js " , array ( 'jquery' , 'jquery-ui-core' , 'thickbox' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'plugin-install' , 'plugininstallL10n' , array (
2016-03-10 23:37:26 +01:00
'plugin_information' => __ ( 'Plugin:' ),
'plugin_modal_label' => __ ( 'Plugin details' ),
2011-07-25 02:36:06 +02:00
'ays' => __ ( 'Are you sure you want to install this plugin?' )
2008-08-04 23:01:09 +02:00
) );
2008-08-09 07:36:14 +02:00
2016-10-19 12:27:29 +02:00
$scripts -> add ( 'updates' , " /wp-admin/js/updates $suffix .js " , array ( 'jquery' , 'wp-util' , 'wp-a11y' ), false , 1 );
2015-02-05 05:19:23 +01:00
did_action ( 'init' ) && $scripts -> localize ( 'updates' , '_wpUpdatesSettings' , array (
'ajax_nonce' => wp_create_nonce ( 'updates' ),
'l10n' => array (
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
/* translators: %s: Search string */
'searchResults' => __ ( 'Search results for “%s”' ),
2016-07-20 18:32:31 +02:00
'searchResultsLabel' => __ ( 'Search Results' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'noPlugins' => __ ( 'You do not appear to have any plugins available at this time.' ),
'noItemsSelected' => __ ( 'Please select at least one item to perform this action on.' ),
'updating' => __ ( 'Updating...' ), // No ellipsis.
2017-01-31 10:27:41 +01:00
'pluginUpdated' => _x ( 'Updated!' , 'plugin' ),
'themeUpdated' => _x ( 'Updated!' , 'theme' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'update' => __ ( 'Update' ),
'updateNow' => __ ( 'Update Now' ),
2016-08-09 03:14:28 +02:00
/* translators: %s: Plugin name and version */
2017-01-31 10:27:41 +01:00
'pluginUpdateNowLabel' => _x ( 'Update %s now' , 'plugin' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'updateFailedShort' => __ ( 'Update Failed!' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Error string for a failed update */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'updateFailed' => __ ( 'Update Failed: %s' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2017-01-31 10:27:41 +01:00
'pluginUpdatingLabel' => _x ( 'Updating %s...' , 'plugin' ), // No ellipsis.
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2017-01-31 10:27:41 +01:00
'pluginUpdatedLabel' => _x ( '%s updated!' , 'plugin' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2017-01-31 10:27:41 +01:00
'pluginUpdateFailedLabel' => _x ( '%s update failed' , 'plugin' ),
2017-01-31 09:55:41 +01:00
/* translators: Accessibility text */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'updatingMsg' => __ ( 'Updating... please wait.' ), // No ellipsis.
2017-01-31 09:55:41 +01:00
/* translators: Accessibility text */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'updatedMsg' => __ ( 'Update completed successfully.' ),
2017-01-31 09:55:41 +01:00
/* translators: Accessibility text */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'updateCancel' => __ ( 'Update canceled.' ),
'beforeunload' => __ ( 'Updates may not complete if you navigate away from this page.' ),
'installNow' => __ ( 'Install Now' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name */
2017-01-31 10:27:41 +01:00
'pluginInstallNowLabel' => _x ( 'Install %s now' , 'plugin' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'installing' => __ ( 'Installing...' ),
2017-01-31 10:27:41 +01:00
'pluginInstalled' => _x ( 'Installed!' , 'plugin' ),
'themeInstalled' => _x ( 'Installed!' , 'theme' ),
2017-08-22 13:52:48 +02:00
'installFailedShort' => __ ( 'Installation Failed!' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Error string for a failed installation */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'installFailed' => __ ( 'Installation failed: %s' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2016-07-13 19:32:29 +02:00
'pluginInstallingLabel' => _x ( 'Installing %s...' , 'plugin' ), // no ellipsis
2016-07-17 17:32:30 +02:00
/* translators: %s: Theme name and version */
2016-07-13 19:32:29 +02:00
'themeInstallingLabel' => _x ( 'Installing %s...' , 'theme' ), // no ellipsis
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2016-07-13 19:32:29 +02:00
'pluginInstalledLabel' => _x ( '%s installed!' , 'plugin' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Theme name and version */
2016-07-13 19:32:29 +02:00
'themeInstalledLabel' => _x ( '%s installed!' , 'theme' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Plugin name and version */
2016-07-13 19:32:29 +02:00
'pluginInstallFailedLabel' => _x ( '%s installation failed' , 'plugin' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Theme name and version */
2016-07-13 19:32:29 +02:00
'themeInstallFailedLabel' => _x ( '%s installation failed' , 'theme' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'installingMsg' => __ ( 'Installing... please wait.' ),
'installedMsg' => __ ( 'Installation completed successfully.' ),
2016-07-17 17:32:30 +02:00
/* translators: %s: Activation URL */
'importerInstalledMsg' => __ ( 'Importer installed successfully. <a href="%s">Run importer</a>' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
/* translators: %s: Theme name */
'aysDelete' => __ ( 'Are you sure you want to delete %s?' ),
/* translators: %s: Plugin name */
'aysDeleteUninstall' => __ ( 'Are you sure you want to delete %s and its data?' ),
'aysBulkDelete' => __ ( 'Are you sure you want to delete the selected plugins and their data?' ),
'aysBulkDeleteThemes' => __ ( 'Caution: These themes may be active on other sites in the network. Are you sure you want to proceed?' ),
'deleting' => __ ( 'Deleting...' ),
/* translators: %s: Error string for a failed deletion */
'deleteFailed' => __ ( 'Deletion failed: %s' ),
2017-01-31 10:59:40 +01:00
'pluginDeleted' => _x ( 'Deleted!' , 'plugin' ),
'themeDeleted' => _x ( 'Deleted!' , 'theme' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
'livePreview' => __ ( 'Live Preview' ),
'activatePlugin' => is_network_admin () ? __ ( 'Network Activate' ) : __ ( 'Activate' ),
'activateTheme' => is_network_admin () ? __ ( 'Network Enable' ) : __ ( 'Activate' ),
2016-07-13 19:32:29 +02:00
/* translators: %s: Plugin name */
'activatePluginLabel' => is_network_admin () ? _x ( 'Network Activate %s' , 'plugin' ) : _x ( 'Activate %s' , 'plugin' ),
/* translators: %s: Theme name */
'activateThemeLabel' => is_network_admin () ? _x ( 'Network Activate %s' , 'theme' ) : _x ( 'Activate %s' , 'theme' ),
2016-07-17 17:32:30 +02:00
'activateImporter' => __ ( 'Run Importer' ),
/* translators: %s: Importer name */
'activateImporterLabel' => __ ( 'Run %s' ),
2018-03-09 01:15:42 +01:00
'unknownError' => __ ( 'Something went wrong.' ),
2016-08-05 21:28:30 +02:00
'connectionError' => __ ( 'Connection lost or the server is busy. Please try again later.' ),
'nonceError' => __ ( 'An error has occurred. Please reload the page and try again.' ),
2016-07-11 23:50:31 +02:00
'pluginsFound' => __ ( 'Number of plugins found: %d' ),
2017-10-16 20:14:48 +02:00
'noPluginsFound' => __ ( 'No plugins found. Try a different search.' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
),
2015-02-05 05:19:23 +01:00
) );
2014-02-26 07:55:14 +01:00
2008-08-28 19:42:21 +02:00
$scripts -> add ( 'farbtastic' , '/wp-admin/js/farbtastic.js' , array ( 'jquery' ), '1.2' );
2008-10-05 06:43:52 +02:00
2014-11-30 12:44:22 +01:00
$scripts -> add ( 'iris' , '/wp-admin/js/iris.min.js' , array ( 'jquery-ui-draggable' , 'jquery-ui-slider' , 'jquery-touch-punch' ), '1.0.7' , 1 );
2012-09-27 03:57:38 +02:00
$scripts -> add ( 'wp-color-picker' , " /wp-admin/js/color-picker $suffix .js " , array ( 'iris' ), false , 1 );
did_action ( 'init' ) && $scripts -> localize ( 'wp-color-picker' , 'wpColorPickerL10n' , array (
2017-09-03 18:02:46 +02:00
'clear' => __ ( 'Clear' ),
'clearAriaLabel' => __ ( 'Clear color' ),
'defaultString' => __ ( 'Default' ),
'defaultAriaLabel' => __ ( 'Select default color' ),
'pick' => __ ( 'Select Color' ),
'defaultLabel' => __ ( 'Color value' ),
2012-09-27 03:57:38 +02:00
) );
Dashboard: Update the existing WordPress News dashboard widget to also include upcoming meetup events and WordCamps near the current user’s location.
Props @afercia, @andreamiddleton, @azaozz, @camikaos, @coreymckrill, @chanthaboune, @courtneypk, @dd32, @iandunn, @iseulde, @mapk, @mayukojpn, @melchoyce, @nao, @obenland, @pento, @samuelsidler, @stephdau, @tellyworth.
See #40702.
Built from https://develop.svn.wordpress.org/trunk@40607
git-svn-id: http://core.svn.wordpress.org/trunk@40477 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-10 22:04:42 +02:00
$scripts -> add ( 'dashboard' , " /wp-admin/js/dashboard $suffix .js " , array ( 'jquery' , 'admin-comments' , 'postbox' , 'wp-util' , 'wp-a11y' ), false , 1 );
2008-10-14 07:10:16 +02:00
2014-06-30 01:43:14 +02:00
$scripts -> add ( 'list-revisions' , " /wp-includes/js/wp-list-revisions $suffix .js " );
2014-08-09 22:44:17 +02:00
2015-04-14 17:31:28 +02:00
$scripts -> add ( 'media-grid' , " /wp-includes/js/media-grid $suffix .js " , array ( 'media-editor' ), false , 1 );
2014-03-05 04:54:15 +01:00
$scripts -> add ( 'media' , " /wp-admin/js/media $suffix .js " , array ( 'jquery' ), false , 1 );
did_action ( 'init' ) && $scripts -> localize ( 'media' , 'attachMediaBoxL10n' , array (
2014-03-19 09:18:14 +01:00
'error' => __ ( 'An error has occurred. Please reload the page and try again.' ),
2014-03-05 04:54:15 +01:00
));
2009-03-18 03:43:45 +01:00
2011-12-21 06:40:09 +01:00
$scripts -> add ( 'image-edit' , " /wp-admin/js/image-edit $suffix .js " , array ( 'jquery' , 'json2' , 'imgareaselect' ), false , 1 );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'image-edit' , 'imageEditL10n' , array (
2011-09-28 08:08:56 +02:00
'error' => __ ( 'Could not load the preview image. Please reload the page and try again.' )
));
2009-10-08 00:18:09 +02:00
2015-06-01 06:14:25 +02:00
$scripts -> add ( 'set-post-thumbnail' , " /wp-admin/js/set-post-thumbnail $suffix .js " , array ( 'jquery' ), false , 1 );
did_action ( 'init' ) && $scripts -> localize ( 'set-post-thumbnail' , 'setPostThumbnailL10n' , array (
'setThumbnail' => __ ( 'Use as featured image' ),
2015-09-16 13:59:26 +02:00
'saving' => __ ( 'Saving...' ), // no ellipsis
2009-12-10 08:37:41 +01:00
'error' => __ ( 'Could not set that as the thumbnail image. Try a different attachment.' ),
2011-07-25 02:36:06 +02:00
'done' => __ ( 'Done' )
2015-06-01 06:14:25 +02:00
) );
2009-10-08 00:18:09 +02:00
2010-06-11 07:19:36 +02:00
// Navigation Menus
2016-02-11 20:08:27 +01:00
$scripts -> add ( 'nav-menu' , " /wp-admin/js/nav-menu $suffix .js " , array ( 'jquery-ui-sortable' , 'jquery-ui-draggable' , 'jquery-ui-droppable' , 'wp-lists' , 'postbox' , 'json2' ) );
2012-06-26 07:33:19 +02:00
did_action ( 'init' ) && $scripts -> localize ( 'nav-menu' , 'navMenuL10n' , array (
2014-09-26 22:54:18 +02:00
'noResultsFound' => __ ( 'No results found.' ),
2010-04-27 03:05:58 +02:00
'warnDeleteMenu' => __ ( " You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete. " ),
2014-06-20 20:30:15 +02:00
'saveAlert' => __ ( 'The changes you made will be lost if you navigate away from this page.' ),
'untitled' => _x ( '(no label)' , 'missing menu item navigation label' )
2010-02-24 19:52:54 +01:00
) );
2010-03-21 07:06:18 +01:00
2012-10-14 19:05:16 +02:00
$scripts -> add ( 'custom-header' , " /wp-admin/js/custom-header.js " , array ( 'jquery-masonry' ), false , 1 );
2012-11-09 12:37:24 +01:00
$scripts -> add ( 'custom-background' , " /wp-admin/js/custom-background $suffix .js " , array ( 'wp-color-picker' , 'media-views' ), false , 1 );
2012-04-05 02:20:28 +02:00
$scripts -> add ( 'media-gallery' , " /wp-admin/js/media-gallery $suffix .js " , array ( 'jquery' ), false , 1 );
2013-12-04 05:13:11 +01:00
2013-12-05 23:01:10 +01:00
$scripts -> add ( 'svg-painter' , '/wp-admin/js/svg-painter.js' , array ( 'jquery' ), false , 1 );
2006-05-22 19:16:05 +02:00
}
}
2007-10-09 23:04:26 +02:00
2008-08-30 21:51:29 +02:00
/**
* Assign default styles to $styles object .
*
* Nothing is returned , because the $styles parameter is passed by reference .
* Meaning that whatever object is passed will be updated without having to
* reassign the variable that was passed back to the same value . This saves
* memory .
*
* Adding default styles is not the only task , it also assigns the base_url
* property , the default version , and text direction for the object .
*
* @ since 2.6 . 0
*
2015-05-27 21:34:27 +02:00
* @ param WP_Styles $styles
2008-08-30 21:51:29 +02:00
*/
2008-05-22 01:24:23 +02:00
function wp_default_styles ( & $styles ) {
2014-05-18 22:52:15 +02:00
include ( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
2013-10-05 16:25:09 +02:00
if ( ! defined ( 'SCRIPT_DEBUG' ) )
define ( 'SCRIPT_DEBUG' , false !== strpos ( $wp_version , '-src' ) );
2012-01-05 21:59:30 +01:00
2008-08-30 21:51:29 +02:00
if ( ! $guessurl = site_url () )
2008-06-24 19:36:21 +02:00
$guessurl = wp_guess_url ();
2009-01-14 15:18:51 +01:00
2008-06-24 19:36:21 +02:00
$styles -> base_url = $guessurl ;
2009-01-16 06:45:44 +01:00
$styles -> content_url = defined ( 'WP_CONTENT_URL' ) ? WP_CONTENT_URL : '' ;
2008-05-22 01:24:23 +02:00
$styles -> default_version = get_bloginfo ( 'version' );
2010-05-03 07:49:19 +02:00
$styles -> text_direction = function_exists ( 'is_rtl' ) && is_rtl () ? 'rtl' : 'ltr' ;
2011-07-25 02:36:06 +02:00
$styles -> default_dirs = array ( '/wp-admin/' , '/wp-includes/css/' );
2008-05-22 01:24:23 +02:00
Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.
At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.
There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.
The style remains registered, as it is almost certainly in use by themes and plugins.
props mattmiklic.
see #36753.
Built from https://develop.svn.wordpress.org/trunk@37361
git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 00:07:37 +02:00
// Open Sans is no longer used by core, but may be relied upon by themes and plugins.
2013-11-26 02:54:09 +01:00
$open_sans_font_url = '' ;
2013-11-18 22:40:10 +01:00
2013-11-26 02:54:09 +01:00
/* translators : If there are characters in your language that are not supported
* by Open Sans , translate this to 'off' . Do not translate into your own language .
2013-11-18 22:40:10 +01:00
*/
2013-11-26 02:54:09 +01:00
if ( 'off' !== _x ( 'on' , 'Open Sans font: on or off' ) ) {
$subsets = 'latin,latin-ext' ;
/* translators : To add an additional Open Sans character subset specific to your language ,
* translate this to 'greek' , 'cyrillic' or 'vietnamese' . Do not translate into your own language .
*/
$subset = _x ( 'no-subset' , 'Open Sans font: add new subset (greek, cyrillic, vietnamese)' );
if ( 'cyrillic' == $subset ) {
$subsets .= ',cyrillic,cyrillic-ext' ;
} elseif ( 'greek' == $subset ) {
$subsets .= ',greek,greek-ext' ;
} elseif ( 'vietnamese' == $subset ) {
$subsets .= ',vietnamese' ;
}
// Hotlink Open Sans, for now
2015-06-18 17:51:26 +02:00
$open_sans_font_url = " https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset= $subsets " ;
2013-11-26 02:54:09 +01:00
}
2013-11-18 22:40:10 +01:00
2014-02-20 07:59:13 +01:00
// Register a stylesheet for the selected admin color scheme.
2016-02-17 19:01:26 +01:00
$styles -> add ( 'colors' , true , array ( 'wp-admin' , 'buttons' ) );
2008-05-22 01:24:23 +02:00
2014-02-16 01:36:14 +01:00
$suffix = SCRIPT_DEBUG ? '' : '.min' ;
// Admin CSS
2016-01-18 10:57:29 +01:00
$styles -> add ( 'common' , " /wp-admin/css/common $suffix .css " );
$styles -> add ( 'forms' , " /wp-admin/css/forms $suffix .css " );
$styles -> add ( 'admin-menu' , " /wp-admin/css/admin-menu $suffix .css " );
$styles -> add ( 'dashboard' , " /wp-admin/css/dashboard $suffix .css " );
$styles -> add ( 'list-tables' , " /wp-admin/css/list-tables $suffix .css " );
$styles -> add ( 'edit' , " /wp-admin/css/edit $suffix .css " );
$styles -> add ( 'revisions' , " /wp-admin/css/revisions $suffix .css " );
$styles -> add ( 'media' , " /wp-admin/css/media $suffix .css " );
$styles -> add ( 'themes' , " /wp-admin/css/themes $suffix .css " );
$styles -> add ( 'about' , " /wp-admin/css/about $suffix .css " );
$styles -> add ( 'nav-menus' , " /wp-admin/css/nav-menus $suffix .css " );
2017-07-14 19:09:43 +02:00
$styles -> add ( 'widgets' , " /wp-admin/css/widgets $suffix .css " , array ( 'wp-pointer' ) );
2016-01-18 10:57:29 +01:00
$styles -> add ( 'site-icon' , " /wp-admin/css/site-icon $suffix .css " );
$styles -> add ( 'l10n' , " /wp-admin/css/l10n $suffix .css " );
2017-09-22 01:04:45 +02:00
$styles -> add ( 'code-editor' , " /wp-admin/css/code-editor $suffix .css " , array ( 'wp-codemirror' ) );
2016-01-18 10:57:29 +01:00
Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.
At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.
There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.
The style remains registered, as it is almost certainly in use by themes and plugins.
props mattmiklic.
see #36753.
Built from https://develop.svn.wordpress.org/trunk@37361
git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 00:07:37 +02:00
$styles -> add ( 'wp-admin' , false , array ( 'dashicons' , 'common' , 'forms' , 'admin-menu' , 'dashboard' , 'list-tables' , 'edit' , 'revisions' , 'media' , 'themes' , 'about' , 'nav-menus' , 'widgets' , 'site-icon' , 'l10n' ) );
2016-01-18 10:57:29 +01:00
Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.
At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.
There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.
The style remains registered, as it is almost certainly in use by themes and plugins.
props mattmiklic.
see #36753.
Built from https://develop.svn.wordpress.org/trunk@37361
git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 00:07:37 +02:00
$styles -> add ( 'login' , " /wp-admin/css/login $suffix .css " , array ( 'dashicons' , 'buttons' , 'forms' , 'l10n' ) );
$styles -> add ( 'install' , " /wp-admin/css/install $suffix .css " , array ( 'buttons' ) );
Add menu management to the Customizer.
This brings in the Menu Customizer plugin: https://wordpress.org/plugins/menu-customizer/.
props celloexpressions, westonruter, valendesigns, voldemortensen, ocean90, adamsilverstein, kucrut, jorbin, designsimply, afercia, davidakennedy, obenland.
see #32576.
Built from https://develop.svn.wordpress.org/trunk@32806
git-svn-id: http://core.svn.wordpress.org/trunk@32777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 00:08:26 +02:00
$styles -> add ( 'wp-color-picker' , " /wp-admin/css/color-picker $suffix .css " );
$styles -> add ( 'customize-controls' , " /wp-admin/css/customize-controls $suffix .css " , array ( 'wp-admin' , 'colors' , 'ie' , 'imgareaselect' ) );
$styles -> add ( 'customize-widgets' , " /wp-admin/css/customize-widgets $suffix .css " , array ( 'wp-admin' , 'colors' ) );
$styles -> add ( 'customize-nav-menus' , " /wp-admin/css/customize-nav-menus $suffix .css " , array ( 'wp-admin' , 'colors' ) );
$styles -> add ( 'ie' , " /wp-admin/css/ie $suffix .css " );
2014-02-16 01:36:14 +01:00
$styles -> add_data ( 'ie' , 'conditional' , 'lte IE 7' );
// Common dependencies
$styles -> add ( 'buttons' , " /wp-includes/css/buttons $suffix .css " );
$styles -> add ( 'dashicons' , " /wp-includes/css/dashicons $suffix .css " );
2010-02-21 01:03:42 +01:00
2014-02-16 01:36:14 +01:00
// Includes CSS
Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.
At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.
There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.
The style remains registered, as it is almost certainly in use by themes and plugins.
props mattmiklic.
see #36753.
Built from https://develop.svn.wordpress.org/trunk@37361
git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 00:07:37 +02:00
$styles -> add ( 'admin-bar' , " /wp-includes/css/admin-bar $suffix .css " , array ( 'dashicons' ) );
2015-10-31 05:38:25 +01:00
$styles -> add ( 'wp-auth-check' , " /wp-includes/css/wp-auth-check $suffix .css " , array ( 'dashicons' ) );
$styles -> add ( 'editor-buttons' , " /wp-includes/css/editor $suffix .css " , array ( 'dashicons' ) );
$styles -> add ( 'media-views' , " /wp-includes/css/media-views $suffix .css " , array ( 'buttons' , 'dashicons' , 'wp-mediaelement' ) );
$styles -> add ( 'wp-pointer' , " /wp-includes/css/wp-pointer $suffix .css " , array ( 'dashicons' ) );
2016-10-26 22:03:32 +02:00
$styles -> add ( 'customize-preview' , " /wp-includes/css/customize-preview $suffix .css " , array ( 'dashicons' ) );
2015-10-31 05:38:25 +01:00
$styles -> add ( 'wp-embed-template-ie' , " /wp-includes/css/wp-embed-template-ie $suffix .css " );
$styles -> add_data ( 'wp-embed-template-ie' , 'conditional' , 'lte IE 8' );
2014-02-16 01:36:14 +01:00
// External libraries and friends
2014-06-30 01:43:14 +02:00
$styles -> add ( 'imgareaselect' , '/wp-includes/js/imgareaselect/imgareaselect.css' , array (), '0.9.8' );
2014-02-16 01:36:14 +01:00
$styles -> add ( 'wp-jquery-ui-dialog' , " /wp-includes/css/jquery-ui-dialog $suffix .css " , array ( 'dashicons' ) );
2017-10-16 20:07:52 +02:00
$styles -> add ( 'mediaelement' , " /wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css " , array (), '4.2.6-78496d1' );
2016-02-29 21:43:26 +01:00
$styles -> add ( 'wp-mediaelement' , " /wp-includes/js/mediaelement/wp-mediaelement $suffix .css " , array ( 'mediaelement' ) );
2014-06-30 01:43:14 +02:00
$styles -> add ( 'thickbox' , '/wp-includes/js/thickbox/thickbox.css' , array ( 'dashicons' ) );
2017-09-22 01:04:45 +02:00
$styles -> add ( 'wp-codemirror' , '/wp-includes/js/codemirror/codemirror.min.css' , array (), '5.29.1-alpha-ee20357' );
2014-02-16 01:36:14 +01:00
// Deprecated CSS
2016-03-06 16:38:28 +01:00
$styles -> add ( 'deprecated-media' , " /wp-admin/css/deprecated-media $suffix .css " );
2016-03-08 17:04:29 +01:00
$styles -> add ( 'farbtastic' , " /wp-admin/css/farbtastic $suffix .css " , array (), '1.3u1' );
2016-03-06 16:38:28 +01:00
$styles -> add ( 'jcrop' , " /wp-includes/js/jcrop/jquery.Jcrop.min.css " , array (), '0.9.12' );
2014-02-20 07:59:13 +01:00
$styles -> add ( 'colors-fresh' , false , array ( 'wp-admin' , 'buttons' ) ); // Old handle.
Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.
At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.
There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.
The style remains registered, as it is almost certainly in use by themes and plugins.
props mattmiklic.
see #36753.
Built from https://develop.svn.wordpress.org/trunk@37361
git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 00:07:37 +02:00
$styles -> add ( 'open-sans' , $open_sans_font_url ); // No longer used in core as of 4.6
2014-02-16 01:36:14 +01:00
// RTL CSS
$rtl_styles = array (
// wp-admin
2016-01-18 10:57:29 +01:00
'common' , 'forms' , 'admin-menu' , 'dashboard' , 'list-tables' , 'edit' , 'revisions' , 'media' , 'themes' , 'about' , 'nav-menus' ,
2016-11-10 14:53:32 +01:00
'widgets' , 'site-icon' , 'l10n' , 'install' , 'wp-color-picker' , 'customize-controls' , 'customize-widgets' , 'customize-nav-menus' , 'customize-preview' ,
2017-09-24 16:22:54 +02:00
'ie' , 'login' ,
2014-02-16 01:36:14 +01:00
// wp-includes
'buttons' , 'admin-bar' , 'wp-auth-check' , 'editor-buttons' , 'media-views' , 'wp-pointer' ,
'wp-jquery-ui-dialog' ,
// deprecated
2016-03-06 16:38:28 +01:00
'deprecated-media' , 'farbtastic' ,
2014-02-16 01:36:14 +01:00
);
2013-03-16 06:25:44 +01:00
2010-02-24 00:46:07 +01:00
foreach ( $rtl_styles as $rtl_style ) {
2013-11-12 22:19:15 +01:00
$styles -> add_data ( $rtl_style , 'rtl' , 'replace' );
2013-11-13 06:10:10 +01:00
if ( $suffix ) {
$styles -> add_data ( $rtl_style , 'suffix' , $suffix );
}
2010-02-24 00:46:07 +01:00
}
2018-10-13 05:51:14 +02:00
// Packages styles
$fonts_url = '' ;
/*
* Translators : If there are characters in your language that are not supported
* by Noto Serif , translate this to 'off' . Do not translate into your own language .
*/
if ( 'off' !== _x ( 'on' , 'Noto Serif font: on or off' ) ) {
$fonts_url = 'https://fonts.googleapis.com/css?family=Noto+Serif%3A400%2C400i%2C700%2C700i' ;
}
$styles -> add ( 'wp-editor-font' , $fonts_url );
2018-10-19 08:06:46 +02:00
$styles -> add ( 'wp-block-library-theme' , '/wp-includes/css/dist/block-library/theme.css' );
2018-10-13 05:51:14 +02:00
$styles -> add_data ( 'wp-block-library-theme' , 'rtl' , 'replace' );
$styles -> add (
'wp-edit-blocks' ,
2018-10-19 08:06:46 +02:00
'/wp-includes/css/dist/block-library/editor.css' ,
2018-10-13 05:51:14 +02:00
array (
'wp-components' ,
'wp-editor' ,
// Always include visual styles so the editor never appears broken.
'wp-block-library-theme' ,
)
);
$styles -> add_data ( 'wp-edit-blocks' , 'rtl' , 'replace' );
$package_styles = array (
'block-library' => array (),
'components' => array (),
'edit-post' => array ( 'wp-components' , 'wp-editor' , 'wp-edit-blocks' , 'wp-block-library' , 'wp-nux' ),
'editor' => array ( 'wp-components' , 'wp-editor-font' , 'wp-nux' ),
'list-reusable-blocks' => array ( 'wp-components' ),
'nux' => array ( 'wp-components' ),
);
foreach ( $package_styles as $package => $dependencies ) {
$handle = 'wp-' . $package ;
2018-10-19 08:06:46 +02:00
$path = '/wp-includes/css/dist/' . $package . '/style.css' ;
2018-10-13 05:51:14 +02:00
$styles -> add ( $handle , $path , $dependencies );
$styles -> add_data ( $handle , 'rtl' , 'replace' );
}
2008-05-22 01:24:23 +02:00
}
2008-08-30 21:51:29 +02:00
/**
* Reorder JavaScript scripts array to place prototype before jQuery .
*
* @ since 2.3 . 1
*
2011-09-05 21:08:15 +02:00
* @ param array $js_array JavaScript scripts array
2008-08-30 21:51:29 +02:00
* @ return array Reordered array , if needed .
*/
2007-10-09 23:04:26 +02:00
function wp_prototype_before_jquery ( $js_array ) {
2012-08-23 02:04:18 +02:00
if ( false === $prototype = array_search ( 'prototype' , $js_array , true ) )
2007-10-09 23:04:26 +02:00
return $js_array ;
2012-08-23 02:04:18 +02:00
if ( false === $jquery = array_search ( 'jquery' , $js_array , true ) )
2007-10-09 23:04:26 +02:00
return $js_array ;
if ( $prototype < $jquery )
return $js_array ;
unset ( $js_array [ $prototype ]);
array_splice ( $js_array , $jquery , 0 , 'prototype' );
return $js_array ;
}
2008-08-30 21:51:29 +02:00
/**
2010-03-21 07:06:18 +01:00
* Load localized data on print rather than initialization .
2008-08-30 21:51:29 +02:00
*
* These localizations require information that may not be loaded even by init .
*
* @ since 2.5 . 0
*/
2008-03-02 21:17:30 +01:00
function wp_just_in_time_script_localization () {
2008-10-15 17:56:14 +02:00
2011-07-31 15:59:23 +02:00
wp_localize_script ( 'autosave' , 'autosaveL10n' , array (
2008-03-06 07:07:53 +01:00
'autosaveInterval' => AUTOSAVE_INTERVAL ,
2013-03-13 11:08:16 +01:00
'blog_id' => get_current_blog_id (),
2008-03-06 07:07:53 +01:00
) );
2017-09-19 10:19:45 +02:00
wp_localize_script ( 'mce-view' , 'mceViewL10n' , array (
'shortcodes' => ! empty ( $GLOBALS [ 'shortcode_tags' ] ) ? array_keys ( $GLOBALS [ 'shortcode_tags' ] ) : array ()
) );
2017-10-12 07:10:50 +02:00
wp_localize_script ( 'word-count' , 'wordCountL10n' , array (
/*
* translators : If your word count is based on single characters ( e . g . East Asian characters ),
* enter 'characters_excluding_spaces' or 'characters_including_spaces' . Otherwise , enter 'words' .
* Do not translate into your own language .
*/
'type' => _x ( 'words' , 'Word count type. Do not translate!' ),
'shortcodes' => ! empty ( $GLOBALS [ 'shortcode_tags' ] ) ? array_keys ( $GLOBALS [ 'shortcode_tags' ] ) : array ()
) );
2016-06-29 14:58:29 +02:00
}
/**
* Localizes the jQuery UI datepicker .
*
* @ since 4.6 . 0
*
2017-06-26 00:06:41 +02:00
* @ link https :// api . jqueryui . com / datepicker / #options
2016-07-20 21:33:30 +02:00
*
2016-06-29 14:58:29 +02:00
* @ global WP_Locale $wp_locale The WordPress date and time locale object .
*/
function wp_localize_jquery_ui_datepicker () {
global $wp_locale ;
if ( ! wp_script_is ( 'jquery-ui-datepicker' , 'enqueued' ) ) {
return ;
}
// Convert the PHP date format into jQuery UI's format.
$datepicker_date_format = str_replace (
array (
'd' , 'j' , 'l' , 'z' , // Day.
'F' , 'M' , 'n' , 'm' , // Month.
'Y' , 'y' // Year.
),
array (
'dd' , 'd' , 'DD' , 'o' ,
'MM' , 'M' , 'm' , 'mm' ,
'yy' , 'y'
),
get_option ( 'date_format' )
);
$datepicker_defaults = wp_json_encode ( array (
'closeText' => __ ( 'Close' ),
'currentText' => __ ( 'Today' ),
'monthNames' => array_values ( $wp_locale -> month ),
'monthNamesShort' => array_values ( $wp_locale -> month_abbrev ),
'nextText' => __ ( 'Next' ),
'prevText' => __ ( 'Previous' ),
'dayNames' => array_values ( $wp_locale -> weekday ),
'dayNamesShort' => array_values ( $wp_locale -> weekday_abbrev ),
'dayNamesMin' => array_values ( $wp_locale -> weekday_initial ),
'dateFormat' => $datepicker_date_format ,
'firstDay' => absint ( get_option ( 'start_of_week' ) ),
'isRTL' => $wp_locale -> is_rtl (),
) );
2010-03-21 07:06:18 +01:00
2016-06-29 14:58:29 +02:00
wp_add_inline_script ( 'jquery-ui-datepicker' , " jQuery(document).ready(function(jQuery) { jQuery.datepicker.setDefaults( { $datepicker_defaults } );}); " );
2008-02-22 05:02:09 +01:00
}
2017-05-18 16:34:43 +02:00
/**
* Localizes community events data that needs to be passed to dashboard . js .
*
* @ since 4.8 . 0
*/
function wp_localize_community_events () {
if ( ! wp_script_is ( 'dashboard' ) ) {
return ;
}
require_once ( ABSPATH . 'wp-admin/includes/class-wp-community-events.php' );
2017-05-19 07:48:42 +02:00
$user_id = get_current_user_id ();
$saved_location = get_user_option ( 'community-events-location' , $user_id );
$saved_ip_address = isset ( $saved_location [ 'ip' ] ) ? $saved_location [ 'ip' ] : false ;
$current_ip_address = WP_Community_Events :: get_unsafe_client_ip ();
/*
* If the user ' s location is based on their IP address , then update their
* location when their IP address changes . This allows them to see events
* in their current city when travelling . Otherwise , they would always be
* shown events in the city where they were when they first loaded the
* Dashboard , which could have been months or years ago .
*/
if ( $saved_ip_address && $current_ip_address && $current_ip_address !== $saved_ip_address ) {
$saved_location [ 'ip' ] = $current_ip_address ;
update_user_option ( $user_id , 'community-events-location' , $saved_location , true );
}
$events_client = new WP_Community_Events ( $user_id , $saved_location );
2017-05-18 16:34:43 +02:00
wp_localize_script ( 'dashboard' , 'communityEventsData' , array (
'nonce' => wp_create_nonce ( 'community_events' ),
'cache' => $events_client -> get_cached_events (),
'l10n' => array (
'enter_closest_city' => __ ( 'Enter your closest city to find nearby events.' ),
'error_occurred_please_try_again' => __ ( 'An error occurred. Please try again.' ),
2017-05-19 07:48:42 +02:00
'attend_event_near_generic' => __ ( 'Attend an upcoming event near you.' ),
2017-05-18 16:34:43 +02:00
/*
* These specific examples were chosen to highlight the fact that a
* state is not needed , even for cities whose name is not unique .
* It would be too cumbersome to include that in the instructions
* to the user , so it ' s left as an implication .
*/
2017-06-01 11:49:42 +02:00
/* translators : % s is the name of the city we couldn ' t locate .
* Replace the examples with cities related to your locale . Test that
* they match the expected location and have upcoming events before
* including them . If no cities related to your locale have events ,
* then use cities related to your locale that would be recognizable
* to most users . Use only the city name itself , without any region
* or country . Use the endonym ( native locale name ) instead of the
* English name if possible .
*/
2017-05-18 16:34:43 +02:00
'could_not_locate_city' => __ ( 'We couldn’t locate %s. Please try another nearby city. For example: Kansas City; Springfield; Portland.' ),
// This one is only used with wp.a11y.speak(), so it can/should be more brief.
2017-09-29 13:42:48 +02:00
/* translators: %s: the name of a city */
2017-05-18 16:34:43 +02:00
'city_updated' => __ ( 'City updated. Listing events near %s.' ),
)
) );
}
2014-03-12 17:12:15 +01:00
/**
* Administration Screen CSS for changing the styles .
*
* If installing the 'wp-admin/' directory will be replaced with './' .
*
* The $_wp_admin_css_colors global manages the Administration Screens CSS
* stylesheet that is loaded . The option that is set is 'admin_color' and is the
* color and key for the array . The value for the color key is an object with
* a 'url' parameter that has the URL path to the CSS file .
*
* The query from $src parameter will be appended to the URL that is given from
* the $_wp_admin_css_colors array value URL .
*
* @ since 2.6 . 0
2015-05-27 21:34:27 +02:00
* @ global array $_wp_admin_css_colors
2014-03-12 17:12:15 +01:00
*
2015-05-27 21:34:27 +02:00
* @ param string $src Source URL .
2014-03-12 17:12:15 +01:00
* @ param string $handle Either 'colors' or 'colors-rtl' .
2015-05-27 21:34:27 +02:00
* @ return string | false URL path to CSS stylesheet for Administration Screens .
2014-03-12 17:12:15 +01:00
*/
function wp_style_loader_src ( $src , $handle ) {
global $_wp_admin_css_colors ;
Use `wp_installing()` instead of `WP_INSTALLING` constant.
The `WP_INSTALLING` constant is a flag that WordPress sets in a number of
places, telling the system that options should be fetched directly from the
database instead of from the cache, that WP should not ping wordpress.org for
updates, that the normal "not installed" checks should be bypassed, and so on.
A constant is generally necessary for this purpose, because the flag is
typically set before the WP bootstrap, meaning that WP functions are not yet
available. However, it is possible - notably, during `wpmu_create_blog()` -
for the "installing" flag to be set after WP has already loaded. In these
cases, `WP_INSTALLING` would be set for the remainder of the process, since
there's no way to change a constant once it's defined. This, in turn, polluted
later function calls that ought to have been outside the scope of site
creation, particularly the non-caching of option data. The problem was
particularly evident in the case of the automated tests, where `WP_INSTALLING`
was set the first time a site was created, and remained set for the rest of the
suite.
The new `wp_installing()` function allows developers to fetch the current
installation status (when called without any arguments) or to set the
installation status (when called with a boolean `true` or `false`). Use of
the `WP_INSTALLING` constant is still supported; `wp_installing()` will default
to `true` if the constant is defined during the bootstrap.
Props boonebgorges, jeremyfelt.
See #31130.
Built from https://develop.svn.wordpress.org/trunk@34828
git-svn-id: http://core.svn.wordpress.org/trunk@34793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-05 17:06:28 +02:00
if ( wp_installing () )
2014-03-12 17:12:15 +01:00
return preg_replace ( '#^wp-admin/#' , './' , $src );
if ( 'colors' == $handle ) {
$color = get_user_option ( 'admin_color' );
if ( empty ( $color ) || ! isset ( $_wp_admin_css_colors [ $color ]) )
$color = 'fresh' ;
$color = $_wp_admin_css_colors [ $color ];
$url = $color -> url ;
if ( ! $url ) {
return false ;
}
2016-02-19 21:44:26 +01:00
$parsed = parse_url ( $src );
2014-03-12 17:12:15 +01:00
if ( isset ( $parsed [ 'query' ]) && $parsed [ 'query' ] ) {
wp_parse_str ( $parsed [ 'query' ], $qv );
$url = add_query_arg ( $qv , $url );
}
return $url ;
}
return $src ;
}
2009-01-14 15:18:51 +01:00
/**
2009-01-26 13:59:10 +01:00
* Prints the script queue in the HTML head on admin pages .
2009-01-14 15:18:51 +01:00
*
* Postpones the scripts that were queued for the footer .
2009-01-26 13:59:10 +01:00
* print_footer_scripts () is called in the footer to print these scripts .
2009-01-14 15:18:51 +01:00
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2013-10-27 18:51:09 +01:00
*
2009-01-14 15:18:51 +01:00
* @ see wp_print_scripts ()
2015-05-27 21:34:27 +02:00
*
* @ global bool $concatenate_scripts
*
* @ return array
2009-01-14 15:18:51 +01:00
*/
2009-01-26 13:59:10 +01:00
function print_head_scripts () {
2015-05-27 21:34:27 +02:00
global $concatenate_scripts ;
2009-02-23 09:47:49 +01:00
2013-10-27 18:51:09 +01:00
if ( ! did_action ( 'wp_print_scripts' ) ) {
/** This action is documented in wp-includes/functions.wp-scripts.php */
do_action ( 'wp_print_scripts' );
}
2009-01-26 13:59:10 +01:00
2015-05-27 21:34:27 +02:00
$wp_scripts = wp_scripts ();
2009-01-14 15:18:51 +01:00
2009-01-26 13:59:10 +01:00
script_concat_settings ();
2009-01-14 15:18:51 +01:00
$wp_scripts -> do_concat = $concatenate_scripts ;
$wp_scripts -> do_head_items ();
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters whether to print the head scripts .
2014-03-26 06:52:15 +01:00
*
* @ since 2.8 . 0
*
* @ param bool $print Whether to print the head scripts . Default true .
*/
if ( apply_filters ( 'print_head_scripts' , true ) ) {
2009-02-23 09:47:49 +01:00
_print_scripts ();
2014-03-26 06:52:15 +01:00
}
2009-01-14 15:18:51 +01:00
2009-01-26 13:59:10 +01:00
$wp_scripts -> reset ();
2009-01-14 15:18:51 +01:00
return $wp_scripts -> done ;
}
/**
2011-07-25 02:36:06 +02:00
* Prints the scripts that were queued for the footer or too late for the HTML head .
2009-01-14 15:18:51 +01:00
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2015-05-27 21:34:27 +02:00
*
* @ global WP_Scripts $wp_scripts
* @ global bool $concatenate_scripts
*
* @ return array
2009-01-14 15:18:51 +01:00
*/
2009-01-26 13:59:10 +01:00
function print_footer_scripts () {
2009-01-14 15:18:51 +01:00
global $wp_scripts , $concatenate_scripts ;
2015-01-16 02:06:24 +01:00
if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
2009-01-14 15:18:51 +01:00
return array (); // No need to run if not instantiated.
2015-01-16 02:06:24 +01:00
}
2009-01-26 13:59:10 +01:00
script_concat_settings ();
2009-01-14 15:18:51 +01:00
$wp_scripts -> do_concat = $concatenate_scripts ;
$wp_scripts -> do_footer_items ();
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters whether to print the footer scripts .
2014-03-26 06:52:15 +01:00
*
* @ since 2.8 . 0
*
* @ param bool $print Whether to print the footer scripts . Default true .
*/
if ( apply_filters ( 'print_footer_scripts' , true ) ) {
2009-02-23 09:47:49 +01:00
_print_scripts ();
2014-03-26 06:52:15 +01:00
}
2009-01-14 15:18:51 +01:00
2009-01-26 13:59:10 +01:00
$wp_scripts -> reset ();
2009-01-14 15:18:51 +01:00
return $wp_scripts -> done ;
}
2011-07-25 02:36:06 +02:00
/**
2015-01-13 01:51:21 +01:00
* Print scripts ( internal use only )
*
* @ ignore
2015-05-27 21:34:27 +02:00
*
* @ global WP_Scripts $wp_scripts
* @ global bool $compress_scripts
2011-07-25 02:36:06 +02:00
*/
2009-02-23 09:47:49 +01:00
function _print_scripts () {
2009-01-14 15:18:51 +01:00
global $wp_scripts , $compress_scripts ;
$zip = $compress_scripts ? 1 : 0 ;
2009-01-26 13:59:10 +01:00
if ( $zip && defined ( 'ENFORCE_GZIP' ) && ENFORCE_GZIP )
$zip = 'gzip' ;
2009-01-14 15:18:51 +01:00
2012-12-05 19:57:56 +01:00
if ( $concat = trim ( $wp_scripts -> concat , ', ' ) ) {
2009-01-14 15:18:51 +01:00
if ( ! empty ( $wp_scripts -> print_code ) ) {
2011-07-25 02:36:06 +02:00
echo " \n <script type='text/javascript'> \n " ;
echo " /* <![CDATA[ */ \n " ; // not needed in HTML 5
2009-01-14 15:18:51 +01:00
echo $wp_scripts -> print_code ;
echo " /* ]]> */ \n " ;
echo " </script> \n " ;
}
2012-12-05 19:57:56 +01:00
$concat = str_split ( $concat , 128 );
2012-12-26 21:26:19 +01:00
$concat = 'load%5B%5D=' . implode ( '&load%5B%5D=' , $concat );
2012-12-05 19:57:56 +01:00
$src = $wp_scripts -> base_url . " /wp-admin/load-scripts.php?c= { $zip } & " . $concat . '&ver=' . $wp_scripts -> default_version ;
2009-05-05 21:43:53 +02:00
echo " <script type='text/javascript' src=' " . esc_attr ( $src ) . " '></script> \n " ;
2009-01-14 15:18:51 +01:00
}
2015-01-16 02:11:23 +01:00
if ( ! empty ( $wp_scripts -> print_html ) )
2009-01-14 15:18:51 +01:00
echo $wp_scripts -> print_html ;
2009-01-26 13:59:10 +01:00
}
2009-01-15 20:50:23 +01:00
2009-01-26 13:59:10 +01:00
/**
* Prints the script queue in the HTML head on the front end .
*
* Postpones the scripts that were queued for the footer .
* wp_print_footer_scripts () is called in the footer to print these scripts .
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2015-05-27 21:34:27 +02:00
*
* @ global WP_Scripts $wp_scripts
*
* @ return array
2009-01-26 13:59:10 +01:00
*/
function wp_print_head_scripts () {
2013-10-27 18:51:09 +01:00
if ( ! did_action ( 'wp_print_scripts' ) ) {
/** This action is documented in wp-includes/functions.wp-scripts.php */
do_action ( 'wp_print_scripts' );
}
2009-01-26 13:59:10 +01:00
global $wp_scripts ;
2009-02-01 10:45:24 +01:00
2015-01-16 02:06:24 +01:00
if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
2009-01-26 13:59:10 +01:00
return array (); // no need to run if nothing is queued
2015-01-16 02:06:24 +01:00
}
2009-01-26 13:59:10 +01:00
return print_head_scripts ();
2009-01-14 15:18:51 +01:00
}
2009-01-26 13:59:10 +01:00
/**
2011-08-26 22:31:30 +02:00
* Private , for use in * _footer_scripts hooks
2009-01-26 13:59:10 +01:00
*
2012-01-04 20:03:33 +01:00
* @ since 3.3 . 0
2009-01-26 13:59:10 +01:00
*/
2011-08-26 22:31:30 +02:00
function _wp_footer_scripts () {
2011-07-21 18:32:01 +02:00
print_late_styles ();
print_footer_scripts ();
2011-08-26 22:31:30 +02:00
}
2011-07-25 02:36:06 +02:00
2011-08-26 22:31:30 +02:00
/**
* Hooks to print the scripts and styles in the footer .
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2011-08-26 22:31:30 +02:00
*/
function wp_print_footer_scripts () {
2014-03-26 06:52:15 +01:00
/**
* Fires when footer scripts are printed .
*
* @ since 2.8 . 0
*/
do_action ( 'wp_print_footer_scripts' );
2009-01-26 13:59:10 +01:00
}
/**
* Wrapper for do_action ( 'wp_enqueue_scripts' )
2009-02-01 10:45:24 +01:00
*
2009-01-26 13:59:10 +01:00
* Allows plugins to queue scripts for the front end using wp_enqueue_script () .
* Runs first in wp_head () where all is_home (), is_page (), etc . functions are available .
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2009-01-26 13:59:10 +01:00
*/
function wp_enqueue_scripts () {
2014-03-26 06:52:15 +01:00
/**
* Fires when scripts and styles are enqueued .
*
* @ since 2.8 . 0
*/
do_action ( 'wp_enqueue_scripts' );
2009-01-26 13:59:10 +01:00
}
2011-07-25 02:36:06 +02:00
/**
* Prints the styles queue in the HTML head on admin pages .
2011-08-30 03:12:26 +02:00
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2015-05-27 21:34:27 +02:00
*
* @ global bool $concatenate_scripts
*
* @ return array
2011-07-25 02:36:06 +02:00
*/
2009-01-26 13:59:10 +01:00
function print_admin_styles () {
2015-05-27 21:34:27 +02:00
global $concatenate_scripts ;
2009-01-14 15:18:51 +01:00
2015-05-27 21:34:27 +02:00
$wp_styles = wp_styles ();
2009-01-14 15:18:51 +01:00
2009-01-26 13:59:10 +01:00
script_concat_settings ();
2009-01-14 15:18:51 +01:00
$wp_styles -> do_concat = $concatenate_scripts ;
$wp_styles -> do_items ( false );
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters whether to print the admin styles .
2014-03-26 06:52:15 +01:00
*
* @ since 2.8 . 0
*
* @ param bool $print Whether to print the admin styles . Default true .
*/
if ( apply_filters ( 'print_admin_styles' , true ) ) {
2011-07-21 18:32:01 +02:00
_print_styles ();
2014-03-26 06:52:15 +01:00
}
2009-01-14 15:18:51 +01:00
2011-07-21 18:32:01 +02:00
$wp_styles -> reset ();
return $wp_styles -> done ;
}
2011-07-25 02:36:06 +02:00
/**
* Prints the styles that were queued too late for the HTML head .
*
2012-01-04 20:03:33 +01:00
* @ since 3.3 . 0
2015-05-27 21:34:27 +02:00
*
* @ global WP_Styles $wp_styles
* @ global bool $concatenate_scripts
*
* @ return array | void
2011-07-25 02:36:06 +02:00
*/
2011-07-21 18:32:01 +02:00
function print_late_styles () {
global $wp_styles , $concatenate_scripts ;
2015-01-16 02:06:24 +01:00
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
2011-07-21 18:32:01 +02:00
return ;
2015-01-16 02:06:24 +01:00
}
2011-07-21 18:32:01 +02:00
2016-01-18 10:57:29 +01:00
script_concat_settings ();
2011-07-21 18:32:01 +02:00
$wp_styles -> do_concat = $concatenate_scripts ;
$wp_styles -> do_footer_items ();
2014-03-26 06:52:15 +01:00
/**
2016-05-22 20:50:28 +02:00
* Filters whether to print the styles queued too late for the HTML head .
2014-03-26 06:52:15 +01:00
*
* @ since 3.3 . 0
*
* @ param bool $print Whether to print the 'late' styles . Default true .
*/
if ( apply_filters ( 'print_late_styles' , true ) ) {
2011-07-21 18:32:01 +02:00
_print_styles ();
2014-03-26 06:52:15 +01:00
}
2009-01-14 15:18:51 +01:00
2011-07-21 18:32:01 +02:00
$wp_styles -> reset ();
2009-01-14 15:18:51 +01:00
return $wp_styles -> done ;
}
2011-07-25 02:36:06 +02:00
/**
2015-01-13 01:51:21 +01:00
* Print styles ( internal use only )
*
* @ ignore
2016-02-26 15:39:26 +01:00
* @ since 3.3 . 0
2015-05-27 21:34:27 +02:00
*
* @ global bool $compress_css
2011-07-25 02:36:06 +02:00
*/
2011-07-21 18:32:01 +02:00
function _print_styles () {
2015-05-27 21:34:27 +02:00
global $compress_css ;
$wp_styles = wp_styles ();
2011-07-21 18:32:01 +02:00
$zip = $compress_css ? 1 : 0 ;
if ( $zip && defined ( 'ENFORCE_GZIP' ) && ENFORCE_GZIP )
$zip = 'gzip' ;
2016-01-18 10:57:29 +01:00
if ( $concat = trim ( $wp_styles -> concat , ', ' ) ) {
2011-07-21 18:32:01 +02:00
$dir = $wp_styles -> text_direction ;
2011-12-21 06:40:09 +01:00
$ver = $wp_styles -> default_version ;
2016-01-18 10:57:29 +01:00
$concat = str_split ( $concat , 128 );
$concat = 'load%5B%5D=' . implode ( '&load%5B%5D=' , $concat );
$href = $wp_styles -> base_url . " /wp-admin/load-styles.php?c= { $zip } &dir= { $dir } & " . $concat . '&ver=' . $ver ;
2011-07-21 18:32:01 +02:00
echo " <link rel='stylesheet' href=' " . esc_attr ( $href ) . " ' type='text/css' media='all' /> \n " ;
2011-07-25 02:36:06 +02:00
if ( ! empty ( $wp_styles -> print_code ) ) {
echo " <style type='text/css'> \n " ;
echo $wp_styles -> print_code ;
echo " \n </style> \n " ;
}
2011-07-21 18:32:01 +02:00
}
if ( ! empty ( $wp_styles -> print_html ) )
echo $wp_styles -> print_html ;
}
2011-07-25 02:36:06 +02:00
/**
* Determine the concatenation and compression settings for scripts and styles .
2011-08-30 03:12:26 +02:00
*
2013-12-24 19:57:12 +01:00
* @ since 2.8 . 0
2015-05-27 21:34:27 +02:00
*
* @ global bool $concatenate_scripts
* @ global bool $compress_scripts
* @ global bool $compress_css
2011-07-25 02:36:06 +02:00
*/
2009-01-14 15:18:51 +01:00
function script_concat_settings () {
2009-01-17 15:08:15 +01:00
global $concatenate_scripts , $compress_scripts , $compress_css ;
2009-01-14 15:18:51 +01:00
2009-02-01 10:45:24 +01:00
$compressed_output = ( ini_get ( 'zlib.output_compression' ) || 'ob_gzhandler' == ini_get ( 'output_handler' ) );
2009-01-26 13:59:10 +01:00
if ( ! isset ( $concatenate_scripts ) ) {
$concatenate_scripts = defined ( 'CONCATENATE_SCRIPTS' ) ? CONCATENATE_SCRIPTS : true ;
2016-01-18 10:57:29 +01:00
if ( ( ! is_admin () && ! did_action ( 'login_init' ) ) || ( defined ( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) )
2009-01-26 13:59:10 +01:00
$concatenate_scripts = false ;
}
2009-01-14 15:18:51 +01:00
2009-01-26 13:59:10 +01:00
if ( ! isset ( $compress_scripts ) ) {
$compress_scripts = defined ( 'COMPRESS_SCRIPTS' ) ? COMPRESS_SCRIPTS : true ;
2015-10-07 19:11:25 +02:00
if ( $compress_scripts && ( ! get_site_option ( 'can_compress_scripts' ) || $compressed_output ) )
2009-01-26 13:59:10 +01:00
$compress_scripts = false ;
}
2009-01-17 15:08:15 +01:00
2009-01-26 13:59:10 +01:00
if ( ! isset ( $compress_css ) ) {
$compress_css = defined ( 'COMPRESS_CSS' ) ? COMPRESS_CSS : true ;
2015-10-07 19:11:25 +02:00
if ( $compress_css && ( ! get_site_option ( 'can_compress_scripts' ) || $compressed_output ) )
2009-01-26 13:59:10 +01:00
$compress_css = false ;
}
2009-01-14 15:18:51 +01:00
}