wppaste
WordPress

WP_REST_Attachments_Controller

Since
4.7.0
Source
wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php:17
Core controller used to access attachments via the REST API.

Compatibility

WordPress
since 4.7.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 8

Every hook that fires from inside WP_REST_Attachments_Controller, in the order it appears in the class, grouped by the method that fires it.

Properties · 1

$allow_batchfalseprotected
Whether the controller supports batching.

Methods · 21

Source code

class WP_REST_Attachments_Controller extends WP_REST_Posts_Controller { 	/**	 * Whether the controller supports batching.	 *	 * @since 5.9.0	 * @var false	 */	protected $allow_batch = false; 	/**	 * Registers the routes for attachments.	 *	 * @since 5.3.0	 *	 * @see register_rest_route()	 */	public function register_routes() {		parent::register_routes();		register_rest_route(			$this->namespace,			'/' . $this->rest_base . '/(?P<id>[\d]+)/post-process',			array(				'methods'             => WP_REST_Server::CREATABLE,				'callback'            => array( $this, 'post_process_item' ),				'permission_callback' => array( $this, 'post_process_item_permissions_check' ),				'args'                => array(					'id'     => array(						'description' => __( 'Unique identifier for the attachment.' ),						'type'        => 'integer',					),					'action' => array(						'type'     => 'string',						'enum'     => array( 'create-image-subsizes' ),						'required' => true,					),				),			)		);		register_rest_route(			$this->namespace,			'/' . $this->rest_base . '/(?P<id>[\d]+)/edit',			array(				'methods'             => WP_REST_Server::CREATABLE,				'callback'            => array( $this, 'edit_media_item' ),				'permission_callback' => array( $this, 'edit_media_item_permissions_check' ),				'args'                => $this->get_edit_media_item_args(),			)		);	} 	/**	 * Determines the allowed query_vars for a get_items() response and	 * prepares for WP_Query.	 *	 * @since 4.7.0	 *	 * @param array           $prepared_args Optional. Array of prepared arguments. Default empty array.	 * @param WP_REST_Request $request       Optional. Request to prepare items for.	 * @return array Array of query arguments.	 */	protected function prepare_items_query( $prepared_args = array(), $request = null ) {		$query_args = parent::prepare_items_query( $prepared_args, $request ); 		if ( empty( $query_args['post_status'] ) ) {			$query_args['post_status'] = 'inherit';		} 		$media_types = $this->get_media_types(); 		if ( ! empty( $request['media_type'] ) && isset( $media_types[ $request['media_type'] ] ) ) {			$query_args['post_mime_type'] = $media_types[ $request['media_type'] ];		} 		if ( ! empty( $request['mime_type'] ) ) {			$parts = explode( '/', $request['mime_type'] );			if ( isset( $media_types[ $parts[0] ] ) && in_array( $request['mime_type'], $media_types[ $parts[0] ], true ) ) {				$query_args['post_mime_type'] = $request['mime_type'];			}		}

Changelog

Introduced in 4.7.0. 17 changes between 6.7.7 and 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

7.1.0
Method get_endpoint_args_for_item_schema() added.verified against source
7.1.0
Method create_item_from_url() added.verified against source
7.1.0
Method remove_client_side_media_processing_filters() added.verified against source
7.1.0
Method sideload_item_permissions_check() added.verified against source
7.1.0
Method validate_image_size_names() added.verified against source
7.1.0
Method get_special_image_sizes() added.verified against source
7.1.0
Method validate_image_dimensions() added.verified against source
7.1.0
Method dimension_exceeds_max() added.verified against source
7.1.0
Method sideload_item() added.verified against source
7.1.0
Method filter_wp_unique_filename() added.verified against source
7.1.0
Method validate_sub_size_provenance() added.verified against source
7.1.0
Method get_sideloaded_file_names() added.verified against source
7.1.0
Method get_attachment_upload_subdir() added.verified against source
7.1.0
Method finalize_item() added.verified against source
7.0.4
Method get_attachment_filename() added.verified against source
7.0.4
Method get_attachment_filesize() added.verified against source
6.9.7
Method prepare_links() added.verified against source
4.7.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 6.7.7 tag, from src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.