BP_REST_XProfile_Repeater_Endpoint::get_repeater_fields( integer $field_id, integer $user_id, integer $group_id )
Get sub field using parent field ID and group ID.
Description
Parameters
- $field_id
-
(Required) The profile field object ID.
- $user_id
-
(Required) The ID of the user.
- $group_id
-
(Required) The profile group object ID.
Return
(array|void)
Source
File: bp-xprofile/classes/class-bp-rest-xprofile-repeater-endpoint.php
public function get_repeater_fields( $field_id, $user_id, $group_id ) {
global $bp, $wpdb;
if ( empty( $field_id ) || empty( $user_id ) ) {
return;
}
// phpcs:ignore
$sql = "select m1.object_id FROM {$bp->profile->table_name_meta} as m1 WHERE m1.meta_key = '_cloned_from' AND m1.meta_value = %d";
// phpcs:ignore
$sql = $wpdb->prepare( $sql, $field_id );
// phpcs:ignore
$results = $wpdb->get_col( $sql );
$data = array();
$user_fields = bp_get_profile_field_set_count( $group_id, $user_id );
if ( ! empty( $results ) && ! is_wp_error( $results ) ) {
$count = 1;
foreach ( $results as $k => $sub_field_id ) {
if ( $count > $user_fields ) {
break;
}
$data[ $sub_field_id ] = $count;
$count++;
}
}
return $data;
}
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.