Make WordPress Core


Ignore:
Timestamp:
01/03/2015 08:23:06 AM (10 years ago)
Author:
wonderboymusic
Message:

Respect query vars for taxonomies passed as URL parameters when in grid mode of Media Library.

Fixes #30584.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/post.php

    r30791 r31037  
    10221022
    10231023/**
    1024  * Executes a query for attachments. An array of WP_Query arguments
    1025  * can be passed in, which will override the arguments set by this function.
    1026  *
    1027  * @since 2.5.0
    1028  *
    1029  * @param array|bool $q Array of query variables to use to build the query or false to use $_GET superglobal.
    1030  * @return array
    1031  */
    1032 function wp_edit_attachments_query( $q = false ) {
    1033     if ( false === $q )
     1024 * Get the query vars for the current attachments request
     1025 *
     1026 * @since 4.2.0
     1027 *
     1028 * @param array|false $q Array of query variables to use to build the query or false to use $_GET superglobal.
     1029 *
     1030 * @return array The parsed query vars.
     1031 */
     1032function wp_edit_attachments_query_vars( $q = false ) {
     1033    if ( false === $q ) {
    10341034        $q = $_GET;
    1035 
     1035    }
    10361036    $q['m']   = isset( $q['m'] ) ? (int) $q['m'] : 0;
    10371037    $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
     
    10391039    $post_type = get_post_type_object( 'attachment' );
    10401040    $states = 'inherit';
    1041     if ( current_user_can( $post_type->cap->read_private_posts ) )
     1041    if ( current_user_can( $post_type->cap->read_private_posts ) ) {
    10421042        $states .= ',private';
     1043    }
    10431044
    10441045    $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : $states;
     
    10461047
    10471048    $media_per_page = (int) get_user_option( 'upload_per_page' );
    1048     if ( empty( $media_per_page ) || $media_per_page < 1 )
     1049    if ( empty( $media_per_page ) || $media_per_page < 1 ) {
    10491050        $media_per_page = 20;
     1051    }
    10501052
    10511053    /**
     
    10591061
    10601062    $post_mime_types = get_post_mime_types();
    1061     $avail_post_mime_types = get_available_post_mime_types('attachment');
    1062 
    1063     if ( isset($q['post_mime_type']) && !array_intersect( (array) $q['post_mime_type'], array_keys($post_mime_types) ) )
     1063    if ( isset($q['post_mime_type']) && !array_intersect( (array) $q['post_mime_type'], array_keys($post_mime_types) ) ) {
    10641064        unset($q['post_mime_type']);
     1065    }
    10651066
    10661067    foreach( array_keys( $post_mime_types ) as $type ) {
     
    10751076    }
    10761077
    1077     wp( $q );
    1078 
    1079     return array($post_mime_types, $avail_post_mime_types);
     1078    return $q;
     1079}
     1080
     1081/**
     1082 * Executes a query for attachments. An array of WP_Query arguments
     1083 * can be passed in, which will override the arguments set by this function.
     1084 *
     1085 * @since 2.5.0
     1086 *
     1087 * @param array|false $q Array of query variables to use to build the query or false to use $_GET superglobal.
     1088 * @return array
     1089 */
     1090function wp_edit_attachments_query( $q = false ) {
     1091    wp( wp_edit_attachments_query_vars( $q ) );
     1092
     1093    $post_mime_types = get_post_mime_types();
     1094    $avail_post_mime_types = get_available_post_mime_types( 'attachment' );
     1095
     1096    return array( $post_mime_types, $avail_post_mime_types );
    10801097}
    10811098
Note: See TracChangeset for help on using the changeset viewer.