最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

WordPress文章编辑页删除相关模块

在WordPress后台的文章编辑页,有很多的模块,如”摘要”、”发送Trackbacks”、”分类”、”标签”、”自定义域”、”讨论”,”作者”等。如下图就是侧边栏的”发布”和”标签”模块。

其实WordPress提供这么多的面板,有很多我们是用不着的,如”发送 Trackbacks”,”评论”等,不同用户还有不同的喜好。这时候我们可以将不需要的面板删除,方法很简单,在文章编辑页面右上角有个 “显示选项” 按钮,点击可以弹出如下图所示的选项,你可以根据需要去除不需要的模块。

但是当你的博客有多个注册用户的时候,想对某些注册用户隐藏掉某些模块,让他们连选择显示的机会都没有,该怎么做呢?如露兜博客最近开通了读者投稿功能,投稿者只能填写文章标题和内容,其他的功能如”分类”,”标签”,”摘要”等功能一律不提供。我们可以使用WordPress函数remove_meta_box()来实现我们想要的功能。在不考虑用户角色的情况下,可以在主题目录下的functions.php中添加以下php代码:

// hook the admin init
add_action('admin_init','customize_meta_boxes');

function customize_meta_boxes() {
// 删除以下两个模块categorydiv、tagsdiv-post_tag
remove_meta_box('categorydiv','post','normal');
remove_meta_box('tagsdiv-post_tag','post','normal');
}

这样就删除了名称为 categorydivtagsdiv-post_tag 的模块,也就是分类和标签模块。那怎么知道我要删除的模块名称呢?文章编辑页的源代码中所有class=”postbox”对应的id名称就是该模块的名称,如:

<div id="postexcerpt">

那么这个模块的名称就是postexcerpt,也就是摘要模块,具体你可以使用FireBug看看源代码。以下给出所有模块对应的名称,给大家节省点力气:

  • 分类:categorydiv
  • 标签:tagsdiv-post_tag
  • 摘要:postexcerpt
  • 发送trackbacks:trackbacksdiv
  • 自定义域:postcustom
  • 讨论:commentstatusdiv
  • 作者:authordiv
  • 评论:commentsdiv
  • 文章别名:slugdiv
  • 文章修订版:revisionsdiv

那要是针对某个用户角色去除某些模块,怎么做呢?我们只要对以上代码,再判断一下用户的等级即可:

//hook the admin init
add_action('admin_init','customize_meta_boxes');

function customize_meta_boxes() {
//retrieve current user info
global $current_user;
get_currentuserinfo();

//如果当前用户的等级小于3,那么就删除分类和标签模块
if ($current_user->user_level < 3)
{
remove_meta_box('categorydiv','post','normal');
remove_meta_box('tagsdiv-post_tag','post','normal');
}
}

在WordPress后台 – 用户那里,管理员可以查看 / 编辑用户的角色,以下是用户角色和其等级的对应关系:

  • 0 级对应 订阅者
  • 1 级对应 投稿者
  • 2 – 4 级对应 作者
  • 5 – 7 级对应 编辑
  • 8 – 10 级对应 管理员

转载请注明:嗨酷哥,有你更酷! » WordPress文章编辑页删除相关模块

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论1

  1. 不错的教程

    露兜2013-08-03 21:34 回复