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