私は、回避策を発見したすべてのI'amかなり完全に満足してますが...ない
まず、グループにメンバーリストを無効にします。
function change_access_group_nav_tabs() {
if(bp_is_group()) {
buddypress()->groups->nav->edit_nav(array('user_has_access' => false), 'members', bp_current_item());
}
}
add_action('bp_actions', 'change_access_group_nav_tabs');`
(ところで、実際には、値をtrueに設定しますいつもここNAVアイテムを作り、我々はまだクリックでグループリストにアクセスすることはできません)
そして私は単に自分のメンバーリストを作成するカスタムBPグループの拡張子を追加します。
class Group_Extension_List_Members extends BP_Group_Extension {
function __construct() {
$args = array(
'slug' => 'members-list',
'name' => 'Membres',
'access' => array('anyone'),
'show_tab' => array('anyone'),
'nav_item_position' => 12,
'screens' => array(
'create' => array(
'enabled' => false
),
'edit' => array(
'enabled' => false
),
)
);
parent::init($args);
}
function display($group_id = NULL) {
//Remove user who do not belong to the group on members loop
function filter_for_groups($members_template_has_members, $members_template, $r) {
for ($i=sizeof($members_template->members)-1; $i >= 0 ; $i--) {
$user_id = $members_template->members[$i]->id;
if(!groups_is_user_member($user_id, bp_get_group_id())){
$members_template->member_count = $members_template->member_count-1;
array_splice($members_template->members, $i, 1);
}
}
if ($members_template->member_count <= 0) {
return '';
} else {
return $members_template_has_members;
}
};
add_filter('bp_has_members', 'filter_for_groups', 10, 3);
require('/Your/theme/custom/members/loop/members-loop.php');
}
}
bp_register_group_extension('Group_Extension_List_Members');
将来的に他の人に役立つことを願っています。進歩する良い方法を知っています。