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