Ticket #41675: 41675.diff
| File 41675.diff, 7.2 KB (added by , 9 years ago) |
|---|
-
src/wp-includes/js/media/views/attachments/browser.js
20 20 */ 21 21 var View = wp.media.View, 22 22 mediaTrash = wp.media.view.settings.mediaTrash, 23 showMonths = wp.media.view.settings.showMonths, 23 24 l10n = wp.media.view.l10n, 24 25 $ = jQuery, 25 26 AttachmentsBrowser; … … 157 158 priority: -90 158 159 }).render() ); 159 160 160 // DateFilter is a <select>, screen reader text needs to be rendered before 161 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 162 value: l10n.filterByDate, 163 attributes: { 164 'for': 'media-attachment-date-filters' 165 }, 166 priority: -75 167 }).render() ); 168 this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ 169 controller: this.controller, 170 model: this.collection.props, 171 priority: -75 172 }).render() ); 161 if ( showMonths ) { 162 // DateFilter is a <select>, screen reader text needs to be rendered before 163 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 164 value: l10n.filterByDate, 165 attributes: { 166 'for': 'media-attachment-date-filters' 167 }, 168 priority: -75 169 }).render() ); 170 this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ 171 controller: this.controller, 172 model: this.collection.props, 173 priority: -75 174 }).render() ); 175 } 173 176 174 177 // BulkSelection is a <div> with subviews, including screen reader text 175 178 this.toolbar.set( 'selectModeToggleButton', new wp.media.view.SelectModeToggleButton({ … … 278 281 }).render() ); 279 282 } 280 283 281 } else if ( this.options.date ) {284 } else if ( showMonths && this.options.date ) { 282 285 // DateFilter is a <select>, screen reader text needs to be rendered before 283 286 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 284 287 value: l10n.filterByDate, -
src/wp-includes/js/media-views.js
3751 3751 */ 3752 3752 var View = wp.media.View, 3753 3753 mediaTrash = wp.media.view.settings.mediaTrash, 3754 showMonths = wp.media.view.settings.showMonths, 3754 3755 l10n = wp.media.view.l10n, 3755 3756 $ = jQuery, 3756 3757 AttachmentsBrowser; … … 3888 3889 priority: -90 3889 3890 }).render() ); 3890 3891 3891 // DateFilter is a <select>, screen reader text needs to be rendered before 3892 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 3893 value: l10n.filterByDate, 3894 attributes: { 3895 'for': 'media-attachment-date-filters' 3896 }, 3897 priority: -75 3898 }).render() ); 3899 this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ 3900 controller: this.controller, 3901 model: this.collection.props, 3902 priority: -75 3903 }).render() ); 3892 if ( showMonths ) { 3893 // DateFilter is a <select>, screen reader text needs to be rendered before 3894 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 3895 value: l10n.filterByDate, 3896 attributes: { 3897 'for': 'media-attachment-date-filters' 3898 }, 3899 priority: -75 3900 }).render() ); 3901 this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ 3902 controller: this.controller, 3903 model: this.collection.props, 3904 priority: -75 3905 }).render() ); 3906 } 3904 3907 3905 3908 // BulkSelection is a <div> with subviews, including screen reader text 3906 3909 this.toolbar.set( 'selectModeToggleButton', new wp.media.view.SelectModeToggleButton({ … … 4009 4012 }).render() ); 4010 4013 } 4011 4014 4012 } else if ( this.options.date ) {4015 } else if ( showMonths && this.options.date ) { 4013 4016 // DateFilter is a <select>, screen reader text needs to be rendered before 4014 4017 this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ 4015 4018 value: l10n.filterByDate, -
src/wp-includes/media.php
3401 3401 } 3402 3402 3403 3403 /** 3404 * Allows overriding the list of months displayedin the media library.3404 * Allows showing or hiding the months select in the media library. 3405 3405 * 3406 * By default (if this filter does not return an array), a query will be3407 * run to determine the months that have media items. This query can be3408 * expensive for large media libraries, so it may be desirable for sites to3409 * override this behavior.3406 * By default, the months select will always be shown in the media library 3407 * and a list of months will be generated to populate the select with. 3408 * If `false` is returned the 'media_library_months_with_files' filter 3409 * will not be run and no select will be shown. 3410 3410 * 3411 * @ since 4.7.43411 * @link https://core.trac.wordpress.org/ticket/41675 3412 3412 * 3413 * @link https://core.trac.wordpress.org/ticket/31071 3414 * 3415 * @param array|null An array of objects with `month` and `year` 3416 * properties, or `null` (or any other non-array value) 3417 * for default behavior. 3413 * @param bool Whether or not to show the months select. 3418 3414 */ 3419 $months = apply_filters( 'media_library_months_with_files', null ); 3420 if ( ! is_array( $months ) ) { 3421 $months = $wpdb->get_results( $wpdb->prepare( " 3422 SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month 3423 FROM $wpdb->posts 3424 WHERE post_type = %s 3425 ORDER BY post_date DESC 3426 ", 'attachment' ) ); 3427 } 3428 foreach ( $months as $month_year ) { 3429 $month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year ); 3415 $show_months_select = apply_filters( 'media_library_show_months_select', true ); 3416 $months = null; 3417 if ( true === $show_months_select ) { 3418 /** 3419 * Allows overriding the list of months displayed in the media library. 3420 * 3421 * By default (if this filter does not return an array), a query will be 3422 * run to determine the months that have media items. This query can be 3423 * expensive for large media libraries, so it may be desirable for sites 3424 * to override this behavior. 3425 * 3426 * @since 4.7.4 3427 * 3428 * @link https://core.trac.wordpress.org/ticket/31071 3429 * 3430 * @param array|null An array of objects with `month` and `year` 3431 * properties, or `null` (or any other non-array value) 3432 * for default behavior. 3433 */ 3434 $months = apply_filters( 'media_library_months_with_files', null ); 3435 if ( ! is_array( $months ) ) { 3436 $months = $wpdb->get_results( $wpdb->prepare( " 3437 SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month 3438 FROM $wpdb->posts 3439 WHERE post_type = %s 3440 ORDER BY post_date DESC 3441 ", 'attachment' ) ); 3442 } 3443 foreach ( $months as $month_year ) { 3444 $month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year ); 3445 } 3430 3446 } 3431 3447 3432 3448 $settings = array( … … 3450 3466 'embedExts' => $exts, 3451 3467 'embedMimes' => $ext_mimes, 3452 3468 'contentWidth' => $content_width, 3469 'showMonths' => $show_months_select, 3453 3470 'months' => $months, 3454 3471 'mediaTrash' => MEDIA_TRASH ? 1 : 0, 3455 3472 );
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)