Make WordPress Core

Ticket #35021: 35021.diff

File 35021.diff, 3.3 KB (added by swissspidy, 9 years ago)
  • src/wp-admin/includes/dashboard.php

    diff --git src/wp-admin/includes/dashboard.php src/wp-admin/includes/dashboard.php
    index 349acfa..dc21fc6 100644
    function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_ 
    146146        $screen = get_current_screen();
    147147        global $wp_dashboard_control_callbacks;
    148148
     149        $private_callback_args = array( '__widget_basename' => $widget_name );
     150
     151        if ( is_null( $callback_args ) ) {
     152                $callback_args = $private_callback_args;
     153        } else if ( is_array( $callback_args ) ) {
     154                $callback_args = array_merge( $callback_args, $private_callback_args );
     155        }
     156
    149157        if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) {
    150158                $wp_dashboard_control_callbacks[$widget_id] = $control_callback;
    151159                if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) {
  • src/wp-admin/includes/screen.php

    diff --git src/wp-admin/includes/screen.php src/wp-admin/includes/screen.php
    index a72a807..6313c7f 100644
    function meta_box_prefs( $screen ) { 
    117117                                // Submit box cannot be hidden
    118118                                if ( 'submitdiv' == $box['id'] || 'linksubmitdiv' == $box['id'] )
    119119                                        continue;
    120                                 $box_id = $box['id'];
    121                                 echo '<label for="' . $box_id . '-hide">';
    122                                 echo '<input class="hide-postbox-tog" name="' . $box_id . '-hide" type="checkbox" id="' . $box_id . '-hide" value="' . $box_id . '"' . (! in_array($box_id, $hidden) ? ' checked="checked"' : '') . ' />';
    123                                 echo "{$box['title']}</label>\n";
     120
     121                                $widget_title = $box['title'];
     122
     123                                if ( isset( $box['args']['__widget_basename'] ) ) {
     124                                        $widget_title = $box['args']['__widget_basename'];
     125                                }
     126
     127                                printf(
     128                                        '<label for="%1$s-hide"><input class="hide-postbox-tog" name="%1$s-hide" type="checkbox" id="%1$s-hide" value="%1$s" %2$s />%3$s</label>',
     129                                        esc_attr( $box['id'] ),
     130                                        checked( in_array( $box['id'], $hidden ), false, false ),
     131                                        $widget_title
     132                                );
    124133                        }
    125134                }
    126135        }
  • src/wp-admin/includes/template.php

    diff --git src/wp-admin/includes/template.php src/wp-admin/includes/template.php
    index bc103fa..b38ee68 100644
    function do_meta_boxes( $screen, $context, $object ) { 
    10271027                                        $hidden_class = in_array($box['id'], $hidden) ? ' hide-if-js' : '';
    10281028                                        echo '<div id="' . $box['id'] . '" class="postbox ' . postbox_classes($box['id'], $page) . $hidden_class . '" ' . '>' . "\n";
    10291029                                        if ( 'dashboard_browser_nag' != $box['id'] ) {
     1030                                                $widget_title =  $box[ 'title' ];
     1031
     1032                                                if ( is_array( $box[ 'args' ] ) && isset( $box[ 'args' ][ '__widget_basename' ] ) ) {
     1033                                                        $widget_title = esc_html( $box[ 'args' ][ '__widget_basename' ] );
     1034                                                        //do not pass this parameter to the user callback function
     1035                                                        unset( $box[ 'args' ][ '__widget_basename' ] );
     1036                                                }
     1037
    10301038                                                echo '<button type="button" class="handlediv button-link" aria-expanded="true">';
    1031                                                 echo '<span class="screen-reader-text">' . sprintf( __( 'Toggle panel: %s' ), $box['title'] ) . '</span>';
     1039                                                echo '<span class="screen-reader-text">' . sprintf( __( 'Toggle panel: %s' ), $widget_title ) . '</span>';
    10321040                                                echo '<span class="toggle-indicator" aria-hidden="true"></span>';
    10331041                                                echo '</button>';
    10341042                                        }