首页 > 新闻资讯 > 定制WordPress后台

定制WordPress后台

24条评论
标签:
更多

作为一个功能强大的发布平台,WordPress备有自带的评论功能、用于创新的GUI、文章和页面编辑功能以及各种方便的内置工具,包括“导入”功能、用户角色与权限等等。

但这么多功能,有多少是我们常用的?虽然WordPress已经相当简单易用,对用户也相当友好,但通过定制WordPress的管理后台,我们可以让WordPress更加简单,更易于管理。

WordPress内置的hooks(包括“filter”和“action”)为我们定制WordPress后台提供了完美的解决方案。通过“勾入”而非修改WordPress的核心程序,可以在不影响安装文件完整性的情况下安全地作改动。

下面介绍的代码将全部在functions.php文件里完成。

禁用控制台widget

登入WordPress后台之后,最先看到的就是WordPress的Dashboard,一个类似消息中心的地方,由“WordPress开发博客”、“其他WordPress新闻”等widget组成。对一般用户来说,这里提供的信息未必是自己经常需要看到的。

我们可以用wp_dashboard_setup来移除这些widget。在执行过程中,我们会用到unset()函数来移除不需要的widget。我们所需要做的就是以wp_dashboard_setup为第一个参数、以remove_dashboard_widgets作为第二个参数调用add_action()。

function remove_dashboard_widgets(){
  global$wp_meta_boxes;
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
  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']['side']['core']['dashboard_secondary']); 
}

add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

效果如下:

禁用标准widget

WordPress默认带有12个标准widget 。这其中包括“日历”(WP_Widget_Calendar)、“搜索”(WP_Widget_Search)、“最近评论”(WP_Widget_Recent_Comments)等。

如果你的博客不需要某个widget,就可以禁用它,比如日历widget。或者你可能采用第三方搜索功能,这时你就可以禁用WordPress的默认搜索。

这时我们要用到的是一个名为widgets_init的action。我们把这里需要用到的函数命名为remove_some_wp_widgets。同时需要用到的WordPress函数是unregister_widget(),以将要禁用的widget的名字作为参数。

function remove_some_wp_widgets(){
  unregister_widget('WP_Widget_Calendar');
  unregister_widget('WP_Widget_Search');
  unregister_widget('WP_Widget_Recent_Comments');
}

add_action('widgets_init',remove_some_wp_widgets', 1);

代码中的第三个参数是“1”,表示所用的action的优先级。默认值为10,数值越低,表示优先级越高。这里为1表示,无论该函数在functions.php的任何位置,它都会是最先被调用的函数之一。

定制常用下拉菜单

WordPress后台最上方有一个可以快速进入某些功能的下拉式菜单,WordPress在这个下拉式菜单里默认列出的选项包括“编辑新文章”、“评论”、“新页面”等。

通过调用特定filter并取消相应PHP数组中的链接,我们可以快速删除这个下拉菜单的某个选项(当然也可以添加新选项)。

下面以删除“评论”为例:

function custom_favorite_actions($actions) {
  unset($actions['edit-comments.php']);
  return $actions;
}

add_filter('favorite_actions', 'custom_favorite_actions');

修改后台页脚信息

WordPress后台的footer含有指向WordPress官方网站和官方文档的链接。我们也可以稍作改动。

function modify_footer_admin () {
  echo 'Created by <a href="http://example.com">Filip</a>.';
  echo 'Powered by<a href="http://WordPress.org">WordPress</a>.';
}

add_filter('admin_footer_text', 'modify_footer_admin');

隐藏升级提示

出于安全方面的考虑,我们不建议你隐藏后台的升级提醒,因为有些版本升级是针对安全漏洞的更新。

当然如果你希望删除或修改升级提示,你只要在functions.php里加上下面的代码:

add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );  

经过这些改动,你会发现后台清爽了很多,并且都是在不用修改WordPress核心文件的情况下哦。

来源

WordPress啦编译

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
感觉现在的wp 已经很不错 很好了
#2
学习了,很使用的!
#3
这是哪个版本?我的2.9.2有吗?好像都可以拉删。
#4
学习了。很有用。
#5
今天早上打开发现3.01变成2.92版本了,估计是插件安装出的问题
#6
这么强大 - -
#7
这个不改动核心修改不错..呵呵
#8
尊敬的博主,您好!现在有个针对每个wordpress主题的博主有奖博客征文活动!欢迎您报名参加:http://happy.uc55.com/www/bloger/ 打扰博主了!
#9
俺还是wordpress菜鸟,感觉到很复杂呀。
#10
默认的已经很喜欢 谢谢楼主分享
#11
定制下拉菜单的功能还是挺好的
#12
这个很有用! 最近两篇文章,我一开始从reader上看到,可点击【阅读全文】以后都提示找不到页面。 是不是因为正在修改?
#13
有可能是在修改。最近文章链接出了点问题。
#14
刚使用WP,对很多功能还是不怎么了解,谢谢分享,学习了哦
#15
呵呵,这个还是不错的,我来也支持下哈。你的第一篇文章好像打不开哦。
#16
打不开的时候可能是在修改,现在你试试应该OK了吧? 感谢反馈。
#17
不客气哦,现在可以了哈。
#18
出于安全方面的考虑,我们不建议你隐藏后台的升级提醒,因为有些版本升级是针对安全漏洞的更新。
#19
麻烦问一下 functions.php 在哪个文件夹下 是这个吗?wp-includes
#20
你都知道了嘛 直接在博客编辑后台修改也可以的
#21
怎么hook wordpress的添加链接函数,比如我想添加tencent://或者thunder://这样的协议
#22
学习了
#23
直接把代码插入到function么?插入到第几行? Fatal error: Call to undefined function add_action() in /home/cdtist/public_html/wp-includes/functions.php on line 57
#24
很好的技巧,学习了,感谢博主分享!