Quick/Bulk Edit: Check the `show_in_quick_edit` taxonomy property when processing the data for bulk edited posts.

Previously, setting the `show_in_quick_edit` property to `false` removed the taxonomy from the inline edit form, but several taxonomy-related database queries were still being performed in `bulk_edit_posts()` when building the arguments to pass to `wp_update_post()`, even though terms were not modified.

This commit improves performance by avoiding unnecessary database queries when `show_in_quick_edit` is `false`, and mirrors a similar check in the `get_inline_data()` function.

Follow-up to [13535], [14580], [31307], [52841], [53368].

Props Chouby, sabernhardt, costdev, nalininonstopnewsuk, webcommsat, marybaum, meher, wparslan, SergeyBiryukov.
Fixes #42474.
Built from https://develop.svn.wordpress.org/trunk@53449


git-svn-id: http://core.svn.wordpress.org/trunk@53038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2022-05-27 15:51:12 +00:00
parent 290742cada
commit 9a2a423eb6
2 changed files with 7 additions and 1 deletions

View File

@ -597,8 +597,14 @@ function bulk_edit_posts( $post_data = null ) {
$post = get_post( $post_ID ); $post = get_post( $post_ID );
$tax_names = get_object_taxonomies( $post ); $tax_names = get_object_taxonomies( $post );
foreach ( $tax_names as $tax_name ) { foreach ( $tax_names as $tax_name ) {
$taxonomy_obj = get_taxonomy( $tax_name ); $taxonomy_obj = get_taxonomy( $tax_name );
if ( ! $taxonomy_obj->show_in_quick_edit ) {
continue;
}
if ( isset( $tax_input[ $tax_name ] ) && current_user_can( $taxonomy_obj->cap->assign_terms ) ) { if ( isset( $tax_input[ $tax_name ] ) && current_user_can( $taxonomy_obj->cap->assign_terms ) ) {
$new_terms = $tax_input[ $tax_name ]; $new_terms = $tax_input[ $tax_name ];
} else { } else {

View File

@ -16,7 +16,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '6.1-alpha-53448'; $wp_version = '6.1-alpha-53449';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.