Posts, Post Types: Return early from `WP_Posts_List_Table::formats_dropdown()` if the post type does not support post formats.

This avoids an unnecessary database query for the `post_format` taxonomy.

Props Chouby.
Fixes #50496.

git-svn-id: https://develop.svn.wordpress.org/trunk@48203 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-06-28 14:28:23 +00:00
parent dda16f9096
commit bd03636941
1 changed files with 7 additions and 5 deletions

View File

@ -485,6 +485,11 @@ class WP_Posts_List_Table extends WP_List_Table {
return;
}
// Return if the post type doesn't have post formats or if we're in the Trash.
if ( ! is_object_in_taxonomy( $post_type, 'post_format' ) || $this->is_trash ) {
return;
}
// Make sure the dropdown shows only formats with a post count greater than 0.
$used_post_formats = get_terms(
array(
@ -493,11 +498,8 @@ class WP_Posts_List_Table extends WP_List_Table {
)
);
/*
* Return if the post type doesn't have post formats, or there are no posts using formats,
* or if we're in the Trash.
*/
if ( ! is_object_in_taxonomy( $post_type, 'post_format' ) || ! $used_post_formats || $this->is_trash ) {
// Return if there are no posts using formats.
if ( ! $used_post_formats ) {
return;
}