WordPress Version: 6.5
/**
* 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'));
$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', 'wp-preferences'), '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', 'wp-preferences'), 'editor' => array('wp-components', 'wp-block-editor', 'wp-reusable-blocks', 'wp-patterns', 'wp-preferences'), 'format-library' => array(), 'list-reusable-blocks' => array('wp-components'), 'reusable-blocks' => array('wp-components'), 'patterns' => array('wp-components'), 'preferences' => 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', 'wp-preferences'), 'customize-widgets' => array('wp-widgets', 'wp-block-editor', 'wp-edit-blocks', 'wp-block-library', 'wp-reusable-blocks', 'wp-patterns', 'wp-preferences'), 'edit-site' => array('wp-components', 'wp-block-editor', 'wp-edit-blocks', 'wp-commands', 'wp-preferences'));
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);
}
}
}