|
23 | 23 | */ |
24 | 24 | global $post_type, $post_type_object, $post, $title, $editor_styles, $wp_meta_boxes; |
25 | 25 |
|
| 26 | +$editor_name = 'post-editor'; |
| 27 | + |
26 | 28 | // Flag that we're loading the block editor. |
27 | 29 | $current_screen = get_current_screen(); |
28 | 30 | $current_screen->is_block_editor( true ); |
|
56 | 58 | sprintf( '/wp/v2/%s/%d/autosaves?context=edit', $rest_base, $post->ID ), |
57 | 59 | ); |
58 | 60 |
|
| 61 | + |
59 | 62 | /** |
60 | 63 | * Preload common data by specifying an array of REST API paths that will be preloaded. |
61 | 64 | * |
|
135 | 138 | 'before' |
136 | 139 | ); |
137 | 140 |
|
138 | | - |
139 | | -/* |
140 | | - * Initialize the editor. |
141 | | - */ |
142 | | - |
143 | | -$align_wide = get_theme_support( 'align-wide' ); |
144 | | -$color_palette = current( (array) get_theme_support( 'editor-color-palette' ) ); |
145 | | -$font_sizes = current( (array) get_theme_support( 'editor-font-sizes' ) ); |
146 | | -$gradient_presets = current( (array) get_theme_support( 'editor-gradient-presets' ) ); |
147 | | -$custom_line_height = get_theme_support( 'custom-line-height' ); |
148 | | -$custom_units = get_theme_support( 'custom-units' ); |
149 | | -$custom_spacing = get_theme_support( 'custom-spacing' ); |
150 | | - |
151 | | -/** |
152 | | - * Filters the allowed block types for the editor, defaulting to true (all |
153 | | - * block types supported). |
154 | | - * |
155 | | - * @since 5.0.0 |
156 | | - * |
157 | | - * @param bool|array $allowed_block_types Array of block type slugs, or |
158 | | - * boolean to enable/disable all. |
159 | | - * @param WP_Post $post The post resource data. |
160 | | - */ |
161 | | -$allowed_block_types = apply_filters( 'allowed_block_types', true, $post ); |
162 | | - |
163 | 141 | /* |
164 | 142 | * Get all available templates for the post/page attributes meta-box. |
165 | 143 | * The "Default template" array element should only be added if the array is |
|
175 | 153 | $available_templates |
176 | 154 | ) : $available_templates; |
177 | 155 |
|
178 | | -// Media settings. |
179 | | -$max_upload_size = wp_max_upload_size(); |
180 | | -if ( ! $max_upload_size ) { |
181 | | - $max_upload_size = 0; |
182 | | -} |
183 | | - |
184 | 156 | // Editor Styles. |
185 | 157 | $styles = array( |
186 | 158 | array( |
|
208 | 180 | } |
209 | 181 | } |
210 | 182 |
|
211 | | -// Image sizes. |
212 | | - |
213 | | -/** This filter is documented in wp-admin/includes/media.php */ |
214 | | -$image_size_names = apply_filters( |
215 | | - 'image_size_names_choose', |
216 | | - array( |
217 | | - 'thumbnail' => __( 'Thumbnail' ), |
218 | | - 'medium' => __( 'Medium' ), |
219 | | - 'large' => __( 'Large' ), |
220 | | - 'full' => __( 'Full Size' ), |
221 | | - ) |
222 | | -); |
223 | | - |
224 | | -$available_image_sizes = array(); |
225 | | -foreach ( $image_size_names as $image_size_slug => $image_size_name ) { |
226 | | - $available_image_sizes[] = array( |
227 | | - 'slug' => $image_size_slug, |
228 | | - 'name' => $image_size_name, |
229 | | - ); |
230 | | -} |
231 | | - |
232 | | -$default_size = get_option( 'image_default_size', 'large' ); |
233 | | -$image_default_size = in_array( $default_size, array_keys( $image_size_names ), true ) ? $image_default_size : 'large'; |
234 | | - |
235 | | -$image_dimensions = array(); |
236 | | -$all_sizes = wp_get_registered_image_subsizes(); |
237 | | -foreach ( $available_image_sizes as $size ) { |
238 | | - $key = $size['slug']; |
239 | | - if ( isset( $all_sizes[ $key ] ) ) { |
240 | | - $image_dimensions[ $key ] = $all_sizes[ $key ]; |
241 | | - } |
242 | | -} |
243 | | - |
244 | 183 | // Lock settings. |
245 | 184 | $user_id = wp_check_post_lock( $post->ID ); |
246 | 185 | if ( $user_id ) { |
|
289 | 228 | $body_placeholder = apply_filters( 'write_your_story', __( 'Type / to choose a block' ), $post ); |
290 | 229 |
|
291 | 230 | $editor_settings = array( |
292 | | - 'alignWide' => $align_wide, |
293 | 231 | 'availableTemplates' => $available_templates, |
294 | | - 'allowedBlockTypes' => $allowed_block_types, |
295 | | - 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), |
296 | | - 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), |
297 | | - 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), |
298 | 232 | 'disablePostFormats' => ! current_theme_supports( 'post-formats' ), |
299 | 233 | /** This filter is documented in wp-admin/edit-form-advanced.php */ |
300 | 234 | 'titlePlaceholder' => apply_filters( 'enter_title_here', __( 'Add title' ), $post ), |
301 | 235 | 'bodyPlaceholder' => $body_placeholder, |
302 | | - 'isRTL' => is_rtl(), |
303 | 236 | 'autosaveInterval' => AUTOSAVE_INTERVAL, |
304 | | - 'maxUploadFileSize' => $max_upload_size, |
305 | | - 'allowedMimeTypes' => get_allowed_mime_types(), |
306 | 237 | 'styles' => $styles, |
307 | | - 'imageSizes' => $available_image_sizes, |
308 | | - 'imageDefaultSize' => $image_default_size, |
309 | | - 'imageDimensions' => $image_dimensions, |
310 | 238 | 'richEditingEnabled' => user_can_richedit(), |
311 | 239 | 'postLock' => $lock_details, |
312 | 240 | 'postLockUtils' => array( |
|
320 | 248 | // Whether or not to load the 'postcustom' meta box is stored as a user meta |
321 | 249 | // field so that we're not always loading its assets. |
322 | 250 | 'enableCustomFields' => (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ), |
323 | | - 'enableCustomLineHeight' => $custom_line_height, |
324 | | - 'enableCustomUnits' => $custom_units, |
325 | | - 'enableCustomSpacing' => $custom_spacing, |
326 | 251 | ); |
327 | 252 |
|
328 | 253 | $autosave = wp_get_post_autosave( $post->ID ); |
|
336 | 261 | } |
337 | 262 | } |
338 | 263 |
|
339 | | -if ( false !== $color_palette ) { |
340 | | - $editor_settings['colors'] = $color_palette; |
341 | | -} |
342 | | - |
343 | | -if ( false !== $font_sizes ) { |
344 | | - $editor_settings['fontSizes'] = $font_sizes; |
345 | | -} |
346 | | - |
347 | | -if ( false !== $gradient_presets ) { |
348 | | - $editor_settings['gradients'] = $gradient_presets; |
349 | | -} |
350 | | - |
351 | 264 | if ( ! empty( $post_type_object->template ) ) { |
352 | 265 | $editor_settings['template'] = $post_type_object->template; |
353 | 266 | $editor_settings['templateLock'] = ! empty( $post_type_object->template_lock ) ? $post_type_object->template_lock : false; |
|
372 | 285 | wp_tinymce_inline_scripts(); |
373 | 286 | wp_enqueue_editor(); |
374 | 287 |
|
375 | | - |
376 | 288 | /** |
377 | 289 | * Styles |
378 | 290 | */ |
|
400 | 312 | unset( $editor_settings['enableCustomFields'] ); |
401 | 313 | } |
402 | 314 |
|
403 | | -/** |
404 | | - * Filters the settings to pass to the block editor. |
405 | | - * |
406 | | - * @since 5.0.0 |
407 | | - * |
408 | | - * @param array $editor_settings Default editor settings. |
409 | | - * @param WP_Post $post Post being edited. |
410 | | - */ |
411 | | -$editor_settings = apply_filters( 'block_editor_settings', $editor_settings, $post ); |
| 315 | +$editor_settings = get_block_editor_settings( $editor_name, $editor_settings ); |
412 | 316 |
|
413 | 317 | $init_script = <<<JS |
414 | 318 | ( function() { |
|
0 commit comments