WordPress.org

Make WordPress Core

Ticket #38195: 38195.4.diff

File 38195.4.diff, 2.8 KB (added by SergeyBiryukov, 17 months ago)
  • src/wp-includes/post.php

     
    26312631 * Get default post mime types.
    26322632 *
    26332633 * @since 2.9.0
     2634 * @since 5.3.0 Added the 'Documents', 'Spreadsheets', and 'Archives' mime type groups.
    26342635 *
    26352636 * @return array List of post mime types.
    26362637 */
    26372638function get_post_mime_types() {
    26382639        $post_mime_types = array(   //  array( adj, noun )
    2639                 'image' => array( __( 'Images' ), __( 'Manage Images' ), _n_noop( 'Image <span class="count">(%s)</span>', 'Images <span class="count">(%s)</span>' ) ),
    2640                 'audio' => array( __( 'Audio' ), __( 'Manage Audio' ), _n_noop( 'Audio <span class="count">(%s)</span>', 'Audio <span class="count">(%s)</span>' ) ),
    2641                 'video' => array( __( 'Video' ), __( 'Manage Video' ), _n_noop( 'Video <span class="count">(%s)</span>', 'Video <span class="count">(%s)</span>' ) ),
     2640                'image' => array(
     2641                        __( 'Images' ),
     2642                        __( 'Manage Images' ),
     2643                        _n_noop( 'Image <span class="count">(%s)</span>', 'Images <span class="count">(%s)</span>' ),
     2644                ),
     2645                'audio' => array(
     2646                        __( 'Audio' ),
     2647                        __( 'Manage Audio' ),
     2648                        _n_noop( 'Audio <span class="count">(%s)</span>', 'Audio <span class="count">(%s)</span>' ),
     2649                ),
     2650                'video' => array(
     2651                        __( 'Video' ),
     2652                        __( 'Manage Video' ),
     2653                        _n_noop( 'Video <span class="count">(%s)</span>', 'Video <span class="count">(%s)</span>' ),
     2654                ),
     2655                'document' => array(
     2656                        __( 'Documents' ),
     2657                        __( 'Manage Documents' ),
     2658                        _n_noop( 'Document <span class="count">(%s)</span>', 'Documents <span class="count">(%s)</span>' ),
     2659                ),
     2660                'spreadsheet' => array(
     2661                        __( 'Spreadsheets' ),
     2662                        __( 'Manage Spreadsheets' ),
     2663                        _n_noop( 'Spreadsheet <span class="count">(%s)</span>', 'Spreadsheets <span class="count">(%s)</span>' ),
     2664                ),
     2665                'archive' => array(
     2666                        __( 'Archives' ),
     2667                        __( 'Manage Archives' ),
     2668                        _n_noop( 'Archive <span class="count">(%s)</span>', 'Archives <span class="count">(%s)</span>' ),
     2669                ),
    26422670        );
    26432671
     2672        $ext_types  = wp_get_ext_types();
     2673        $mime_types = wp_get_mime_types();
     2674
     2675        foreach ( $post_mime_types as $group => $labels ) {
     2676                if ( in_array( $group, array( 'image', 'audio', 'video' ) ) ) {
     2677                        continue;
     2678                }
     2679
     2680                if ( ! isset( $ext_types[ $group ] ) ) {
     2681                        unset( $post_mime_types[ $group ] );
     2682                        continue;
     2683                }
     2684
     2685                $group_mime_types = array();
     2686                foreach ( $ext_types[ $group ] as $extension ) {
     2687                        foreach ( $mime_types as $exts => $mime ) {
     2688                                if ( preg_match( '!^(' . $exts . ')$!i', $extension ) ) {
     2689                                        $group_mime_types[] = $mime;
     2690                                        break;
     2691                                }
     2692                        }
     2693                }
     2694                $group_mime_types = implode( ',', array_unique( $group_mime_types ) );
     2695
     2696                $post_mime_types[ $group_mime_types ] = $labels;
     2697                unset( $post_mime_types[ $group ] );
     2698        }
     2699
    26442700        /**
    26452701         * Filters the default list of post mime types.
    26462702         *