PluginProbe
Gutenberg / 7.4.0
Gutenberg v7.4.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 7.4.0, at lib/widgets-page.php

118 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 'isRTL' => is_rtl(),
78 'maxUploadFileSize' => $max_upload_size,
79 ),
80 gutenberg_get_legacy_widget_settings()
81 );
82
83 list( $color_palette, ) = (array) get_theme_support( 'editor-color-palette' );
84 list( $font_sizes, ) = (array) get_theme_support( 'editor-font-sizes' );
85
86 if ( false !== $color_palette ) {
87 $settings['colors'] = $color_palette;
88 }
89
90 if ( false !== $font_sizes ) {
91 $settings['fontSizes'] = $font_sizes;
92 }
93
94 wp_add_inline_script(
95 'wp-edit-widgets',
96 sprintf(
97 'wp.domReady( function() {
98 wp.editWidgets.%s( "widgets-editor", %s );
99 } );',
100 $initializer_name,
101 wp_json_encode( gutenberg_experiments_editor_settings( $settings ) )
102 )
103 );
104
105 // Preload server-registered block schemas.
106 wp_add_inline_script(
107 'wp-blocks',
108 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . wp_json_encode( get_block_editor_server_block_settings() ) . ');'
109 );
110
111 wp_enqueue_script( 'wp-edit-widgets' );
112 wp_enqueue_script( 'admin-widgets' );
113 wp_enqueue_script( 'wp-format-library' );
114 wp_enqueue_style( 'wp-edit-widgets' );
115 wp_enqueue_style( 'wp-format-library' );
116 }
117 add_action( 'admin_enqueue_scripts', 'gutenberg_widgets_init' );
118