PluginProbe
Gutenberg / 7.4.1
Gutenberg v7.4.1
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 7.4.1, at gutenberg.php

153 lines 4.0 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: 7.4.1
7 * Author: Gutenberg Team
8 * Text Domain: gutenberg
9 *
10 * @package gutenberg
11 */
12
13 ### BEGIN AUTO-GENERATED DEFINES
14 define( 'GUTENBERG_VERSION', '7.4.1' );
15 define( 'GUTENBERG_GIT_COMMIT', '3cf098e0ec55c486912bcae4941f8744b303f12c' );
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-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
70 if ( current_user_can( 'edit_posts' ) ) {
71 $submenu['gutenberg'][] = array(
72 __( 'Support', 'gutenberg' ),
73 'edit_posts',
74 __( 'https://wordpress.org/support/plugin/gutenberg', 'gutenberg' ),
75 );
76
77 $submenu['gutenberg'][] = array(
78 __( 'Documentation', 'gutenberg' ),
79 'edit_posts',
80 'https://developer.wordpress.org/block-editor/',
81 );
82 }
83
84 add_submenu_page(
85 'gutenberg',
86 __( 'Experiments Settings', 'gutenberg' ),
87 __( 'Experiments', 'gutenberg' ),
88 'edit_posts',
89 'gutenberg-experiments',
90 'the_gutenberg_experiments'
91 );
92 }
93 add_action( 'admin_menu', 'gutenberg_menu' );
94
95 /**
96 * Display a version notice and deactivate the Gutenberg plugin.
97 *
98 * @since 0.1.0
99 */
100 function gutenberg_wordpress_version_notice() {
101 echo '<div class="error"><p>';
102 /* 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' );
104 echo '</p></div>';
105
106 deactivate_plugins( array( 'gutenberg/gutenberg.php' ) );
107 }
108
109 /**
110 * Display a build notice.
111 *
112 * @since 0.1.0
113 */
114 function gutenberg_build_files_notice() {
115 echo '<div class="error"><p>';
116 _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' );
117 echo '</p></div>';
118 }
119
120 /**
121 * Verify that we can initialize the Gutenberg editor , then load it.
122 *
123 * @since 1.5.0
124 */
125 function gutenberg_pre_init() {
126 global $wp_version;
127 if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE && ! file_exists( dirname( __FILE__ ) . '/build/blocks' ) ) {
128 add_action( 'admin_notices', 'gutenberg_build_files_notice' );
129 return;
130 }
131
132 // Get unmodified $wp_version.
133 include ABSPATH . WPINC . '/version.php';
134
135 // Strip '-src' from the version string. Messes up version_compare().
136 $version = str_replace( '-src', '', $wp_version );
137
138 if ( version_compare( $version, '5.2.0', '<' ) ) {
139 add_action( 'admin_notices', 'gutenberg_wordpress_version_notice' );
140 return;
141 }
142
143 require_once dirname( __FILE__ ) . '/lib/load.php';
144 }
145
146 /**
147 * Outputs a WP REST API nonce.
148 */
149 function gutenberg_rest_nonce() {
150 exit( wp_create_nonce( 'wp_rest' ) );
151 }
152 add_action( 'wp_ajax_gutenberg_rest_nonce', 'gutenberg_rest_nonce' );
153