Jake Goldman在大西洋中部WordCamp的精彩演讲提供了一个很好的指南:http://www.cmurrayconsulting.com/wordpress-tips/customizing-wordpress-admin/#more-939
下载幻灯片下方评论良好的主题。(他问,如果您使用他的代码,请在代码注释中将其归属于他。)
他提到,您可以按如下方式获得所有小部件ID:var\\u dump($wp\\u meta\\u box[\'dashboard]);
您可以:取消设置($wp\\u meta\\u box[\'dashboard\'][\'normal\'][\'core\'][\'dashboard\\u right\\u now\');
然后使用wp\\u add\\u dashboard\\u widget()添加您自己的小部件。
查看wp admin/includes/dashboard。php函数,wp\\u dashboard\\u right\\u now()模型,用于添加内容(根据需要删除主题信息)
功能。php
<?php
/*
Based on Jake Goldman\'s approach
*/
add_action(\'wp_dashboard_setup\', \'custom_dashboard_widgets\');
function custom_dashboard_widgets(){
global $wp_meta_boxes;
unset($wp_meta_boxes[\'dashboard\'][\'normal\'][\'core\'][\'dashboard_right_now\']);
wp_add_dashboard_widget(\'my_dashboard_right_now\', \'Right Now\', \'right_now_no_theme\');
}
function right_now_no_theme() {
global $wp_registered_sidebars;
$num_posts = wp_count_posts( \'post\' );
$num_pages = wp_count_posts( \'page\' );
$num_cats = wp_count_terms(\'category\');
$num_tags = wp_count_terms(\'post_tag\');
$num_comm = wp_count_comments( );
echo "\\n\\t".\'<div class="table table_content">\';
echo "\\n\\t".\'<p class="sub">\' . __(\'Content\') . \'</p>\'."\\n\\t".\'<table>\';
echo "\\n\\t".\'<tr class="first">\';
// Posts
$num = number_format_i18n( $num_posts->publish );
$text = _n( \'Post\', \'Posts\', intval($num_posts->publish) );
if ( current_user_can( \'edit_posts\' ) ) {
$num = "<a href=\'edit.php\'>$num</a>";
$text = "<a href=\'edit.php\'>$text</a>";
}
echo \'<td class="first b b-posts">\' . $num . \'</td>\';
echo \'<td class="t posts">\' . $text . \'</td>\';
echo \'</tr><tr>\';
/* TODO: Show status breakdown on hover
if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds. Don\'t show if !current_user_can
$post_type_texts[] = \'<a href="edit-pages.php">\'.sprintf( _n( \'%s page\', \'%s pages\', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).\'</a>\';
}
if ( $can_edit_posts && !empty($num_posts->draft) ) {
$post_type_texts[] = \'<a href="edit.php?post_status=draft">\'.sprintf( _n( \'%s draft\', \'%s drafts\', $num_posts->draft ), number_format_i18n( $num_posts->draft ) ).\'</a>\';
}
if ( $can_edit_posts && !empty($num_posts->future) ) {
$post_type_texts[] = \'<a href="edit.php?post_status=future">\'.sprintf( _n( \'%s scheduled post\', \'%s scheduled posts\', $num_posts->future ), number_format_i18n( $num_posts->future ) ).\'</a>\';
}
if ( current_user_can(\'publish_posts\') && !empty($num_posts->pending) ) {
$pending_text = sprintf( _n( \'There is <a href="%1$s">%2$s post</a> pending your review.\', \'There are <a href="%1$s">%2$s posts</a> pending your review.\', $num_posts->pending ), \'edit.php?post_status=pending\', number_format_i18n( $num_posts->pending ) );
} else {
$pending_text = \'\';
}
*/
// Pages
$num = number_format_i18n( $num_pages->publish );
$text = _n( \'Page\', \'Pages\', $num_pages->publish );
if ( current_user_can( \'edit_pages\' ) ) {
$num = "<a href=\'edit.php?post_type=page\'>$num</a>";
$text = "<a href=\'edit.php?post_type=page\'>$text</a>";
}
echo \'<td class="first b b_pages">\' . $num . \'</td>\';
echo \'<td class="t pages">\' . $text . \'</td>\';
echo \'</tr><tr>\';
// Categories
$num = number_format_i18n( $num_cats );
$text = _n( \'Category\', \'Categories\', $num_cats );
if ( current_user_can( \'manage_categories\' ) ) {
$num = "<a href=\'edit-tags.php?taxonomy=category\'>$num</a>";
$text = "<a href=\'edit-tags.php?taxonomy=category\'>$text</a>";
}
echo \'<td class="first b b-cats">\' . $num . \'</td>\';
echo \'<td class="t cats">\' . $text . \'</td>\';
echo \'</tr><tr>\';
// Tags
$num = number_format_i18n( $num_tags );
$text = _n( \'Tag\', \'Tags\', $num_tags );
if ( current_user_can( \'manage_categories\' ) ) {
$num = "<a href=\'edit-tags.php\'>$num</a>";
$text = "<a href=\'edit-tags.php\'>$text</a>";
}
echo \'<td class="first b b-tags">\' . $num . \'</td>\';
echo \'<td class="t tags">\' . $text . \'</td>\';
echo "</tr>";
do_action(\'right_now_content_table_end\');
echo "\\n\\t</table>\\n\\t</div>";
echo "\\n\\t".\'<div class="table table_discussion">\';
echo "\\n\\t".\'<p class="sub">\' . __(\'Discussion\') . \'</p>\'."\\n\\t".\'<table>\';
echo "\\n\\t".\'<tr class="first">\';
// Total Comments
$num = \'<span class="total-count">\' . number_format_i18n($num_comm->total_comments) . \'</span>\';
$text = _n( \'Comment\', \'Comments\', $num_comm->total_comments );
if ( current_user_can( \'moderate_comments\' ) ) {
$num = \'<a href="edit-comments.php">\' . $num . \'</a>\';
$text = \'<a href="edit-comments.php">\' . $text . \'</a>\';
}
echo \'<td class="b b-comments">\' . $num . \'</td>\';
echo \'<td class="last t comments">\' . $text . \'</td>\';
echo \'</tr><tr>\';
// Approved Comments
$num = \'<span class="approved-count">\' . number_format_i18n($num_comm->approved) . \'</span>\';
$text = _nx( \'Approved\', \'Approved\', $num_comm->approved, \'Right Now\' );
if ( current_user_can( \'moderate_comments\' ) ) {
$num = "<a href=\'edit-comments.php?comment_status=approved\'>$num</a>";
$text = "<a class=\'approved\' href=\'edit-comments.php?comment_status=approved\'>$text</a>";
}
echo \'<td class="b b_approved">\' . $num . \'</td>\';
echo \'<td class="last t">\' . $text . \'</td>\';
echo "</tr>\\n\\t<tr>";
// Pending Comments
$num = \'<span class="pending-count">\' . number_format_i18n($num_comm->moderated) . \'</span>\';
$text = _n( \'Pending\', \'Pending\', $num_comm->moderated );
if ( current_user_can( \'moderate_comments\' ) ) {
$num = "<a href=\'edit-comments.php?comment_status=moderated\'>$num</a>";
$text = "<a class=\'waiting\' href=\'edit-comments.php?comment_status=moderated\'>$text</a>";
}
echo \'<td class="b b-waiting">\' . $num . \'</td>\';
echo \'<td class="last t">\' . $text . \'</td>\';
echo "</tr>\\n\\t<tr>";
// Spam Comments
$num = number_format_i18n($num_comm->spam);
$text = _nx( \'Spam\', \'Spam\', $num_comm->spam, \'comment\' );
if ( current_user_can( \'moderate_comments\' ) ) {
$num = "<a href=\'edit-comments.php?comment_status=spam\'><span class=\'spam-count\'>$num</span></a>";
$text = "<a class=\'spam\' href=\'edit-comments.php?comment_status=spam\'>$text</a>";
}
echo \'<td class="b b-spam">\' . $num . \'</td>\';
echo \'<td class="last t">\' . $text . \'</td>\';
echo "</tr>";
do_action(\'right_now_table_end\');
do_action(\'right_now_discussion_table_end\');
echo "\\n\\t</table>\\n\\t</div>";
echo "\\n\\t".\'<div class="versions">\';
$ct = current_theme_info();
echo "\\n\\t<p>";
/*
if ( !empty($wp_registered_sidebars) ) {
$sidebars_widgets = wp_get_sidebars_widgets();
$num_widgets = 0;
foreach ( (array) $sidebars_widgets as $k => $v ) {
if ( \'wp_inactive_widgets\' == $k )
continue;
if ( is_array($v) )
$num_widgets = $num_widgets + count($v);
}
$num = number_format_i18n( $num_widgets );
$switch_themes = $ct->title;
if ( current_user_can( \'switch_themes\') ) {
echo \'<a href="themes.php" class="button rbutton">\' . __(\'Change Theme\') . \'</a>\';
$switch_themes = \'<a href="themes.php">\' . $switch_themes . \'</a>\';
}
if ( current_user_can( \'edit_theme_options\' ) ) {
printf(_n(\'Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widget</a></span>\', \'Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widgets</a></span>\', $num_widgets), $switch_themes, $num);
} else {
printf(_n(\'Theme <span class="b">%1$s</span> with <span class="b">%2$s Widget</span>\', \'Theme <span class="b">%1$s</span> with <span class="b">%2$s Widgets</span>\', $num_widgets), $switch_themes, $num);
}
} else {
if ( current_user_can( \'switch_themes\' ) ) {
echo \'<a href="themes.php" class="button rbutton">\' . __(\'Change Theme\') . \'</a>\';
printf( __(\'Theme <span class="b"><a href="themes.php">%1$s</a></span>\'), $ct->title );
} else {
printf( __(\'Theme <span class="b">%1$s</span>\'), $ct->title );
}
}
*/
echo \'</p>\';
update_right_now_message();
echo "\\n\\t".\'<br class="clear" /></div>\';
do_action( \'rightnow_end\' );
do_action( \'activity_box_end\' );
}
?>