WordPress.org

Make WordPress Core

Ticket #38796: 38796.0.diff

File 38796.0.diff, 3.1 KB (added by Christian1012, 5 years ago)
  • src/wp-includes/class-wp-customize-manager.php

     
    39433943                        'description'    => $control_description,
    39443944                        'section'        => 'header_image',
    39453945                        'mime_type'      => 'video',
    3946                         // @todo These button_labels can be removed once WP_Customize_Media_Control provides mime_type-specific labels automatically. See <https://core.trac.wordpress.org/ticket/38796>.
    3947                         'button_labels'  => array(
    3948                                 'select'       => __( 'Select Video' ),
    3949                                 'change'       => __( 'Change Video' ),
    3950                                 'placeholder'  => __( 'No video selected' ),
    3951                                 'frame_title'  => __( 'Select Video' ),
    3952                                 'frame_button' => __( 'Choose Video' ),
    3953                         ),
    39543946                        'active_callback' => 'is_header_video_active',
    39553947                ) ) );
    39563948
  • src/wp-includes/customize/class-wp-customize-media-control.php

     
    5656                parent::__construct( $manager, $id, $args );
    5757
    5858                if ( ! ( $this instanceof WP_Customize_Image_Control ) ) {
    59                         $this->button_labels = wp_parse_args( $this->button_labels, array(
    60                                 'select'       => __( 'Select File' ),
    61                                 'change'       => __( 'Change File' ),
    62                                 'default'      => __( 'Default' ),
    63                                 'remove'       => __( 'Remove' ),
    64                                 'placeholder'  => __( 'No file selected' ),
    65                                 'frame_title'  => __( 'Select File' ),
    66                                 'frame_button' => __( 'Choose File' ),
    67                         ) );
     59                        $this->button_labels = wp_parse_args( $this->button_labels, $this->get_default_button_labels() );
    6860                }
    6961        }
    7062
     
    214206                <# } #>
    215207                <?php
    216208        }
     209
     210        /**
     211         * Get Default Button Labels
     212         *
     213         * Provides an array of the default button labels based on the mime type of the current control.
     214         *
     215         * @since  4.8.0
     216         *
     217         * @return array An associative array of default button labels.
     218         */
     219        public function get_default_button_labels() {
     220                // Set the default translated labels.
     221                $labels = array(
     222                        'video'   => _x( 'Video', 'noun' ),
     223                        'audio'   => __( 'Audio' ),
     224                        'image'   => __( 'Image' ),
     225                        'default' => _x( 'File', 'noun' ),
     226                );
     227
     228                // Get just the mime type and strip the mime subtype if present.
     229                $mime_type = ( '' !== $this->mime_type ) ? strtok( ltrim( $this->mime_type, '/' ), '/' ) : 'default';
     230
     231                // Get the default label of the mime type.
     232                $default_label = array_key_exists( $mime_type, $labels ) ? $labels[ $mime_type ] : $label['default'];
     233
     234                return array(
     235                        'select'       => sprintf( __( 'Select %s' ), $default_label ),
     236                        'change'       => sprintf( __( 'Change %s' ), $default_label ),
     237                        'default'      => __( 'Default' ),
     238                        'remove'       => __( 'Remove' ),
     239                        'placeholder'  => sprintf( __( 'No %s selected' ), strtolower( $default_label ) ),
     240                        'frame_title'  => sprintf( __( 'Select %s' ), $default_label ),
     241                        'frame_button' => sprintf( __( 'Choose %s' ), $default_label ),
     242                );
     243        }
    217244}