Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: rest_insert_attachment

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
161            * Fires after a single attachment is created or updated via the REST API.
162            *
163            * @since 4.7.0
164            *
165            * @param WP_Post         $attachment Inserted or updated attachment
166            *                                    object.
167            * @param WP_REST_Request $request    The request sent to the API.
168            * @param bool            $creating   True when creating an attachment, false when updating.
169            */
170           do_action( 'rest_insert_attachment', $attachment, $request, true );
171
172           // Include admin functions to get access to wp_generate_attachment_metadata().
173           require_once ABSPATH . 'wp-admin/includes/admin.php';
174
175           wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
176
177           if ( isset( $request['alt_text'] ) ) {
178                update_post_meta( $id, '_wp_attachment_image_alt', sanitize_text_field( $request['alt_text'] ) );
179           }
 
Line Code
216           $data = $response->get_data();
217
218           if ( isset( $request['alt_text'] ) ) {
219                update_post_meta( $data['id'], '_wp_attachment_image_alt', $request['alt_text'] );
220           }
221
222           $attachment = get_post( $request['id'] );
223
224           /** This action is documented in wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php */
225           do_action( 'rest_insert_attachment', $data, $request, false );
226
227           $fields_update = $this->update_additional_fields_for_object( $attachment, $request );
228
229           if ( is_wp_error( $fields_update ) ) {
230                return $fields_update;
231           }
232
233           $request->set_param( 'context', 'edit' );
234           $response = $this->prepare_item_for_response( $attachment, $request );