如何禁用对特定用户帖子的管理员/编辑访问权限

时间:2021-09-28 作者:Trisha

希望有人能提供一些代码片段,我可以用来阻止其他管理员或编辑编辑我的帖子。。。。。我只使用文本编辑器,但当其他用户使用可视化编辑器进入我的帖子时,它会弄乱我添加的一些HTML和代码,我不得不花大量时间在文本编辑器中修复它。

我不在乎他们是否编辑其他用户的帖子,我只是不想让他们干扰我的帖子,因为这会给我带来太多的工作。是的,我尝试过——但失败了——训练他们仅仅是呆在外面。。。。有时候,他们甚至在编辑帖子之前都不看作者是谁,直到我注意到他们才意识到他们把事情搞砸了。

1 个回复
SO网友:Maulik Paddharia

您可以访问-How to assign specific users the capability to edit specific pages / posts / custom post types

首先:授予对项目的完全访问权限post type(Example).

在用户配置文件中添加允许的帖子id。

然后,如果不允许post id,请使用下面的筛选器限制访问。

function allow_user_to_edit_cpt_filter( $capauser, $capask, $param){

    global $wpdb;

    $allowed_posts_id_for_current_user = array( \'29\', \'30\' ); // you need to get these ids yourself
    $post = get_post( $param[2] );

    // If current post isn\'t allowed then delete edit and delete capabilities
    if( !in_array( $post->ID, $allowed_post_type_ids ) ){
        if( ( $param[0] == "edit_projects") || ( $param[0] == "delete_projects" ) ) { // Change to yours capabilities
            foreach( (array) $capask as $capasuppr) {
               if ( array_key_exists($capasuppr, $capauser) ) {
                  $capauser[$capasuppr] = 0;
               }
            }
        }
    }

    return $capauser;
}
add_filter(\'user_has_cap\', \'allow_user_to_edit_cpt_filter\', 100, 3 );
从复制答案How to assign specific users the capability to edit specific pages / posts / custom post types

相关推荐

Recommended File Permissions

嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。某些上下文:Web服务器和php fcgi守护程序运行为www-data:www-data</wordpress安装位于/home/blaenk/sites/domain.tld/</首先,我read