-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
Copy pathnavigation-page.php
97 lines (85 loc) · 2.32 KB
/
navigation-page.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
/**
* Bootstraping the Gutenberg Navigation page.
*
* @package gutenberg
*/
/**
* The main entry point for the Gutenberg Navigation page.
*
* @since 7.8.0
*/
function gutenberg_navigation_page() {
?>
<div
id="navigation-editor"
class="edit-navigation"
>
</div>
<?php
}
/**
* Initialize the Gutenberg Navigation page.
*
* @since 7.8.0
*
* @param string $hook Page.
*/
function gutenberg_navigation_init( $hook ) {
if ( 'gutenberg_page_gutenberg-navigation' !== $hook ) {
return;
}
// Media settings.
$max_upload_size = wp_max_upload_size();
if ( ! $max_upload_size ) {
$max_upload_size = 0;
}
/** This filter is documented in wp-admin/includes/media.php */
$image_size_names = apply_filters(
'image_size_names_choose',
array(
'thumbnail' => __( 'Thumbnail', 'gutenberg' ),
'medium' => __( 'Medium', 'gutenberg' ),
'large' => __( 'Large', 'gutenberg' ),
'full' => __( 'Full Size', 'gutenberg' ),
)
);
$available_image_sizes = array();
foreach ( $image_size_names as $image_size_slug => $image_size_name ) {
$available_image_sizes[] = array(
'slug' => $image_size_slug,
'name' => $image_size_name,
);
}
$settings = array(
'imageSizes' => $available_image_sizes,
'isRTL' => is_rtl(),
'maxUploadFileSize' => $max_upload_size,
'blockNavMenus' => get_theme_support( 'block-nav-menus' ),
);
list( $font_sizes, ) = (array) get_theme_support( 'editor-font-sizes' );
if ( false !== $font_sizes ) {
$settings['fontSizes'] = $font_sizes;
}
$settings = gutenberg_experimental_global_styles_settings( $settings );
wp_add_inline_script(
'wp-edit-navigation',
sprintf(
'wp.domReady( function() {
wp.editNavigation.initialize( "navigation-editor", %s );
} );',
wp_json_encode( gutenberg_experiments_editor_settings( $settings ) )
)
);
// Preload server-registered block schemas.
wp_add_inline_script(
'wp-blocks',
'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . wp_json_encode( get_block_editor_server_block_settings() ) . ');'
);
wp_enqueue_script( 'wp-edit-navigation' );
wp_enqueue_style( 'wp-edit-navigation' );
wp_enqueue_style( 'wp-block-library' );
wp_enqueue_script( 'wp-format-library' );
wp_enqueue_style( 'wp-format-library' );
}
add_action( 'admin_enqueue_scripts', 'gutenberg_navigation_init' );