定制化WordPress后台的6个技巧

xiaoxiao2021-02-27  239

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

移除后台某些菜单

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

1 2 3 4 5 6 7 8 9 10 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

1 2 3 4 5 6 7 8 9 10 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

1 2 3 4 5 6 7 8 9 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”升级提示

1 2 3 4 5 6 7 8 9 10 11 # 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加载。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 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

1 2 3 4 5 6 7 8 9 10 11 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.6miu.com/read-9235.html

最新回复(0)