/**
* Dashboard Administration Screen
*
- * @internal This file should be parseable by PHP4.
- *
* @package WordPress
* @subpackage Administration
*/
/** Load WordPress Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
/** Load WordPress dashboard API */
require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
wp_dashboard_setup();
wp_enqueue_script( 'dashboard' );
-wp_enqueue_script( 'plugin-install' );
-wp_enqueue_script( 'media-upload' );
+if ( current_user_can( 'edit_theme_options' ) )
+ wp_enqueue_script( 'customize-loader' );
+if ( current_user_can( 'install_plugins' ) )
+ wp_enqueue_script( 'plugin-install' );
+if ( current_user_can( 'upload_files' ) )
+ wp_enqueue_script( 'media-upload' );
add_thickbox();
if ( wp_is_mobile() )
$help = '<p>' . __('You can use the following controls to arrange your Dashboard screen to suit your workflow. This is true on most other administration screens as well.') . '</p>';
$help .= '<p>' . __('<strong>Screen Options</strong> - Use the Screen Options tab to choose which Dashboard boxes to show, and how many columns to display.') . '</p>';
$help .= '<p>' . __('<strong>Drag and Drop</strong> - To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box.') . '</p>';
-$help .= '<p>' . __('<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. In addition, some box have configurable content, and will show a “Configure” link in the title bar if you hover over it.') . '</p>';
+$help .= '<p>' . __('<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. In addition, some boxes have configurable content, and will show a “Configure” link in the title bar if you hover over it.') . '</p>';
$screen->add_help_tab( array(
'id' => 'help-layout',
$help .= '<p>' . __('<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.') . '</p>';
if ( current_user_can( 'publish_posts' ) )
$help .= '<p>' . __('<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.') . '</p>';
-if ( current_user_can( 'edit_posts' ) ) {
+if ( current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) {
$help .= '<p>' . __('<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.') . '</p>';
$help .= '<p>' . __('<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you’ve started.') . '</p>';
}
<?php screen_icon(); ?>
<h2><?php echo esc_html( $title ); ?></h2>
-<?php wp_welcome_panel(); ?>
+<?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
+ $classes = 'welcome-panel';
+
+ $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
+ // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner
+ $hide = 0 == $option || ( 2 == $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) );
+ if ( $hide )
+ $classes .= ' hidden'; ?>
+
+ <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>">
+ <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?>
+ <a class="welcome-panel-close" href="<?php echo esc_url( admin_url( '?welcome=0' ) ); ?>"><?php _e( 'Dismiss' ); ?></a>
+ <?php
+ /**
+ * Add content to the welcome panel on the admin dashboard.
+ *
+ * To remove the default welcome panel, use remove_action():
+ * <code>remove_action( 'welcome_panel', 'wp_welcome_panel' );</code>
+ *
+ * @since 3.5.0
+ */
+ do_action( 'welcome_panel' );
+ ?>
+ </div>
+<?php endif; ?>
<div id="dashboard-widgets-wrap">