From 28f16ea431ec97fae559d0573ce27e8c6b437f88 Mon Sep 17 00:00:00 2001 From: markjaquith Date: Wed, 8 Dec 2010 19:53:26 +0000 Subject: [PATCH] Keep Dashboard RSS widgets in same place when configuring. props duck_. fixes #14785 git-svn-id: http://svn.automattic.com/wordpress/trunk@16814 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/dashboard.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php index f5fa23ca87..a6573799b6 100644 --- a/wp-admin/includes/dashboard.php +++ b/wp-admin/includes/dashboard.php @@ -138,16 +138,17 @@ function wp_dashboard_setup() { function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null ) { $screen = get_current_screen(); global $wp_dashboard_control_callbacks; + if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) { $wp_dashboard_control_callbacks[$widget_id] = $control_callback; if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) { list($url) = explode( '#', add_query_arg( 'edit', false ), 2 ); $widget_name .= ' ' . __( 'Cancel' ) . ''; - add_meta_box( $widget_id, $widget_name, '_wp_dashboard_control_callback', $screen->id, 'normal', 'core' ); - return; + $callback = '_wp_dashboard_control_callback'; + } else { + list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 ); + $widget_name .= ' ' . __( 'Configure' ) . ''; } - list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 ); - $widget_name .= ' ' . __( 'Configure' ) . ''; } if ( is_blog_admin () )