WordPress.org

Make WordPress Core

Ticket #18958: 18958.diff

File 18958.diff, 8.3 KB (added by ryan, 4 years ago)

Speak screen in the meta box functions

  • wp-admin/includes/template.php

     
    839839 * @param string $id String for use in the 'id' attribute of tags. 
    840840 * @param string $title Title of the meta box. 
    841841 * @param string $callback Function that fills the box with the desired content. The function should echo its output. 
    842  * @param string $page The type of edit page on which to show the box (post, page, link). 
     842 * @param string|object $screen The screen on which to show the box (post, page, link). 
    843843 * @param string $context The context within the page where the boxes should show ('normal', 'advanced'). 
    844844 * @param string $priority The priority within the context where the boxes should show ('high', 'low'). 
    845845 */ 
    846 function add_meta_box($id, $title, $callback, $page, $context = 'advanced', $priority = 'default', $callback_args=null) { 
     846function add_meta_box($id, $title, $callback, $screen, $context = 'advanced', $priority = 'default', $callback_args=null) { 
    847847        global $wp_meta_boxes; 
    848848 
     849        if ( empty( $screen ) ) 
     850                $screen = get_current_screen(); 
     851        elseif ( is_string( $screen ) ) 
     852                $screen = convert_to_screen( $screen ); 
     853 
     854        $page = $screen->id; 
     855 
    849856        if ( !isset($wp_meta_boxes) ) 
    850857                $wp_meta_boxes = array(); 
    851858        if ( !isset($wp_meta_boxes[$page]) ) 
     
    899906 * 
    900907 * @since 2.5.0 
    901908 * 
    902  * @param string $page page identifier, also known as screen identifier 
     909 * @param string|object $screen Screen identifier 
    903910 * @param string $context box context 
    904911 * @param mixed $object gets passed to the box callback function as first parameter 
    905912 * @return int number of meta_boxes 
    906913 */ 
    907 function do_meta_boxes($page, $context, $object) { 
     914function do_meta_boxes( $screen, $context, $object ) { 
    908915        global $wp_meta_boxes; 
    909916        static $already_sorted = false; 
    910917 
    911         $hidden = get_hidden_meta_boxes($page); 
     918        if ( empty( $screen ) ) 
     919                $screen = get_current_screen(); 
     920        elseif ( is_string( $screen ) ) 
     921                $screen = convert_to_screen( $screen ); 
    912922 
     923        $page = $screen->id; 
     924 
     925        $hidden = get_hidden_meta_boxes( $screen ); 
     926 
    913927        printf('<div id="%s-sortables" class="meta-box-sortables">', htmlspecialchars($context)); 
    914928 
    915929        $i = 0; 
     
    919933                        foreach ( $sorted as $box_context => $ids ) { 
    920934                                foreach ( explode(',', $ids ) as $id ) { 
    921935                                        if ( $id && 'dashboard_browser_nag' !== $id ) 
    922                                                 add_meta_box( $id, null, null, $page, $box_context, 'sorted' ); 
     936                                                add_meta_box( $id, null, null, $screen, $box_context, 'sorted' ); 
    923937                                } 
    924938                        } 
    925939                } 
     
    961975 * @since 2.6.0 
    962976 * 
    963977 * @param string $id String for use in the 'id' attribute of tags. 
    964  * @param string $page The type of edit page on which to show the box (post, page, link). 
     978 * @param string|object $screen The screen on which to show the box (post, page, link). 
    965979 * @param string $context The context within the page where the boxes should show ('normal', 'advanced'). 
    966980 */ 
    967 function remove_meta_box($id, $page, $context) { 
     981function remove_meta_box($id, $screen, $context) { 
    968982        global $wp_meta_boxes; 
    969983 
     984        if ( empty( $screen ) ) 
     985                $screen = get_current_screen(); 
     986        elseif ( is_string( $screen ) ) 
     987                $screen = convert_to_screen( $screen ); 
     988 
     989        $page = $screen->id; 
     990 
    970991        if ( !isset($wp_meta_boxes) ) 
    971992                $wp_meta_boxes = array(); 
    972993        if ( !isset($wp_meta_boxes[$page]) ) 
  • wp-admin/edit-form-advanced.php

     
    9999// All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action). 
    100100require_once('./includes/meta-boxes.php'); 
    101101 
    102 add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', $post_type, 'side', 'core'); 
     102add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', 0, 'side', 'core'); 
    103103 
    104104if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type, 'post-formats' ) ) 
    105         add_meta_box( 'formatdiv', _x( 'Format', 'post format' ), 'post_format_meta_box', $post_type, 'side', 'core' ); 
     105        add_meta_box( 'formatdiv', _x( 'Format', 'post format' ), 'post_format_meta_box', 0, 'side', 'core' ); 
    106106 
    107107// all taxonomies 
    108108foreach ( get_object_taxonomies($post_type) as $tax_name ) { 
     
    113113        $label = $taxonomy->labels->name; 
    114114 
    115115        if ( !is_taxonomy_hierarchical($tax_name) ) 
    116                 add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', $post_type, 'side', 'core', array( 'taxonomy' => $tax_name )); 
     116                add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', 0, 'side', 'core', array( 'taxonomy' => $tax_name )); 
    117117        else 
    118                 add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', $post_type, 'side', 'core', array( 'taxonomy' => $tax_name )); 
     118                add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', 0, 'side', 'core', array( 'taxonomy' => $tax_name )); 
    119119} 
    120120 
    121121if ( post_type_supports($post_type, 'page-attributes') ) 
    122         add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core'); 
     122        add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', 0, 'side', 'core'); 
    123123 
    124124if ( current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' ) ) 
    125                 add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', $post_type, 'side', 'low'); 
     125                add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 0, 'side', 'low'); 
    126126 
    127127if ( post_type_supports($post_type, 'excerpt') ) 
    128         add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', $post_type, 'normal', 'core'); 
     128        add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', 0, 'normal', 'core'); 
    129129 
    130130if ( post_type_supports($post_type, 'trackbacks') ) 
    131         add_meta_box('trackbacksdiv', __('Send Trackbacks'), 'post_trackback_meta_box', $post_type, 'normal', 'core'); 
     131        add_meta_box('trackbacksdiv', __('Send Trackbacks'), 'post_trackback_meta_box', 0, 'normal', 'core'); 
    132132 
    133133if ( post_type_supports($post_type, 'custom-fields') ) 
    134         add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core'); 
     134        add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', 0, 'normal', 'core'); 
    135135 
    136136do_action('dbx_post_advanced'); 
    137137if ( post_type_supports($post_type, 'comments') ) 
    138         add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', $post_type, 'normal', 'core'); 
     138        add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', 0, 'normal', 'core'); 
    139139 
    140140if ( ('publish' == $post->post_status || 'private' == $post->post_status) && post_type_supports($post_type, 'comments') ) 
    141         add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core'); 
     141        add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', 0, 'normal', 'core'); 
    142142 
    143143if ( !( 'pending' == $post->post_status && !current_user_can( $post_type_object->cap->publish_posts ) ) ) 
    144         add_meta_box('slugdiv', __('Slug'), 'post_slug_meta_box', $post_type, 'normal', 'core'); 
     144        add_meta_box('slugdiv', __('Slug'), 'post_slug_meta_box', 0, 'normal', 'core'); 
    145145 
    146146if ( post_type_supports($post_type, 'author') ) { 
    147147        if ( is_super_admin() || current_user_can( $post_type_object->cap->edit_others_posts ) ) 
    148                 add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core'); 
     148                add_meta_box('authordiv', __('Author'), 'post_author_meta_box', 0, 'normal', 'core'); 
    149149} 
    150150 
    151151if ( post_type_supports($post_type, 'revisions') && 0 < $post_ID && wp_get_post_revisions( $post_ID ) ) 
    152         add_meta_box('revisionsdiv', __('Revisions'), 'post_revisions_meta_box', $post_type, 'normal', 'core'); 
     152        add_meta_box('revisionsdiv', __('Revisions'), 'post_revisions_meta_box', 0, 'normal', 'core'); 
    153153 
    154154do_action('add_meta_boxes', $post_type, $post); 
    155155do_action('add_meta_boxes_' . $post_type, $post); 
     
    347347        $side_meta_boxes = do_meta_boxes($post_type, 'side', $post); 
    348348} 
    349349 
    350 do_meta_boxes($post_type, 'normal', $post); 
     350do_meta_boxes(0, 'normal', $post); 
    351351 
    352352( 'page' == $post_type ) ? do_action('edit_page_form') : do_action('edit_form_advanced'); 
    353353 
    354 do_meta_boxes($post_type, 'advanced', $post); 
     354do_meta_boxes(0, 'advanced', $post); 
    355355 
    356356do_action('dbx_post_sidebar'); ?> 
    357357