PluginProbe
Gutenberg / 24.0.0
Gutenberg v24.0.0
24.0.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 All 403 releases
← All changes | lib/init.php +9 -131 12.6.024.0.0 View file →
@@ -7,144 +7,22 @@
7 7
8 8 /**
9 9 * Gutenberg's Menu.
10 10 *
11 - * Adds a new wp-admin menu page for the Gutenberg editor.
11 + * Surfaces the "Experiments" screen as a submenu under
12 + * the core Settings menu, rather than as a dedicated top-level menu. The page
13 + * is rendered by the auto-generated `gutenberg_experiments_wp_admin_render_page()`
14 + * callback (see `lib/experimental/experiments/load.php`).
12 15 *
13 16 * @since 0.1.0
14 17 */
15 18 function gutenberg_menu() {
16 - add_menu_page(
19 + add_submenu_page(
20 + 'options-general.php',
17 21 'Gutenberg',
18 22 'Gutenberg',
19 - 'edit_posts',
20 - 'gutenberg',
21 - '',
22 - 'dashicons-edit'
23 + 'manage_options',
24 + 'experiments-wp-admin',
25 + 'gutenberg_experiments_wp_admin_render_page'
23 26 );
24 -
25 - add_submenu_page(
26 - 'gutenberg',
27 - __( 'Demo', 'gutenberg' ),
28 - __( 'Demo', 'gutenberg' ),
29 - 'edit_posts',
30 - 'gutenberg'
31 - );
32 -
33 - if ( get_option( 'gutenberg-experiments' ) ) {
34 - if ( array_key_exists( 'gutenberg-navigation', get_option( 'gutenberg-experiments' ) ) ) {
35 - add_submenu_page(
36 - 'gutenberg',
37 - __( 'Navigation (beta)', 'gutenberg' ),
38 - __( 'Navigation (beta)', 'gutenberg' ),
39 - 'edit_theme_options',
40 - 'gutenberg-navigation',
41 - 'gutenberg_navigation_page'
42 - );
43 - }
44 - }
45 - if ( current_user_can( 'edit_posts' ) ) {
46 - add_submenu_page(
47 - 'gutenberg',
48 - __( 'Support', 'gutenberg' ),
49 - __( 'Support', 'gutenberg' ),
50 - 'edit_posts',
51 - __( 'https://wordpress.org/support/plugin/gutenberg/', 'gutenberg' )
52 - );
53 - add_submenu_page(
54 - 'gutenberg',
55 - __( 'Documentation', 'gutenberg' ),
56 - __( 'Documentation', 'gutenberg' ),
57 - 'edit_posts',
58 - 'https://developer.wordpress.org/block-editor/'
59 - );
60 - }
61 -
62 - add_submenu_page(
63 - 'gutenberg',
64 - __( 'Experiments Settings', 'gutenberg' ),
65 - __( 'Experiments', 'gutenberg' ),
66 - 'edit_posts',
67 - 'gutenberg-experiments',
68 - 'the_gutenberg_experiments'
69 - );
70 27 }
71 28 add_action( 'admin_menu', 'gutenberg_menu', 9 );
72 -
73 -/**
74 - * Site editor's Menu.
75 - *
76 - * Adds a new wp-admin menu item for the Site editor.
77 - *
78 - * @since 9.4.0
79 - */
80 -function gutenberg_site_editor_menu() {
81 - if ( wp_is_block_theme() ) {
82 - add_theme_page(
83 - __( 'Editor (beta)', 'gutenberg' ),
84 - sprintf(
85 - /* translators: %s: "beta" label. */
86 - __( 'Editor %s', 'gutenberg' ),
87 - '<span class="awaiting-mod">' . __( 'beta', 'gutenberg' ) . '</span>'
88 - ),
89 - 'edit_theme_options',
90 - 'gutenberg-edit-site',
91 - 'gutenberg_edit_site_page'
92 - );
93 - }
94 -}
95 -add_action( 'admin_menu', 'gutenberg_site_editor_menu', 9 );
96 -
97 -/**
98 - * Outputs a WP REST API nonce.
99 - */
100 -function gutenberg_rest_nonce() {
101 - exit( wp_create_nonce( 'wp_rest' ) );
102 -}
103 -add_action( 'wp_ajax_gutenberg_rest_nonce', 'gutenberg_rest_nonce' );
104 -
105 -
106 -/**
107 - * Exposes the site icon url to the Gutenberg editor through the WordPress REST
108 - * API. The site icon url should instead be fetched from the wp/v2/settings
109 - * endpoint when https://github.com/WordPress/gutenberg/pull/19967 is complete.
110 - *
111 - * @since 8.2.1
112 - *
113 - * @param WP_REST_Response $response Response data served by the WordPress REST index endpoint.
114 - * @return WP_REST_Response
115 - */
116 -function register_site_icon_url( $response ) {
117 - $data = $response->data;
118 - $data['site_icon_url'] = get_site_icon_url();
119 - $response->set_data( $data );
120 - return $response;
121 -}
122 -
123 -add_filter( 'rest_index', 'register_site_icon_url' );
124 -
125 -/**
126 - * Exposes the site logo to the Gutenberg editor through the WordPress REST
127 - * API. This is used for fetching this information when user has no rights
128 - * to update settings.
129 - *
130 - * @since 10.9
131 - *
132 - * @param WP_REST_Response $response Response data served by the WordPress REST index endpoint.
133 - * @return WP_REST_Response
134 - */
135 -function register_site_logo_to_rest_index( $response ) {
136 - $site_logo_id = get_theme_mod( 'custom_logo' );
137 - $response->data['site_logo'] = $site_logo_id;
138 - if ( $site_logo_id ) {
139 - $response->add_link(
140 - 'https://api.w.org/featuredmedia',
141 - rest_url( 'wp/v2/media/' . $site_logo_id ),
142 - array(
143 - 'embeddable' => true,
144 - )
145 - );
146 - }
147 - return $response;
148 -}
149 -
150 -add_filter( 'rest_index', 'register_site_logo_to_rest_index' );