Changeset 41732 for trunk/src/wp-admin/custom-header.php
- Timestamp:
- 10/04/2017 02:58:07 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/custom-header.php
r41161 r41732 1165 1165 'post_mime_type' => $image_type, 1166 1166 'guid' => $url, 1167 'context' => 'custom-header' 1167 'context' => 'custom-header', 1168 'post_parent' => $parent_attachment_id, 1168 1169 ); 1169 1170 … … 1181 1182 */ 1182 1183 final public function insert_attachment( $object, $cropped ) { 1184 $parent_id = isset( $object['post_parent'] ) ? $object['post_parent'] : null; 1185 unset( $object['post_parent'] ); 1186 1183 1187 $attachment_id = wp_insert_attachment( $object, $cropped ); 1184 1188 $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped ); 1189 1185 1190 /** 1186 1191 * Filters the header image attachment metadata. … … 1194 1199 $metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata ); 1195 1200 wp_update_attachment_metadata( $attachment_id, $metadata ); 1201 1202 if ( $parent_id ) { 1203 $meta = add_post_meta( $attachment_id, '_wp_attachment_parent', $parent_id, true ); 1204 } 1205 1196 1206 return $attachment_id; 1197 1207 } … … 1242 1252 $object = $this->create_attachment_object( $cropped, $attachment_id ); 1243 1253 1244 unset( $object['ID'] ); 1254 $previous = $this->get_previous_crop( $object ); 1255 1256 if ( $previous ) { 1257 $object['ID'] = $previous; 1258 } else { 1259 unset( $object['ID'] ); 1260 } 1245 1261 1246 1262 $new_attachment_id = $this->insert_attachment( $object, $cropped ); … … 1397 1413 return $header_images; 1398 1414 } 1415 1416 /** 1417 * Get the ID of a previous crop from the same base image. 1418 * 1419 * @since 4.9.0 1420 * 1421 * @param array $object A crop attachment object. 1422 * @return int|false An attachment ID if one exists. False if none. 1423 */ 1424 public function get_previous_crop( $object ) { 1425 $header_images = $this->get_uploaded_header_images(); 1426 1427 // Bail early if there are no header images. 1428 if ( empty( $header_images ) ) { 1429 return false; 1430 } 1431 1432 $previous = false; 1433 1434 foreach ( $header_images as $image ) { 1435 if ( $image['attachment_parent'] === $object['post_parent'] ) { 1436 $previous = $image['attachment_id']; 1437 break; 1438 } 1439 } 1440 1441 return $previous; 1442 } 1399 1443 }
Note: See TracChangeset
for help on using the changeset viewer.