我使用创建的自定义包含文件来修改仪表板。默认情况下,一些挂钩和过滤器会被注释掉,但这里的大部分内容都是用来删除菜单、更改wp徽标、删除元框、删除仪表板小部件等。。。
<?php
/*
File: cleanup-dashboard.php
Description: Clean up and customize the dashboard
Author: Chris Olbekson
Author URI: http://c3mdigital.com
*/
//Dashboard Action Hooks
add_action( \'admin_init\', \'c3m_admin_style\' );
add_action( \'admin_init\', \'c3m_remove_dashboard_meta\' );
add_action( \'admin_init\', \'c3m_remove_post_meta\' );
add_action( \'admin_menu\', \'c3m_remove_admin_menus\' );
add_action( \'admin_menu\', \'c3m_remove_admin_submenus\' );
add_filter( \'admin_user_info_links\', \'c3m_user_greeting\' );
add_action( \'admin_head\', \'c3m_custom_logo\' );
add_action( \'login_head\', \'c3m_custom_login_css\' );
add_action( \'login_head\', \'c3m_custom_login_logo\' );
add_filter( \'admin_footer_text\', \'c3m_remove_footer_admin\' );
add_action( \'init\', \'c3m_change_post_object_label\' );
add_action( \'admin_menu\', \'c3m_change_post_menu_label\' );
add_filter( \'admin_body_class\', \'c3m_admin_body_class\' );
//Dashboard CSS
function c3m_admin_style() {
wp_enqueue_style( \'c3m_admin_css\', get_bloginfo( \'stylesheet_directory\' ) . \'/_/admin/c3m-admin.css\', false, \'1.0\', \'all\');
}
//Removes the dashboard widgets
function c3m_remove_dashboard_meta() {
remove_meta_box(\'dashboard_incoming_links\', \'dashboard\', \'normal\');
remove_meta_box(\'dashboard_plugins\', \'dashboard\', \'normal\');
remove_meta_box(\'dashboard_primary\', \'dashboard\', \'normal\');
remove_meta_box(\'dashboard_secondary\', \'dashboard\', \'normal\');
remove_meta_box(\'dashboard_incoming_links\', \'dashboard\', \'normal\');
remove_meta_box(\'dashboard_quick_press\', \'dashboard\', \'side\');
// remove_meta_box(\'dashboard_recent_drafts\', \'dashboard\', \'side\');
remove_meta_box( \'dashboard_recent_comments\', \'dashboard\', \'normal\' );
}
function c3m_remove_post_meta() {
// remove_meta_box( \'commentstatusdiv\', \'page\', \'normal\' );
// remove_meta_box( \'commentstatusdiv\', \'post\', \'normal\' );
// remove_meta_box( \'commentsdiv\', \'page\', \'normal\' );
// remove_meta_box( \'commentsdiv\', \'post\', \'normal\' );
// remove_meta_box( \'authordiv\', \'page\', \'normal\' );
// remove_meta_box( \'authordiv\', \'post\', \'normal\' );
// remove_meta_box( \'trackbacksdiv\', \'post\', \'normal\' );
// remove_meta_box( \'trackbacksdiv\', \'page\', \'normal\' );
// remove_meta_box( \'postcustom\', \'post\', \'normal\' );
// remove_meta_box( \'postcustom\', \'page\', \'normal\' );
// remove_meta_box( \'slugdiv\', \'post\', \'normal\' );
// remove_meta_box( \'slugdiv\', \'page\', \'normal\' );
//remove_meta_box( \'excerptdiv\', \'post\', \'normal\' );
// remove_meta_box( \'page_choicediv\', \'post\', \'normal\' );
// remove_meta_box( \'page_choicediv\', \'sponsor_ad\', \'normal\' );
}
//Remove top level admin menus
//Remove top level admin menus
function c3m_remove_admin_menus() {
remove_menu_page( \'edit-comments.php\' );
remove_menu_page( \'link-manager.php\' );
remove_menu_page( \'tools.php\' );
// remove_menu_page( \'plugins.php\' );
// remove_menu_page( \'users.php\' );
// remove_menu_page( \'options-general.php\' );
}
//Remove sub level admin menus
function c3m_remove_admin_submenus() {
remove_submenu_page( \'themes.php\', \'theme-editor.php\' );
remove_submenu_page( \'themes.php\', \'themes.php\' );
remove_submenu_page( \'edit.php\', \'edit-tags.php?taxonomy=post_tag\' );
remove_submenu_page( \'edit.php\', \'edit-tags.php?taxonomy=category\' );
// remove_submenu_page( \'themes.php\', \'nav-menus.php\' );
// remove_submenu_page( \'themes.php\', \'widgets.php\' );
// remove_submenu_page( \'plugins.php\', \'plugin-editor.php\' );
// remove_submenu_page( \'plugins.php\', \'plugin-install.php\' );
// remove_submenu_page( \'users.php\', \'users.php\' );
// remove_submenu_page( \'users.php\', \'user-new.php\' );
// remove_submenu_page( \'options-general.php\', \'options-writing.php\' );
// remove_submenu_page( \'options-general.php\', \'options-discussion.php\' );
// remove_submenu_page( \'options-general.php\', \'options-reading.php\' );
// remove_submenu_page( \'options-general.php\', \'options-discussion.php\' );
// remove_submenu_page( \'options-general.php\', \'options-media.php\' );
// remove_submenu_page( \'options-general.php\', \'options-privacy.php\' );
// remove_submenu_page( \'options-general.php\', \'options-permalinks.php\' );
}
//This Adds an extra body class to a custom post type editor screen to target with css
function c3m_admin_body_class( $classes ) {
global $wpdb, $post;
$post_type = get_post_type( $post->ID );
if ( is_admin() && ( $post_type == \'sponsor_ad\' ) ) {
$classes .= \'post_type-\' . $post_type;
}
return $classes;
}
//Replaces Howdy with Welcome pretty self explanitory
function c3m_user_greeting( $greet_msg ) {
$greet_msg = str_replace( \'Howdy,\',\'Welcome\', $greet_msg);
return $greet_msg;
}
//Admin Header Logo this replaces the WordPress logo with your own
function c3m_custom_logo() {
echo \'
<style type="text/css">
#header-logo { background-image: url(\'.get_bloginfo(\'template_directory\').\'/images/logo_wnd_small.png) !important; width:98px; }
</style>
\';
}
//Admin Footer Logo Same as above but for the footer
function c3m_remove_footer_admin() {
echo \'<div id="wlcms-footer-container">\';
echo \'<a target="_blank" href="http://c3mdigital.com"><img style="width:80px;" src="\'.get_bloginfo(\'template_directory\').\'/images/developer-logo.png" id="wlcms-footer-logo">Custom WordPress Development</a>\';
echo \'</div><p id="safari-fix"\';
}
//Login Screen CSS Custon css to replace the WP logo on the login screen
function c3m_custom_login_css() {
echo \'<link rel="stylesheet" type="text/css" href="\'.get_bloginfo(\'template_directory\').\'/_/admin/c3m-login.css" />\';
}
//Login Screen Logo this incjects your logo css into the login css page
function c3m_custom_login_logo() {
echo \'<style type="text/css">
h1 a { background-image:url(\'.get_bloginfo(\'template_directory\').\'/images/logo_wnd_new.png) !important; margin-bottom: 20px; height:100px; }
</style>
<script type="text/javascript">
function loginalt() {
var changeLink = document.getElementById(\\\'login\\\').innerHTML;
changeLink = changeLink.replace("http://wordpress.org/", "\' . site_url() . \'");
changeLink = changeLink.replace("Powered by WordPress", "\' . get_bloginfo(\'name\') . \'");
document.getElementById(\\\'login\\\').innerHTML = changeLink;
}
window.onload=loginalt;
</script>
\';
}
//This changes the name of Posts to something different
function c3m_change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = \'Post Boxes\';
//$menu[10][0] = \'Files\';
$submenu[\'edit.php\'][5][0] = \'Post Boxes\';
$submenu[\'edit.php\'][10][0] = \'Add Post Box\';
//$submenu[\'edit.php\'][15][0] = \'Status\';
echo \'\';
}
//Changes the label for the posts we changed above
function c3m_change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types[\'post\']->labels;
$labels->name = \'Post Boxes\';
$labels->singular_name = \'Add New Post Box\';
$labels->add_new = \'Add Post Box\';
$labels->add_new_item = \'Add Post Box\';
$labels->edit_item = \'Edit Post Box\';
$labels->new_item = \'Post Box\';
$labels->view_item = \'View Post Box\';
$labels->search_items = \'Search Post Boxes\';
$labels->not_found = \'No Post Boxes found\';
$labels->not_found_in_trash = \'No Post Boxes found in Trash\';
}
//Post Edit Columns Customizes the post edit columns by adding the featured image as a thumbnail and shows the excert
// Add to admin_init function
add_filter( \'manage_edit-post_columns\', \'add_new_post_columns\');
add_filter( \'manage_edit-post_columns\', \'unset_the_defaults\');
add_action( \'manage_posts_custom_column\', \'testimonial_custom_column\', 10, 2);
add_action( \'manage_posts_custom_column\', \'testimonial_source_column\', 10, 2);
function unset_the_defaults($defaults) {
unset($defaults[\'author\']);
//unset($defaults[\'title\']);
return $defaults;
}
function add_new_post_columns($dfaults) {
$dfaults[\'page_choice\'] = \'Displayed On\';
$dfaults[\'article_source\'] = \'Source\';
$dfaults[\'post_box_excerpt\'] = \'Post Box Excerpt\';
$dfaults[\'post_box_image\'] = \'Post Box Image\';
return $dfaults;
}
function testimonial_custom_column($column_name, $post_id){
$taxonomy = $column_name;
$post_type = get_post_type($post_id);
$terms = get_the_terms($post_id, $taxonomy);
if (!empty($terms) ) {
foreach ( $terms as $term )
$post_terms[] ="<a href=\'edit.php?post_type={$post_type}&{$taxonomy}={$term->slug}\'> " .esc_html(sanitize_term_field(\'name\', $term->name, $term->term_id, $taxonomy, \'edit\')) . "</a>";
echo join(\'\', $post_terms );
}
else echo \'<i>No Display Page Set. </i>\';
}
function testimonial_source_column($column_name, $post_id) {
global $post; global $prefix;
if ($column_name == \'article_source\') {
echo get_post_meta($post_id, $prefix.\'article-source\', TRUE);
}
elseif ($column_name == \'post_box_image\') {
if ( get_post_meta($post_id, $prefix.\'post_box_image\', TRUE) ) {
echo \'<img src="\' .get_post_meta($post_id, $prefix.\'post_box_image\', TRUE). \'" style="max-width:40%; max-height:40%;" />\';
}
else echo \'No Post Box Image Set\';
}
elseif ($column_name == \'post_box_excerpt\') echo substr($post->post_excerpt, 0, 150) . \'...\';
}