How to lock a post or page

时间:2013-09-20 作者:GUEST

如何锁定文章或页面,使其不被编辑或删除,但可以在网站上查看?我无法锁定帖子,我读了几篇文章,但找不到答案。

有什么帮助吗?

2 个回复
SO网友:gmazzap

您可以使用\'wp_insert_post_data\' 筛选以将要更新的数据设置为post当前拥有的数据:

add_filter(\'wp_insert_post_data\', \'prevent_post_edit\', 99, 2);

prevent_post_edit ($data, $postarr) {
  if ( ! isset($postarr[\'ID\']) || empty($postarr[\'ID\']) ) return $data;
  if ( current_user_can(\'edit_files\') ) return $data; // admin can edit posts
  // prevent the update only for post and pages, change this according to tour needs
  $prevent_types = array(\'post\', \'page\');
  if ( ! in_array($data[\'post_type\'], $prevent_types) ) return data;
  // get the post how is before the update
  $old = get_post($postarr[ID]);
  return get_object_vars($old);
}

SO网友:Max Yudin

尝试Role Scoper 插件。

任何级别的用户都可以阅读或编辑您选择的内容。对于缺少特定于内容的角色的用户,无论其WP角色如何,都可以保留受限制的内容。

Edit: 还有Members Plugin 具有内容级别的任务。

结束

相关推荐

使用GET_POSTS获取自定义字段数据,但使用一个数组

我在WordPress中运行了一个get\\u posts查询,需要提取一对自定义字段并将它们全部放入一个数组中。get\\u posts查询提供了一个post数组,但当我使用foreach访问自定义字段时,最终会为每个结果提供单独的数组。The Query$c_query = get_posts( array( \'post_type\' => \'page\',