仅适用于编辑和管理员的帖子

时间:2014-02-02 作者:Leader

我如何才能做到只有管理员和编辑才能访问“post”post类型?(就像“页面”帖子类型一样)

我计划只让作者和贡献者使用我事先准备好的自定义帖子类型。。。

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

已注册帖子类型的注册功能(和其他功能)不会保存在数据库中,而是保存在全局变量中,$wp_post_types.

作为一个全局变量,编辑它很容易。但是,您还需要手动删除该菜单项,否则,即使作者和贡献者无法创建/编辑帖子,他们也可以看到该菜单项。

在下面的函数中,我将设置post 岗位类型应对措施page 岗位类型。

add_action(\'init\', \'restrict_posts\', 1); // registration run on init with priority 0
add_action(\'admin_menu\', \'remove_post_from_menu\', 1);

function restrict_posts() {
  global $wp_post_types;
  $wp_post_types[\'post\']->cap = clone $wp_post_types[\'page\']->cap;
}

function remove_post_from_menu() {
  if ( current_user_can(\'edit_others_pages\') ) return;
  remove_menu_page(\'edit.php\');
}

结束

相关推荐