USharing
开放博客

定制化WordPress后台的6个技巧

WordPress后台并非千篇一律,你可以通过一些代码定制化一个你喜欢的后台,本文所述代码都应写在主题的functions.php中。

移除后台某些菜单

如果你不想客户因为点了错误的菜单选项而删除付费主题,或者搞乱后台的设置,那么把你不希望他们看到的菜单隐藏吧。将你想移除的菜单天道$restricted数组中即可

function remove_menus () {
global $menu;
        $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
        end ($menu);
        while (prev($menu)){
            $value = explode(' ',$menu[key($menu)][0]);
            if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
        }
}
add_action('admin_menu', 'remove_menus');

更换登陆/注册页面的Logo

function my_custom_login_logo() {
    echo '
<style type="text/css">
        .login h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
    </style>
  
';
}
  
add_action('login_head', 'my_custom_login_logo');

更换Dashboard(仪表盘)的Logo

add_action('admin_head', 'my_custom_logo');
  
function my_custom_logo() {
   echo '
   <style type="text/css">
   #wp-admin-bar-wp-logo > .ab-item .ab-icon 
    { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
   </style>';
}

删除“Please Upgrade Now”升级提示

# 2.3 to 2.7:
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
 
# 2.8 to 3.0:
remove_action( 'wp_version_check', 'wp_version_check' );
remove_action( 'admin_init', '_maybe_update_core' );
add_filter( 'pre_transient_update_core', create_function( '$a', "return null;" ) );
 
# 3.0:
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

你也可以直接安装插件Disable WordPress Core Updates,隐藏升级通知在某些时候很有用,比如你要在低版本的wp上测试插件,或者你不想让你的客户被升级通知困扰。

删除Dashboard的Widget

如果你不想整天读WordPress官方的新闻,不想看见Dashboard到处是盒子,用下面的代码移除。虽然WordPress的屏幕选项也能实现差不多的效果,但从屏幕选项里去掉选择只不过是隐藏了这些widget,东西都在,只是你看不见罢了。用代码则可以禁止这些widget加载。

function remove_dashboard_widgets() {
    global $wp_meta_boxes;
  
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
  
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

创建自己的Dashboard Widget

function example_dashboard_widget_function() {
    // Display whatever it is you want to show
    echo "Hello World, I'm a great Dashboard Widget";
}
  
// Create the function use in the action hook
function example_add_dashboard_widgets() {
    wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');
}
// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

结束语

WordPress定制化很强,你可以有一个琳琅满目的后台,里面都是你需要和喜欢的东西;也许你想要一个简单加载速度快的后台,那么移除所有不需要的widget,删除所有没用的插件、主题。自由度大不是累赘,关键看如何使用。

来源:https://www.solagirl.net/customize-wordpress-dashboard.html

赞(0) 打赏
未经允许不得转载:USharing » 定制化WordPress后台的6个技巧

觉得文章有用就打赏一下文章作者

微信扫一扫打赏