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. Props pento. Merges [43812] to trunk. See #45065. Built from https://develop.svn.wordpress.org/trunk@44157 git-svn-id: http://core.svn.wordpress.org/trunk@43987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
e740c695e6
commit
102b13cdb9
|
@ -507,6 +507,10 @@ add_action( 'wp_default_scripts', 'wp_default_packages' );
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
|
add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
|
||||||
add_action( 'admin_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_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' );
|
||||||
add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
|
add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
|
||||||
add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
|
add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
|
||||||
|
|
|
@ -2415,3 +2415,74 @@ function script_concat_settings() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '5.1-alpha-44156';
|
$wp_version = '5.1-alpha-44157';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue