From bbe9a37b6c8a58197261bf0398a61a51ca33e142 Mon Sep 17 00:00:00 2001 From: desrosj Date: Mon, 17 Dec 2018 03:52:51 +0000 Subject: [PATCH] Editor: Add custom fields meta box support in the block editor. This brings support for the custom fields meta box into the new block editor. The `webpack` and `copy-webpack-plugin` packages have also been updated. This does not bump the `@wordpress` packages like in [43861] because of conflicts with package versions already installed in `trunk`. The packages will be brought up to date in a subsequent merge. Merges [43861] and [43863] into trunk. See #45145. Fixes #45257. Built from https://develop.svn.wordpress.org/trunk@44260 git-svn-id: http://core.svn.wordpress.org/trunk@44090 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/edit-form-blocks.php | 28 ++++++++++++++++++++++++++++ wp-admin/includes/meta-boxes.php | 20 +++++++++++++++----- wp-admin/includes/post.php | 29 ++++++++++++++++++++++++++++- wp-admin/post.php | 12 ++++++++++++ wp-includes/script-loader.php | 2 ++ wp-includes/version.php | 2 +- 6 files changed, 86 insertions(+), 7 deletions(-) diff --git a/wp-admin/edit-form-blocks.php b/wp-admin/edit-form-blocks.php index 0f4ccee94b..617432d957 100644 --- a/wp-admin/edit-form-blocks.php +++ b/wp-admin/edit-form-blocks.php @@ -202,6 +202,29 @@ if ( $editor_styles && current_theme_supports( 'editor-styles' ) ) { } } +// Image sizes. +$image_sizes = get_intermediate_image_sizes(); +$image_sizes[] = 'full'; + +/** This filter is documented in wp-admin/includes/media.php */ +$image_size_names = apply_filters( + 'image_size_names_choose', + array( + 'thumbnail' => __( 'Thumbnail' ), + 'medium' => __( 'Medium' ), + 'large' => __( 'Large' ), + 'full' => __( 'Full Size' ), + ) +); + +$available_image_sizes = array(); +foreach ( $image_sizes as $image_size_slug ) { + $available_image_sizes[] = array( + 'slug' => $image_size_slug, + 'name' => isset( $image_size_names[ $image_size_slug ] ) ? $image_size_names[ $image_size_slug ] : $image_size_slug, + ); +} + // Lock settings. $user_id = wp_check_post_lock( $post->ID ); if ( $user_id ) { @@ -257,12 +280,17 @@ $editor_settings = array( 'maxUploadFileSize' => $max_upload_size, 'allowedMimeTypes' => get_allowed_mime_types(), 'styles' => $styles, + 'availableImageSizes' => $available_image_sizes, 'postLock' => $lock_details, 'postLockUtils' => array( 'nonce' => wp_create_nonce( 'lock-post_' . $post->ID ), 'unlockNonce' => wp_create_nonce( 'update-post_' . $post->ID ), 'ajaxUrl' => admin_url( 'admin-ajax.php' ), ), + + // Whether or not to load the 'postcustom' meta box is stored as a user meta + // field so that we're not always loading its assets. + 'enableCustomFields' => (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ), ); $autosave = wp_get_post_autosave( $post_ID ); diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php index 0f175892d6..3ae21af404 100644 --- a/wp-admin/includes/meta-boxes.php +++ b/wp-admin/includes/meta-boxes.php @@ -1463,11 +1463,21 @@ function register_and_do_post_meta_boxes( $post ) { } if ( post_type_supports( $post_type, 'custom-fields' ) ) { - $args = array( - '__back_compat_meta_box' => ! (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ), - '__block_editor_compatible_meta_box' => true, - ); - add_meta_box( 'postcustom', __( 'Custom Fields' ), 'post_custom_meta_box', null, 'normal', 'core', $args ); + $screen = get_current_screen(); + if ( ! $screen || ! $screen->is_block_editor() || (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ) ) { + add_meta_box( + 'postcustom', + __( 'Custom Fields' ), + 'post_custom_meta_box', + null, + 'normal', + 'core', + array( + '__back_compat_meta_box' => false, + '__block_editor_compatible_meta_box' => true, + ) + ); + } } /** diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php index 7b07e1dc3f..dfe85ac1cd 100644 --- a/wp-admin/includes/post.php +++ b/wp-admin/includes/post.php @@ -2112,7 +2112,7 @@ function get_block_categories( $post ) { array( 'slug' => 'common', 'title' => __( 'Common Blocks' ), - 'icon' => 'screenoptions', + 'icon' => null, ), array( 'slug' => 'formatting', @@ -2214,6 +2214,10 @@ function the_block_editor_meta_boxes() {
+
+ + +