summaryrefslogtreecommitdiffstats
path: root/wp-admin/includes/post.php
diff options
context:
space:
mode:
Diffstat (limited to 'wp-admin/includes/post.php')
-rw-r--r--wp-admin/includes/post.php20
1 files changed, 17 insertions, 3 deletions
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index b9986d1..a313324 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -452,7 +452,7 @@ function edit_post( $post_data = null ) {
$success = wp_update_post( $translated );
- // If the save failed, see if we can sanity check the main fields and try again.
+ // If the save failed, see if we can confidence check the main fields and try again.
if ( ! $success && is_callable( array( $wpdb, 'strip_invalid_text_for_column' ) ) ) {
$fields = array( 'post_title', 'post_content', 'post_excerpt' );
@@ -649,8 +649,21 @@ function bulk_edit_posts( $post_data = null ) {
}
if ( isset( $new_cats ) && in_array( 'category', $tax_names, true ) ) {
- $cats = (array) wp_get_post_categories( $post_id );
- $post_data['post_category'] = array_unique( array_merge( $cats, $new_cats ) );
+ $cats = (array) wp_get_post_categories( $post_id );
+
+ if (
+ isset( $post_data['indeterminate_post_category'] )
+ && is_array( $post_data['indeterminate_post_category'] )
+ ) {
+ $indeterminate_post_category = $post_data['indeterminate_post_category'];
+ } else {
+ $indeterminate_post_category = array();
+ }
+
+ $indeterminate_cats = array_intersect( $cats, $indeterminate_post_category );
+ $determinate_cats = array_diff( $new_cats, $indeterminate_post_category );
+ $post_data['post_category'] = array_unique( array_merge( $indeterminate_cats, $determinate_cats ) );
+
unset( $post_data['tax_input']['category'] );
}
@@ -2303,6 +2316,7 @@ function get_block_editor_server_block_settings() {
'keywords' => 'keywords',
'example' => 'example',
'variations' => 'variations',
+ 'allowed_blocks' => 'allowedBlocks',
);
foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) {