我对 wordpress 和 buddypress 还很陌生。我想知道如何在显示所有组的组部分中为用户显示公共、私人和隐藏组的单独选项卡。有一个函数bp_get_total_group_count()
可以获取特定用户的组总数,但没有函数可以确定它是哪种类型的组(即public、private或hidden)。可能必须使用一些apply_filter
东西,但不确定。
请帮忙。
如果需要,我可以为您提供代码。谢谢。
经过一番挖掘,找到了答案。这里是:该过程用于单独显示一个私人组,公共和隐藏遵循相同的过程。
1.在 bp-groups/bp-groups-template.php 中,在函数 bp_has_groups 下,添加以下行:
elseif ('anything' == $bp->current_action) { $type ='anything'; }
2.在 bp-groups/bp-groups-loader.php 的 setup_nav 函数下,添加一个 nav 项:
$sub_nav[] = 数组(
'name' => __( 'Private', 'buddypress' ),
'slug' => 'anything',
'parent_url' => $groups_link,
'parent_slug' => $this->slug,
'screen_function' => 'groups_screen_my_groups',
'position' => 20,
'user_has_access' => bp_is_my_profile(),
);
3.在 bp-default/members/single/groups.php 中,如果:
elseif (bp_is_current_action('anything')):
do_action( 'bp_before_member_groups_content' ); ?>
<?php locate_template( array( 'members/single/groups/anything.php' ), true ); ?>
<?php do_action( 'bp_after_member_groups_content' );
4.在 bp-default/members/single/groups/ 创建一个新文件 'anything.php' 并编写此代码以显示用户的私有组:
<li id="field_reg_groups_<?php echo $i; ?>" name="field_reg_groups[]" value="<?php bp_group_id(); ?>" />
<?php bp_group_name(); ?>
<div class="item-avatar">
<a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
</div>
<div class="item">
<div class="item-title"><a href="<?php bp_group_permalink(); ?>"><?php bp_group_name(); ?></a></div>
<div class="item-meta">
<span class="activity"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></span>
</div>
<div class="item-desc"><?php bp_group_description_excerpt(); ?>
</div>
<?php do_action( 'bp_directory_groups_item' ); ?>
</div>
<div class="action">
<?php do_action( 'bp_directory_groups_actions' ); ?>
<div class="meta">
<?php bp_group_type(); ?> / <?php bp_group_member_count(); ?>
</div>
</div>
<div class="clear"></div>
</li>
<?php }
$i++;
endwhile;
endif;
else: ?>
<p class="reg_groups_none">No selections are available at this time.</p>
而已。通过更改“任何内容”的值,对公共和隐藏组遵循相同的操作