Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/04/2014 01:47:49 AM (11 years ago)
Author:
boonebgorges
Message:

Introduce Member Types API.

BuddyPress member types are akin to WordPress's custom post types. Developers
can use bp_register_member_type() to register their types with BuddyPress,
and BP will automatically provide a number of pieces of functionality:

  • Mechanisms for storing and fetching member types (as a WP taxonomy term), with full cache support.
  • A 'member_type' argument for the bp_has_members()/BP_User_Query stack, which allows filtering member loops by member type.
  • Admin UI for changing member types on Dashboard > Users > Community Profile (appears when member types have been registered).

We'll continue to build out more core member type functionality in future
versions of BuddyPress. In the meantime, this is a good starting point for BP
site implementations to have a shared infrastructure for storing and retrieving
this data.

See #6006.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/members/template.php

    r9139 r9210  
    125125
    126126    /**
     127     * @group bp_has_members
     128     */
     129    public function test_bp_has_members_should_pass_member_type_param_to_query() {
     130        bp_register_member_type( 'foo' );
     131        bp_register_member_type( 'bar' );
     132        $users = $this->factory->user->create_many( 3 );
     133        bp_set_member_type( $users[0], 'foo' );
     134        bp_set_member_type( $users[1], 'bar' );
     135
     136        global $members_template;
     137        $old_members_template = $members_template;
     138
     139        bp_has_members( array(
     140            'member_type' => 'bar',
     141        ) );
     142
     143        $members = is_array( $members_template->members ) ? array_values( $members_template->members ) : array();
     144        $member_ids = wp_list_pluck( $members, 'ID' );
     145        $this->assertEquals( array( $users[1]), $member_ids );
     146
     147        $GLOBALS['members_template'] = $old_members_template;
     148    }
     149
     150    /**
    127151     * @group bp_get_member_last_active
    128152     */
Note: See TracChangeset for help on using the changeset viewer.