PluginProbe
Gutenberg / 8.1.0
Gutenberg v8.1.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 / gutenberg.php

gutenberg.php in Gutenberg 8.1.0, at gutenberg.php

163 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: Gutenberg
4 * Plugin URI: https://github.com/WordPress/gutenberg
5 * Description: Printing since 1440. This is the development plugin for the new block editor in core.
6 * Version: 8.1.0
7 * Author: Gutenberg Team
8 * Text Domain: gutenberg
9 *
10 * @package gutenberg
11 */
12
13 ### BEGIN AUTO-GENERATED DEFINES
14 define( 'GUTENBERG_VERSION', '8.1.0' );
15 define( 'GUTENBERG_GIT_COMMIT', 'fc6ed3e17b441d7584a32985ebdbcb1f47199706' );
16 ### END AUTO-GENERATED DEFINES
17
18 gutenberg_pre_init();
19
20 /**
21 * Gutenberg's Menu.
22 *
23 * Adds a new wp-admin menu page for the Gutenberg editor.
24 *
25 * @since 0.1.0
26 */
27 function gutenberg_menu() {
28 global $submenu;
29
30 add_menu_page(
31 'Gutenberg',
32 'Gutenberg',
33 'edit_posts',
34 'gutenberg',
35 '',
36 'dashicons-edit'
37 );
38
39 add_submenu_page(
40 'gutenberg',
41 __( 'Demo', 'gutenberg' ),
42 __( 'Demo', 'gutenberg' ),
43 'edit_posts',
44 'gutenberg'
45 );
46
47 if ( get_option( 'gutenberg-experiments' ) ) {
48 if ( array_key_exists( 'gutenberg-widget-experiments', get_option( 'gutenberg-experiments' ) ) ) {
49 add_submenu_page(
50 'gutenberg',
51 __( 'Widgets (beta)', 'gutenberg' ),
52 __( 'Widgets (beta)', 'gutenberg' ),
53 'edit_theme_options',
54 'gutenberg-widgets',
55 'the_gutenberg_widgets'
56 );
57 }
58 if ( array_key_exists( 'gutenberg-navigation', get_option( 'gutenberg-experiments' ) ) ) {
59 add_submenu_page(
60 'gutenberg',
61 __( 'Navigation (beta)', 'gutenberg' ),
62 __( 'Navigation (beta)', 'gutenberg' ),
63 'edit_theme_options',
64 'gutenberg-navigation',
65 'gutenberg_navigation_page'
66 );
67 }
68 if ( array_key_exists( 'gutenberg-full-site-editing', get_option( 'gutenberg-experiments' ) ) ) {
69 add_menu_page(
70 __( 'Site Editor (beta)', 'gutenberg' ),
71 __( 'Site Editor (beta)', 'gutenberg' ),
72 'edit_theme_options',
73 'gutenberg-edit-site',
74 'gutenberg_edit_site_page',
75 'dashicons-layout'
76 );
77 }
78 }
79
80 if ( current_user_can( 'edit_posts' ) ) {
81 $submenu['gutenberg'][] = array(
82 __( 'Support', 'gutenberg' ),
83 'edit_posts',
84 __( 'https://wordpress.org/support/plugin/gutenberg', 'gutenberg' ),
85 );
86
87 $submenu['gutenberg'][] = array(
88 __( 'Documentation', 'gutenberg' ),
89 'edit_posts',
90 'https://developer.wordpress.org/block-editor/',
91 );
92 }
93
94 add_submenu_page(
95 'gutenberg',
96 __( 'Experiments Settings', 'gutenberg' ),
97 __( 'Experiments', 'gutenberg' ),
98 'edit_posts',
99 'gutenberg-experiments',
100 'the_gutenberg_experiments'
101 );
102 }
103 add_action( 'admin_menu', 'gutenberg_menu' );
104
105 /**
106 * Display a version notice and deactivate the Gutenberg plugin.
107 *
108 * @since 0.1.0
109 */
110 function gutenberg_wordpress_version_notice() {
111 echo '<div class="error"><p>';
112 /* translators: %s: Minimum required version */
113 printf( __( 'Gutenberg requires WordPress %s or later to function properly. Please upgrade WordPress before activating Gutenberg.', 'gutenberg' ), '5.3.0' );
114 echo '</p></div>';
115
116 deactivate_plugins( array( 'gutenberg/gutenberg.php' ) );
117 }
118
119 /**
120 * Display a build notice.
121 *
122 * @since 0.1.0
123 */
124 function gutenberg_build_files_notice() {
125 echo '<div class="error"><p>';
126 _e( 'Gutenberg development mode requires files to be built. Run <code>npm install</code> to install dependencies, <code>npm run build</code> to build the files or <code>npm run dev</code> to build the files and watch for changes. Read the <a href="https://github.com/WordPress/gutenberg/blob/master/docs/contributors/getting-started.md">contributing</a> file for more information.', 'gutenberg' );
127 echo '</p></div>';
128 }
129
130 /**
131 * Verify that we can initialize the Gutenberg editor , then load it.
132 *
133 * @since 1.5.0
134 */
135 function gutenberg_pre_init() {
136 global $wp_version;
137 if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE && ! file_exists( dirname( __FILE__ ) . '/build/blocks' ) ) {
138 add_action( 'admin_notices', 'gutenberg_build_files_notice' );
139 return;
140 }
141
142 // Get unmodified $wp_version.
143 include ABSPATH . WPINC . '/version.php';
144
145 // Strip '-src' from the version string. Messes up version_compare().
146 $version = str_replace( '-src', '', $wp_version );
147
148 if ( version_compare( $version, '5.3.0', '<' ) ) {
149 add_action( 'admin_notices', 'gutenberg_wordpress_version_notice' );
150 return;
151 }
152
153 require_once dirname( __FILE__ ) . '/lib/load.php';
154 }
155
156 /**
157 * Outputs a WP REST API nonce.
158 */
159 function gutenberg_rest_nonce() {
160 exit( wp_create_nonce( 'wp_rest' ) );
161 }
162 add_action( 'wp_ajax_gutenberg_rest_nonce', 'gutenberg_rest_nonce' );
163