Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/08/2022 06:27:01 AM (4 years ago)
Author:
imath
Message:

xProfile: allow the loop to fetch fields from multiple fields group

You can now pass an array of fields group ID into the $profile_group_id
parameter.

Props boonebgorges, espellcaste

Closes https://github.com/buddypress/buddypress/pull/30
Fixes #4075

File:
1 edited

Legend:

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

    r12887 r13358  
    127127                $profile_template = $reset_profile_template;
    128128        }
     129
     130        /**
     131         * @group bp_has_profile
     132         */
     133        public function test_bp_has_profile_get_multiple_groups() {
     134                global $profile_template;
     135                $reset_profile_template = $profile_template;
     136
     137                $g1 = self::factory()->xprofile_group->create();
     138                $g2 = self::factory()->xprofile_group->create();
     139                $g3 = self::factory()->xprofile_group->create();
     140
     141                $field_in_1 = self::factory()->xprofile_field->create(
     142                        [
     143                                'field_group_id' => $g1,
     144                                'type'           => 'textbox',
     145                                'name'           => 'field1'
     146                        ]
     147                );
     148
     149                $field_in_2 = self::factory()->xprofile_field->create(
     150                        [
     151                                'field_group_id' => $g2,
     152                                'type'           => 'textbox',
     153                                'name'           => 'field2'
     154                        ]
     155                );
     156
     157                self::factory()->xprofile_field->create(
     158                        [
     159                                'field_group_id' => $g3,
     160                                'type'           => 'textbox',
     161                                'name'           => 'field3'
     162                        ]
     163                );
     164
     165                bp_has_profile( [ 'profile_group_id' => join( ',', [ $g1, $g2 ] ) ] );
     166
     167                $group_ids = wp_list_pluck( $profile_template->groups, 'id' );
     168
     169                $this->assertSame( 2, $profile_template->group_count );
     170                $this->assertContains( $g1, $group_ids );
     171                $this->assertContains( $g2, $group_ids );
     172                $this->assertNotContains( $g3, $group_ids );
     173
     174                xprofile_delete_field_group( $g1 );
     175                xprofile_delete_field_group( $g2 );
     176                xprofile_delete_field_group( $g3 );
     177
     178                $profile_template = $reset_profile_template;
     179        }
    129180}
Note: See TracChangeset for help on using the changeset viewer.