PluginProbe
Gutenberg / 6.6.0
Gutenberg v6.6.0
23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 7.4.0 All 402 releases
gutenberg / lib / widgets-page.php

widgets-page.php in Gutenberg 6.6.0, at lib/widgets-page.php

116 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Bootstraping the Gutenberg widgets page.
4 *
5 * @package gutenberg
6 */
7
8 /**
9 * The main entry point for the Gutenberg widgets page.
10 *
11 * @since 5.2.0
12 *
13 * @param string $page The page name the function is being called for, `'gutenberg_customizer'` for the Customizer.
14 */
15 function the_gutenberg_widgets( $page = 'gutenberg_page_gutenberg-widgets' ) {
16 ?>
17 <div
18 id="widgets-editor"
19 class="blocks-widgets-container
20 <?php
21 echo 'gutenberg_customizer' === $page
22 ? ' is-in-customizer'
23 : '';
24 ?>
25 "
26 >
27 </div>
28 <?php
29 }
30
31 /**
32 * Initialize the Gutenberg widgets page.
33 *
34 * @since 5.2.0
35 *
36 * @param string $hook Page.
37 */
38 function gutenberg_widgets_init( $hook ) {
39 if ( 'gutenberg_page_gutenberg-widgets' !== $hook && 'gutenberg_customizer' !== $hook ) {
40 return;
41 }
42
43 $initializer_name = 'gutenberg_page_gutenberg-widgets' === $hook
44 ? 'initialize'
45 : 'customizerInitialize';
46
47 // Media settings.
48 $max_upload_size = wp_max_upload_size();
49 if ( ! $max_upload_size ) {
50 $max_upload_size = 0;
51 }
52
53 /** This filter is documented in wp-admin/includes/media.php */
54 $image_size_names = apply_filters(
55 'image_size_names_choose',
56 array(
57 'thumbnail' => __( 'Thumbnail', 'gutenberg' ),
58 'medium' => __( 'Medium', 'gutenberg' ),
59 'large' => __( 'Large', 'gutenberg' ),
60 'full' => __( 'Full Size', 'gutenberg' ),
61 )
62 );
63
64 $available_image_sizes = array();
65 foreach ( $image_size_names as $image_size_slug => $image_size_name ) {
66 $available_image_sizes[] = array(
67 'slug' => $image_size_slug,
68 'name' => $image_size_name,
69 );
70 }
71
72 $settings = array_merge(
73 array(
74 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ),
75 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ),
76 'imageSizes' => $available_image_sizes,
77 'maxUploadFileSize' => $max_upload_size,
78 ),
79 gutenberg_get_legacy_widget_settings()
80 );
81
82 list( $color_palette, ) = (array) get_theme_support( 'editor-color-palette' );
83 list( $font_sizes, ) = (array) get_theme_support( 'editor-font-sizes' );
84
85 if ( false !== $color_palette ) {
86 $settings['colors'] = $color_palette;
87 }
88
89 if ( false !== $font_sizes ) {
90 $settings['fontSizes'] = $font_sizes;
91 }
92
93 wp_add_inline_script(
94 'wp-edit-widgets',
95 sprintf(
96 'wp.domReady( function() {
97 wp.editWidgets.%s( "widgets-editor", %s );
98 } );',
99 $initializer_name,
100 wp_json_encode( gutenberg_experiments_editor_settings( $settings ) )
101 )
102 );
103
104 // Preload server-registered block schemas.
105 wp_add_inline_script(
106 'wp-blocks',
107 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . wp_json_encode( get_block_editor_server_block_settings() ) . ');'
108 );
109
110 wp_enqueue_script( 'wp-edit-widgets' );
111 wp_enqueue_script( 'wp-format-library' );
112 wp_enqueue_style( 'wp-edit-widgets' );
113 wp_enqueue_style( 'wp-format-library' );
114 }
115 add_action( 'admin_enqueue_scripts', 'gutenberg_widgets_init' );
116