Make WordPress Core

Ticket #21819: 21819.4.diff

File 21819.4.diff, 4.4 KB (added by joemcgill, 8 years ago)
  • src/wp-admin/custom-header.php

    diff --git src/wp-admin/custom-header.php src/wp-admin/custom-header.php
    index 8b2973fc11..71561332e0 100644
    wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> 
    11871187                $attachment_id = wp_insert_attachment( $object, $cropped );
    11881188                $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped );
    11891189
     1190                // If this is a crop, save the original attachment ID as metadata.
     1191                if ( $parent_id ) {
     1192                        $metadata['attachment_parent'] = $parent_id;
     1193                }
     1194
    11901195                /**
    11911196                 * Filters the header image attachment metadata.
    11921197                 *
    wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> 
    11971202                 * @param array $metadata Attachment metadata.
    11981203                 */
    11991204                $metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata );
    1200                 wp_update_attachment_metadata( $attachment_id, $metadata );
    12011205
    1202                 if ( $parent_id ) {
    1203                         $meta = add_post_meta( $attachment_id, '_wp_attachment_parent', $parent_id, true );
    1204                 }
     1206                wp_update_attachment_metadata( $attachment_id, $metadata );
    12051207
    12061208                return $attachment_id;
    12071209        }
  • src/wp-includes/js/media-views.js

    diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js
    index 2e462971e2..b8d30c9c78 100644
    Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar 
    953953                        }) );
    954954                }
    955955
     956                this._filterContext();
     957                this.get('library').on( 'add', this._filterContext, this );
     958
    956959                this.resetDisplays();
    957960        },
    958961
    Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar 
    11521155                if ( view && view.get( mode ) ) {
    11531156                        setUserSetting( 'libraryContent', mode );
    11541157                }
     1158        },
     1159
     1160        /**
     1161         * Filter out contextually created attachments (e.g. headers, logos, etc.)
     1162         *
     1163         * @since 4.9.0
     1164         */
     1165        _filterContext: function() {
     1166                var library = this.get('library');
     1167
     1168                library.set( library.filter( function( item ) {
     1169                        return item.get('context') === '';
     1170                } ) );
    11551171        }
    11561172});
    11571173
  • src/wp-includes/js/media/controllers/library.js

    diff --git src/wp-includes/js/media/controllers/library.js src/wp-includes/js/media/controllers/library.js
    index 89dc0f4daa..6f30cbb354 100644
    Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar 
    8585                        }) );
    8686                }
    8787
     88                this._filterContext();
     89                this.get('library').on( 'add', this._filterContext, this );
     90
    8891                this.resetDisplays();
    8992        },
    9093
    Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar 
    284287                if ( view && view.get( mode ) ) {
    285288                        setUserSetting( 'libraryContent', mode );
    286289                }
     290        },
     291
     292        /**
     293         * Filter out contextually created attachments (e.g. headers, logos, etc.)
     294         *
     295         * @since 4.9.0
     296         */
     297        _filterContext: function() {
     298                var library = this.get('library');
     299
     300                library.set( library.filter( function( item ) {
     301                        return item.get('context') === '';
     302                } ) );
    287303        }
    288304});
    289305
  • src/wp-includes/media.php

    diff --git src/wp-includes/media.php src/wp-includes/media.php
    index a280e3e41e..1981f3ad9a 100644
    function wp_prepare_attachment_for_js( $attachment ) { 
    31593159                $response['filesizeHumanReadable'] = size_format( $bytes );
    31603160        }
    31613161
     3162        $context = get_post_meta( $attachment->ID, '_wp_attachment_context', true );
     3163        $response['context'] = ( $context ) ? $context : '';
     3164
    31623165        if ( current_user_can( 'edit_post', $attachment->ID ) ) {
    31633166                $response['nonces']['update'] = wp_create_nonce( 'update-post_' . $attachment->ID );
    31643167                $response['nonces']['edit'] = wp_create_nonce( 'image_editor-' . $attachment->ID );
  • src/wp-includes/theme.php

    diff --git src/wp-includes/theme.php src/wp-includes/theme.php
    index 66390ff2bf..a69f4830cc 100644
    function get_uploaded_header_images() { 
    12141214                $header_images[$header_index]['url'] =  $url;
    12151215                $header_images[$header_index]['thumbnail_url'] = $url;
    12161216                $header_images[$header_index]['alt_text'] = get_post_meta( $header->ID, '_wp_attachment_image_alt', true );
    1217                 $header_images[$header_index]['attachment_parent'] = (int) get_post_meta( $header->ID, '_wp_attachment_parent', true );
     1217                $header_images[$header_index]['attachment_parent'] = isset( $header_data['attachment_parent'] ) ? $header_data['attachment_parent'] : '';
    12181218
    12191219                if ( isset( $header_data['width'] ) )
    12201220                        $header_images[$header_index]['width'] = $header_data['width'];