定制WordPress后台 禁用控制台widget
作为一个功能强大的发布平台,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 Filip.';
echo 'Powered byWordPress.';
}
add_filter('admin_footer_text', 'modify_footer_admin');
隐藏升级提示
出于安全方面的考虑,我们不建议你隐藏后台的升级提醒,因为有些版本升级是针对安全漏洞的更新。
当然如果你希望删除或修改升级提示,你只要在functions.php里加上下面的代码:
以下为引用的内容:
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
经过这些改动,你会发现后台清爽了很多,并且都是在不用修改WordPress核心文件的情况下哦。
来源
WordPress啦编译