mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-03 04:04:35 +00: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. Props pento. Merges [43812] to trunk. See #45065. git-svn-id: https://develop.svn.wordpress.org/trunk@44157 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user