通过用户角色functions.php限制页面创建

时间:2018-06-06 11:35:49

标签: php function user-roles restrictions

是否可以通过functions.php创建一个限制用户根据用户角色创建页面的功能?因此,例如,具有“受限”用户角色的用户只能创建5个页面。

当他们达到此金额时,“创建新页面”按钮必须消失,或者他们收到的信息已达到限制,并且必须与管理员联系。

我知道有一个名为Bainternet Posts Creation Limits的插件,但这会引起一些问题。

功能是否可行?

修改

好的,我尝试了下面的代码,但是没有工作,说实话,我的编码技巧很差,无法做出一些改进。

还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

第1步:创建用户后:为您的用户提供功能' publish_pages'

第2步:在user_meta中保存用户创建的页数。

第3步:如果用户有5个或更多页面,请从该用户中删除该功能。

第1步& 2(未经测试):

java.time

第3步(未经测试):

add_action( 'user_register', 'user_registered', 10, 1 );

function user_registered( $user_id ) {

    // ADD CAPABILITY
    $user = new WP_User( $user_id );
    if ( ! empty( $user->roles ) && is_array( $user->roles ) && in_array( 'YOURROLEHERE', $user->roles ) ) {
        $user->add_cap( 'publish_pages');
        update_user_meta($user_id, 'numberofpages', 0);
    }     

}