php 允许用户仅编辑某些页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 允许用户仅编辑某些页面相关的知识,希望对你有一定的参考价值。

function my_pre_get_posts($query) {

  screen = get_current_screen();

  current_user = wp_get_current_user();

  $restricted_user_id = 10;
  $allowed_post_id = 1234;

  $current_post_id = isset($_GET['post'])?(int)$_GET['post']:false;

  if($current_user->ID !== $restricted_user_id) {
    return;
  }
  if(! $current_post_id) {
    return;
  }
  if($screen->id =='page'&& $current_post_id !== $allowed_post_id) {
    wp_redirect(admin_url());
    exit;
  }


  $restrictions_map = [10=>[123], 12311=>[152,186]];

  if( array_key_exists($current_user->ID, $restrictions_map)) {
    $allowed_posts = $restrictions_map[$current_user->ID];
    if($screen->id == 'page' && ! in_array($current_user->ID, $allowed_posts)) {
      if(array_key_exists($current_user->ID, $restrictions_map)) {
        $allowed_posts = $restrictions_map[$current_user->ID];
        if($screen->id =='page' && ! in_array($current_user->ID, $allowed_posts)) {
          wp_redirect(admin_url());
          exit;
        }
      }
    }

  }

  add_action('pre_get_posts','my_pre_get_posts');

以上是关于php 允许用户仅编辑某些页面的主要内容,如果未能解决你的问题,请参考以下文章

仅允许某些用户访问某些文件夹/文件

php 仅允许某些国家/地区代码,有助于保护admincp

c9 上的 Laravel Blade 模板仅选择性地扩展到某些页面

MediaWiki:页面编辑仅允许创建者或经批准

IIS / .Net 仅允许对给定用户会话的单个并发响应

配置安全性以仅允许某些用户更新条目,但允许在 Backand 中读取所有用户