WordPress.org

Make WordPress Core

Ticket #19878: screen_icon.patch

File screen_icon.patch, 1.3 KB (added by wpsmith, 3 years ago)
  • screen.php

     
    135135 *      which it uses to determine an icon HTML ID. Or, if a string is provided, it is used to form the icon HTML ID. 
    136136 */ 
    137137function screen_icon( $screen = '' ) { 
    138         echo get_screen_icon( $screen ); 
     138        echo apply_filters ( 'wp_screen_icon' , get_screen_icon( $screen ) ); 
    139139} 
    140140 
    141141/** 
     
    148148 * @return string HTML for the screen icon. 
    149149 */ 
    150150function get_screen_icon( $screen = '' ) { 
     151        $style = ''; 
    151152        if ( empty( $screen ) ) 
    152153                $screen = get_current_screen(); 
    153154        elseif ( is_string( $screen ) ) 
    154155                $icon_id = $screen; 
     156        elseif ( is_array( $screen ) ) { 
     157                /* 
     158                        $screen = array ( 
     159                                'name' => 'custom' , 
     160                                'icon' => 'URL', 
     161                        ); 
     162                */ 
     163                $icon_id = isset ( $screen['name'] ) ? $screen['name'] : 'custom'; 
     164                $style = ' style="background:transparent url(' . $screen['icon'] . ') no-repeat;"'; 
     165        } 
    155166 
    156167        $class = 'icon32'; 
    157168 
     
    168179                        $class .= ' ' . sanitize_html_class( 'icon32-posts-' . $screen->post_type ); 
    169180        } 
    170181 
    171         return '<div id="icon-' . esc_attr( $icon_id ) . '" class="' . $class . '"><br /></div>'; 
     182        return apply_filters ( 'wp_get_screen_icon' , '<div id="icon-' . esc_attr( $icon_id ) . '" class="' . $class . '"' . $style .'><br /></div>' , $screen ); 
    172183} 
    173184 
    174185/**