限制wordpress用户访问管理区中的某些帖子类别

pepwfjgg  于 2023-02-11  发布在  WordPress
关注(0)|答案(2)|浏览(132)

我想限制用户在WordPress后端的访问权限,这个用户只能(读,写)访问一个类别的帖子,甚至不能在后端阅读另一个类别的帖子。
我怎样才能做到这一点(理想的方法是在functions.php中添加一些代码)-并且不影响任何性能(例如页面加载)?
我基本上试图实现这个插件做了什么,在它过时之前:https://wordpress.org/plugins/restrict-categories/

  • “限制类别是一个插件,允许您选择用户可以在帖子编辑屏幕中查看、添加和编辑哪些类别。此插件允许您根据用户角色和用户名限制访问。"*
wz3gfoph

wz3gfoph1#

如果你不介意使用最新的插件,那么这个插件会做你所要求的一切,并定期更新,有超过40,000个活跃安装。

用户访问管理器

https://wordpress.org/plugins/user-access-manager/

jchrr9hc

jchrr9hc2#

在2020年更新,工作答案,我去了不同的答案没有一个作品现在在新的WordPress。

function hide_categories_for_specific_user( $exclusions, $args ){

if ( ((defined( 'REST_REQUEST' ) && REST_REQUEST) or $GLOBALS['pagenow'] === 'edit.php' ) && !current_user_can( 'manage_options' ) ) {

   // IDs of terms to be excluded
   $exclude_array = array("12","16","17"); // CHANGE THIS TO IDs OF YOUR TERMS

   // Generation of exclusion SQL code
   $exterms = wp_parse_id_list( $exclude_array );
   foreach ( $exterms as $exterm ) {
           if ( empty($exclusions) )
               $exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' ';
       else
               $exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' ';
   }

   // Closing bracket
   if ( !empty($exclusions) )
   $exclusions .= ')';

   // Return our SQL statement

  }
   return $exclusions;
}

 // Finally hook up our filter
 add_filter( 'list_terms_exclusions', 'hide_categories_for_specific_user', 10, 2 );

Hide Some Categories in Post Editor回答最终帮助

相关问题