Use os dados BuddyPress em loop (mkdir)

Estou tentando criar uma pasta por usuário com base nos campos BuddyPress, usando o seguinte:

bp_member_profile_data( 'field=ID Number' ); 

Se eu usar o código acima com o mkdir, ele não funciona (ou seja, o nome da pasta será apenas “Usuário -” (sem número de identificação)

Este é o meu código de loop:

  $member = bp_member_profile_data( 'field=ID Number' ); mkdir("SiteUsers/User - " . $member ,0755, true ); endwhile; endif; ?> 

Não tenho idéia de onde eu vou dar errado, se alguém pudesse me ajudar, eu realmente apreciaria isso.

Solutions Collecting From Web of "Use os dados BuddyPress em loop (mkdir)"

não funciona (ou seja, o nome da pasta será apenas “Usuário -” (sem número de identificação)

Você verificou se e o que bp_member_profile_data( 'field=ID Number' ); Retorna como um valor? E essa function irá echo o valor. Para retornar o valor use bp_get_member_profile_data( 'field=ID Number' );

Mas … Pelo amor de Deus … Por que você usaria um loop de membros para fazer isso?

E o que é bp_member_profile_data( 'field=ID Number' );
O member_id? Ou algum ID personalizado que você atribui por membro? E se sim, por quê?

Para uma criação única de tais diretórios, eu faria algo assim, assumindo que você quer um único diretório para cada usuário:

 function create_user_dirs() { $users = get_users( array( 'fields' => 'ID' ) ); $path = // put the absolute path to the existing 'SiteUsers' directory here foreach ( $users as $user_id ) wp_mkdir_p( $path . '/' . $user_id ); } 

Se ‘field = ID Number’ for realmente diferente do user_id, faça isso:

 foreach ( $users as $user_id ) { $id_number = xprofile_get_field_data( 'ID Number', $user_id, 'comma' ); wp_mkdir_p( $path . '/' . $id_number ); } 

Use wp_mkdir_p

Eu acredito que ele define permissions para 755 ou o que o diretório principal está configurado para.