[英]Enable group creation for specific user role in BuddyPress
BuddyPress提供“ bp_user_can_create_groups”過濾器,以限制用戶創建組的能力。 參考-http://wordpress.org/support/topic/restrictallow-group-creation-by-user-role?replies =3# post - 4617184和http://etivite.com/api-hooks/buddypress/trigger/ apply_filters / bp_user_can_create_groups /
如何使用此過濾器限制BuddyPress中特定用戶角色的組創建? 目前,只允許管理員創建組,而我也不想允許每個用戶都可以創建組。
我已將以下代碼添加到bp-custom.php中,但無法正常工作
function create_groups1( $can_create, $restricted=false ) {
// maybe we don't want to override if it's restricted?
if ( ! $restricted ){
// get the logged in user's ID
$user_ID = get_current_user_id();
// some logic to determine if the current user can create a group
$user1 = new WP_User( $user_ID );
if ( !empty( $user1->roles ) && is_array( $user1->roles ) ) {
$r=$user1->roles[0];
}
if (current_user_can('read')) {
$r="subscriber";
}
if ( $r == "subscriber" || $r == "participant" ){
// we will return this allowing them to create groups
$can_create = true;
}
}
return $can_create;
}
add_filter( 'bp_user_can_create_groups', 'create_groups1', 10, 2 );
您需要編寫一個函數並將其附加到“ bp_user_can_create_groups”掛鈎。 在函數內部,確定您是否希望當前用戶能夠創建組並相應地返回$can_create
。
function bp_user_can_create_groups( $can_create, $restricted=false ){
// maybe we don't want to override if it's restricted?
if ( ! $restricted ){
// get the logged in user's ID
$user_ID = get_current_user_id();
// some logic to determine if the current user can create a group
if ( user_can_create_group( $user_ID ) ){
// we will return this allowing them to create groups
$can_create = true;
}
}
return $can_create;
}
add_filter( 'bp_user_can_create_groups', 'bp_user_can_create_groups', 10, 2 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.