wp_edit_attachments_query_vars() – Returns the query variables for the current attachments request.

You appear to be a bot. Output may be restricted

Description

Returns the query variables for the current attachments request.

Usage

$array = wp_edit_attachments_query_vars( $q );

Parameters

$q
( array|false ) optional – Optional. Array of query variables to use to build the query. Defaults to the $_GET superglobal.

Returns

array The parsed query vars.

Source

File name: wordpress/wp-admin/includes/post.php


Lines:

1 to 59 of 59
function wp_edit_attachments_query_vars( $q = false ) {
  if ( false === $q ) {
    $q = $_GET;
  }
  $q['m']         = isset( $q['m'] ) ? (int) $q['m'] : 0;
  $q['cat']       = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
  $q['post_type'] = 'attachment';
  $post_type      = get_post_type_object( 'attachment' );
  $states         = 'inherit';
  if ( current_user_can( $post_type->cap->read_private_posts ) ) {
    $states .= ',private';
  }

  $q['post_status'] = isset( $q['status'] ) && 'trash' === $q['status'] ? 'trash' : $states;
  $q['post_status'] = isset( $q['attachment-filter'] ) && 'trash' === $q['attachment-filter'] ? 'trash' : $states;

  $media_per_page = (int) get_user_option( 'upload_per_page' );
  if ( empty( $media_per_page ) || $media_per_page < 1 ) {
    $media_per_page = 20;
  }

  
/**
 * Filters the number of items to list per page when listing media items.
 *
 * @since 2.9.0
 *
 * @param int $media_per_page Number of media to list. Default 20.
 */
  $q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page );

  $post_mime_types = get_post_mime_types();
  if ( isset( $q['post_mime_type'] ) && ! array_intersect( (array) $q['post_mime_type'], array_keys( $post_mime_types ) ) ) {
    unset( $q['post_mime_type'] );
  }

  foreach ( array_keys( $post_mime_types ) as $type ) {
    if ( isset( $q['attachment-filter'] ) && "post_mime_type:$type" === $q['attachment-filter'] ) {
      $q['post_mime_type'] = $type;
      break;
    }
  }

  if ( isset( $q['detached'] ) || ( isset( $q['attachment-filter'] ) && 'detached' === $q['attachment-filter'] ) ) {
    $q['post_parent'] = 0;
  }

  if ( isset( $q['mine'] ) || ( isset( $q['attachment-filter'] ) && 'mine' === $q['attachment-filter'] ) ) {
    $q['author'] = get_current_user_id();
  }

  // Filter query clauses to include filenames.
  if ( isset( $q['s'] ) ) {
    add_filter( 'wp_allow_query_attachment_by_filename', '__return_true' )  <;
  }

  return $q;
}
 

 View on GitHub View on Trac