Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(wersja 34082)
+++ wp-admin/includes/template.php	(kopia robocza)
@@ -966,8 +966,9 @@
  * @param string           $title         Title of the meta box.
  * @param callback         $callback      Function that fills the box with the desired content.
  *                                        The function should echo its output.
- * @param string|WP_Screen $screen        Optional. The screen on which to show the box (like a post
+ * @param string|array|WP_Screen $screen  Optional. The screen on which to show the box (like a post
  *                                        type, 'link', or 'comment'). Default is the current screen.
+ *                                        Also accepts an array of post type slugs.
  * @param string           $context       Optional. The context within the screen where the boxes
  *                                        should display. Available contexts vary from screen to
  *                                        screen. Post edit screen contexts include 'normal', 'side',
@@ -983,11 +984,20 @@
 function add_meta_box( $id, $title, $callback, $screen = null, $context = 'advanced', $priority = 'default', $callback_args = null ) {
 	global $wp_meta_boxes;
 
-	if ( empty( $screen ) )
+	if ( empty( $screen ) ) {
 		$screen = get_current_screen();
-	elseif ( is_string( $screen ) )
+	} elseif ( is_string( $screen ) ) {
 		$screen = convert_to_screen( $screen );
+	} elseif ( is_array( $screen ) ) {
+		foreach ( $screen as $single_screen ) {
+			add_meta_box( $id, $title, $callback, $single_screen, $context, $priority, $callback_args );
+		}
+	}
 
+	if ( ! isset( $screen->id ) ) {
+		return;
+	}
+
 	$page = $screen->id;
 
 	if ( !isset($wp_meta_boxes) )
@@ -1125,18 +1135,28 @@
  *
  * @global array $wp_meta_boxes
  *
- * @param string        $id      String for use in the 'id' attribute of tags.
- * @param string|object $screen  The screen on which to show the box (post, page, link).
- * @param string        $context The context within the page where the boxes should show ('normal', 'advanced').
+ * @param string              $id      String for use in the 'id' attribute of tags.
+ * @param string|array|object $screen  The screen on which to show the box (post, page, link). Also accepts an
+ *                                     array of post type slugs from which to remove the box from.
+ * @param string              $context The context within the page where the boxes should show ('normal', 'advanced').
  */
-function remove_meta_box($id, $screen, $context) {
+function remove_meta_box( $id, $screen, $context ) {
 	global $wp_meta_boxes;
 
-	if ( empty( $screen ) )
+	if ( empty( $screen ) ) {
 		$screen = get_current_screen();
-	elseif ( is_string( $screen ) )
+	} elseif ( is_string( $screen ) ) {
 		$screen = convert_to_screen( $screen );
+	} elseif ( is_array( $screen ) ) {
+		foreach ( $screen as $single_screen ) {
+			remove_meta_box( $id, $single_screen, $context );
+		}
+	}
 
+	if ( ! isset( $screen->id ) ) {
+		return;
+	}
+
 	$page = $screen->id;
 
 	if ( !isset($wp_meta_boxes) )
