mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-11 10:01:52 +01:00
Styles: Add helper functions for loading block styles.
Blocks are able to register styles that used in the editor and the frontend, or only in the editor. These functions ensure the correct styles are loaded in the correct place. See #45065. Built from https://develop.svn.wordpress.org/branches/5.0@43812 git-svn-id: http://core.svn.wordpress.org/branches/5.0@43641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
7e3414597f
commit
23984141ce
@ -495,6 +495,10 @@ add_action( 'wp_default_scripts', 'wp_default_packages' );
|
||||
|
||||
add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
|
||||
add_action( 'admin_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
|
||||
add_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
|
||||
add_action( 'admin_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
|
||||
add_action( 'enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles' );
|
||||
add_action( 'enqueue_block_editor_assets', 'wp_enqueue_registered_block_scripts_and_styles' );
|
||||
add_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' );
|
||||
add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
|
||||
add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
|
||||
|
@ -2178,3 +2178,74 @@ function script_concat_settings() {
|
||||
$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
|
||||
*
|
||||
* @global WP_Screen $current_screen
|
||||
*/
|
||||
function wp_common_block_scripts_and_styles() {
|
||||
global $current_screen;
|
||||
|
||||
if ( is_admin() && ! $current_screen->is_block_editor() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
wp_enqueue_style( 'wp-block-library' );
|
||||
|
||||
if ( current_theme_supports( 'wp-block-styles' ) ) {
|
||||
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' );
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
function wp_enqueue_registered_block_scripts_and_styles() {
|
||||
global $current_screen;
|
||||
|
||||
$is_editor = ( is_admin() && $current_screen->is_block_editor() );
|
||||
|
||||
$block_registry = WP_Block_Type_Registry::get_instance();
|
||||
foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) {
|
||||
// Front-end styles.
|
||||
if ( ! empty( $block_type->style ) ) {
|
||||
wp_enqueue_style( $block_type->style );
|
||||
}
|
||||
|
||||
// Front-end script.
|
||||
if ( ! empty( $block_type->script ) ) {
|
||||
wp_enqueue_script( $block_type->script );
|
||||
}
|
||||
|
||||
// Editor styles.
|
||||
if ( $is_editor && ! empty( $block_type->editor_style ) ) {
|
||||
wp_enqueue_style( $block_type->editor_style );
|
||||
}
|
||||
|
||||
// Editor script.
|
||||
if ( $is_editor && ! empty( $block_type->editor_script ) ) {
|
||||
wp_enqueue_script( $block_type->editor_script );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '5.0-alpha-43811';
|
||||
$wp_version = '5.0-alpha-43812';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
Loading…
Reference in New Issue
Block a user