Media: Revert [44947].

`get_available_post_mime_types()` uses a query that's extremely slow on sites with lots of posts. The original fix can be revisited after those performance issues are tackled.

See #43658.


git-svn-id: https://develop.svn.wordpress.org/trunk@45270 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2019-04-26 00:43:50 +00:00
parent 03f3b316a2
commit 3491bfc7e5
2 changed files with 1 additions and 56 deletions

View File

@ -3576,18 +3576,10 @@ function wp_enqueue_media( $args = array() ) {
$month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year ); $month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year );
} }
// Filter to show only available mime types.
$avail_post_mime_types = get_available_post_mime_types( 'attachment' );
$mimeTypes = wp_list_pluck( get_post_mime_types(), 0 );
foreach ( $mimeTypes as $mime_type => $label ) {
if ( ! wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) {
unset( $mimeTypes[ $mime_type ] );
}
}
$settings = array( $settings = array(
'tabs' => $tabs, 'tabs' => $tabs,
'tabUrl' => add_query_arg( array( 'chromeless' => true ), admin_url( 'media-upload.php' ) ), 'tabUrl' => add_query_arg( array( 'chromeless' => true ), admin_url( 'media-upload.php' ) ),
'mimeTypes' => $mimeTypes, 'mimeTypes' => wp_list_pluck( get_post_mime_types(), 0 ),
/** This filter is documented in wp-admin/includes/media.php */ /** This filter is documented in wp-admin/includes/media.php */
'captions' => ! apply_filters( 'disable_captions', '' ), 'captions' => ! apply_filters( 'disable_captions', '' ),
'nonce' => array( 'nonce' => array(

View File

@ -465,53 +465,6 @@ class Tests_Functions extends WP_UnitTestCase {
$this->assertNotEmpty( $mimes ); $this->assertNotEmpty( $mimes );
} }
/**
* Test that the media grid uses the correct available single media type.
* @ticket 43658
*/
function test_wp_enqueue_media_single_mime_type() {
$filename = DIR_TESTDATA . '/images/test-image.jpg';
$contents = file_get_contents( $filename );
$upload = wp_upload_bits( basename( $filename ), null, $contents );
$attachment_id = $this->_make_attachment( $upload );
add_filter(
'media_view_settings',
function( $settings ) {
$this->assertEquals( array( 'image' ), array_keys( $settings['mimeTypes'] ) );
return $settings;
}
);
wp_enqueue_media();
remove_all_filters( 'media_view_settings' );
}
/**
* Test that the media grid uses the correct available multiple media types.
* @ticket 43658
*/
function test_wp_enqueue_media_multiple_mime_types() {
$filename = DIR_TESTDATA . '/images/test-image.jpg';
$contents = file_get_contents( $filename );
$upload = wp_upload_bits( basename( $filename ), null, $contents );
$attachment_id = $this->_make_attachment( $upload );
$filename = DIR_TESTDATA . '/uploads/small-audio.mp3';
$contents = file_get_contents( $filename );
$upload = wp_upload_bits( basename( $filename ), null, $contents );
$attachment_id = $this->_make_attachment( $upload );
add_filter(
'media_view_settings',
function( $settings ) {
$this->assertEquals( array( 'image', 'audio' ), array_keys( $settings['mimeTypes'] ) );
return $settings;
}
);
wp_enqueue_media();
remove_all_filters( 'media_view_settings' );
}
/** /**
* @ticket 21594 * @ticket 21594
*/ */