PluginProbe
Gutenberg / 9.7.2
Gutenberg v9.7.2
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 | gutenberg.php +98 -31 7.4.09.7.2 View file →
@@ -2,9 +2,11 @@
2 2 /**
3 3 * Plugin Name: Gutenberg
4 4 * Plugin URI: https://github.com/WordPress/gutenberg
5 5 * Description: Printing since 1440. This is the development plugin for the new block editor in core.
6 - * Version: 7.4.0
6 + * Requires at least: 5.3
7 + * Requires PHP: 5.6
8 + * Version: 9.7.2
7 9 * Author: Gutenberg Team
8 10 * Text Domain: gutenberg
9 11 *
10 12 * @package gutenberg
@@ -10,10 +12,10 @@
10 12 * @package gutenberg
11 13 */
12 14
13 15 ### BEGIN AUTO-GENERATED DEFINES
14 -define( 'GUTENBERG_VERSION', '7.4.0' );
15 -define( 'GUTENBERG_GIT_COMMIT', '892d5c7e085621bdf23bcb737355059c5073c13a' );
16 +define( 'GUTENBERG_VERSION', '9.7.2' );
17 +define( 'GUTENBERG_GIT_COMMIT', '549e7e48b49189a008cb1c5c384bff3987cccf0a' );
16 18 ### END AUTO-GENERATED DEFINES
17 19
18 20 gutenberg_pre_init();
19 21
@@ -24,10 +26,8 @@
24 26 *
25 27 * @since 0.1.0
26 28 */
27 29 function gutenberg_menu() {
28 - global $submenu;
29 -
30 30 add_menu_page(
31 31 'Gutenberg',
32 32 'Gutenberg',
33 33 'edit_posts',
@@ -43,42 +43,45 @@
43 43 'edit_posts',
44 44 'gutenberg'
45 45 );
46 46
47 + if ( gutenberg_use_widgets_block_editor() ) {
48 + add_theme_page(
49 + __( 'Widgets', 'gutenberg' ),
50 + __( 'Widgets', 'gutenberg' ),
51 + 'edit_theme_options',
52 + 'gutenberg-widgets',
53 + 'the_gutenberg_widgets'
54 + );
55 + remove_submenu_page( 'themes.php', 'widgets.php' );
56 + }
57 +
47 58 if ( get_option( 'gutenberg-experiments' ) ) {
48 - if ( array_key_exists( 'gutenberg-widget-experiments', get_option( 'gutenberg-experiments' ) ) ) {
59 + if ( array_key_exists( 'gutenberg-navigation', get_option( 'gutenberg-experiments' ) ) ) {
49 60 add_submenu_page(
50 61 'gutenberg',
51 - __( 'Widgets (beta)', 'gutenberg' ),
52 - __( 'Widgets (beta)', 'gutenberg' ),
62 + __( 'Navigation (beta)', 'gutenberg' ),
63 + __( 'Navigation (beta)', 'gutenberg' ),
53 64 'edit_theme_options',
54 - 'gutenberg-widgets',
55 - 'the_gutenberg_widgets'
65 + 'gutenberg-navigation',
66 + 'gutenberg_navigation_page'
56 67 );
57 68 }
58 - if ( array_key_exists( 'gutenberg-full-site-editing', get_option( 'gutenberg-experiments' ) ) ) {
59 - add_submenu_page(
60 - 'gutenberg',
61 - __( 'Site Editor (beta)', 'gutenberg' ),
62 - __( 'Site Editor (beta)', 'gutenberg' ),
63 - 'edit_theme_options',
64 - 'gutenberg-edit-site',
65 - 'gutenberg_edit_site_page'
66 - );
67 - }
68 69 }
69 -
70 70 if ( current_user_can( 'edit_posts' ) ) {
71 - $submenu['gutenberg'][] = array(
71 + add_submenu_page(
72 + 'gutenberg',
72 73 __( 'Support', 'gutenberg' ),
74 + __( 'Support', 'gutenberg' ),
73 75 'edit_posts',
74 - __( 'https://wordpress.org/support/plugin/gutenberg', 'gutenberg' ),
76 + __( 'https://wordpress.org/support/plugin/gutenberg/', 'gutenberg' )
75 77 );
76 -
77 - $submenu['gutenberg'][] = array(
78 + add_submenu_page(
79 + 'gutenberg',
78 80 __( 'Documentation', 'gutenberg' ),
81 + __( 'Documentation', 'gutenberg' ),
79 82 'edit_posts',
80 - 'https://developer.wordpress.org/block-editor/',
83 + 'https://developer.wordpress.org/block-editor/'
81 84 );
82 85 }
83 86
84 87 add_submenu_page(
@@ -89,11 +92,53 @@
89 92 'gutenberg-experiments',
90 93 'the_gutenberg_experiments'
91 94 );
92 95 }
93 -add_action( 'admin_menu', 'gutenberg_menu' );
96 +add_action( 'admin_menu', 'gutenberg_menu', 9 );
94 97
95 98 /**
99 + * Site editor's Menu.
100 + *
101 + * Adds a new wp-admin menu item for the Site editor.
102 + *
103 + * @since 9.4.0
104 + */
105 +function gutenberg_site_editor_menu() {
106 + if ( gutenberg_is_fse_theme() ) {
107 + add_menu_page(
108 + __( 'Site Editor (beta)', 'gutenberg' ),
109 + sprintf(
110 + /* translators: %s: "beta" label. */
111 + __( 'Site Editor %s', 'gutenberg' ),
112 + '<span class="awaiting-mod">' . __( 'beta', 'gutenberg' ) . '</span>'
113 + ),
114 + 'edit_theme_options',
115 + 'gutenberg-edit-site',
116 + 'gutenberg_edit_site_page',
117 + 'dashicons-layout'
118 + );
119 + }
120 +}
121 +add_action( 'admin_menu', 'gutenberg_site_editor_menu', 9 );
122 +
123 +/**
124 + * Modify WP admin bar.
125 + *
126 + * @param WP_Admin_Bar $wp_admin_bar Core class used to implement the Toolbar API.
127 + */
128 +function modify_admin_bar( $wp_admin_bar ) {
129 + if ( gutenberg_use_widgets_block_editor() ) {
130 + $wp_admin_bar->add_menu(
131 + array(
132 + 'id' => 'widgets',
133 + 'href' => admin_url( 'themes.php?page=gutenberg-widgets' ),
134 + )
135 + );
136 + }
137 +}
138 +add_action( 'admin_bar_menu', 'modify_admin_bar', 40 );
139 +
140 +/**
96 141 * Display a version notice and deactivate the Gutenberg plugin.
97 142 *
98 143 * @since 0.1.0
99 144 */
@@ -99,9 +144,9 @@
99 144 */
100 145 function gutenberg_wordpress_version_notice() {
101 146 echo '<div class="error"><p>';
102 147 /* translators: %s: Minimum required version */
103 - printf( __( 'Gutenberg requires WordPress %s or later to function properly. Please upgrade WordPress before activating Gutenberg.', 'gutenberg' ), '5.2.0' );
148 + printf( __( 'Gutenberg requires WordPress %s or later to function properly. Please upgrade WordPress before activating Gutenberg.', 'gutenberg' ), '5.3.0' );
104 149 echo '</p></div>';
105 150
106 151 deactivate_plugins( array( 'gutenberg/gutenberg.php' ) );
107 152 }
@@ -123,9 +168,9 @@
123 168 * @since 1.5.0
124 169 */
125 170 function gutenberg_pre_init() {
126 171 global $wp_version;
127 - if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE && ! file_exists( dirname( __FILE__ ) . '/build/blocks' ) ) {
172 + if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE && ! file_exists( __DIR__ . '/build/blocks' ) ) {
128 173 add_action( 'admin_notices', 'gutenberg_build_files_notice' );
129 174 return;
130 175 }
131 176
@@ -134,14 +179,14 @@
134 179
135 180 // Strip '-src' from the version string. Messes up version_compare().
136 181 $version = str_replace( '-src', '', $wp_version );
137 182
138 - if ( version_compare( $version, '5.2.0', '<' ) ) {
183 + if ( version_compare( $version, '5.3.0', '<' ) ) {
139 184 add_action( 'admin_notices', 'gutenberg_wordpress_version_notice' );
140 185 return;
141 186 }
142 187
143 - require_once dirname( __FILE__ ) . '/lib/load.php';
188 + require_once __DIR__ . '/lib/load.php';
144 189 }
145 190
146 191 /**
147 192 * Outputs a WP REST API nonce.
@@ -149,4 +194,26 @@
149 194 function gutenberg_rest_nonce() {
150 195 exit( wp_create_nonce( 'wp_rest' ) );
151 196 }
152 197 add_action( 'wp_ajax_gutenberg_rest_nonce', 'gutenberg_rest_nonce' );
198 +
199 +
200 +/**
201 + * Exposes the site icon url to the Gutenberg editor through the WordPress REST
202 + * API. The site icon url should instead be fetched from the wp/v2/settings
203 + * endpoint when https://github.com/WordPress/gutenberg/pull/19967 is complete.
204 + *
205 + * @since 8.2.1
206 + *
207 + * @param WP_REST_Response $response Response data served by the WordPress REST index endpoint.
208 + * @return WP_REST_Response
209 + */
210 +function register_site_icon_url( $response ) {
211 + $data = $response->data;
212 + $data['site_icon_url'] = get_site_icon_url();
213 + $response->set_data( $data );
214 + return $response;
215 +}
216 +
217 +add_filter( 'rest_index', 'register_site_icon_url' );
218 +
219 +add_theme_support( 'widgets-block-editor' );