Buddypress - используйте поле xprofile, заполненное при регистрации пользователя, для создания и заголовка группы после регистрации пользователя - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь изменить существующий код для достижения следующего:

1) Извлечь данные xprofile для Institute (которые пользователь отправляет при регистрации) и дать название группе, созданной из него. 2) Определите и остановите дубликаты.

У меня есть более или менее потянувшаяся кодировка, которая создает новую группу, как только пользователь регистрируется, так что я на 80% пути. Кредит lou ie здесь

Но, как вы увидите в коде, имя группы заполняется user_nicename. Я попытался изменить это, но все еще не работает! Затем я попытался создать свою собственную функцию, чтобы потом работать, но это тоже не работает, вот она:

add_action( 'user_register', 'user_school_signup'); 
function user_school_signup($user_id){
$school_name = xprofile_get_field_data('Institute' .$user_id);
return $school_name;    
}

  add_action('user_register', 'greenbox_add_user_to_new_buddypress_group'); //this should only fire on create user, therefore no problem with dupe groups

  function greenbox_add_user_to_new_buddypress_group($user_id) {


  $id_group = greenbox_create_bp_group($user_id);

  greenbox_add_user_to_group($user_id, $id_group);
  }

  function greenbox_create_bp_group($user_id) {


  $info = get_userdata($user_id);

  $group_args = array();

  $group_args['name'] = "This". xprofile_get_field_data('Institute'.$user_id); /*** Issue is her **/

  $group_args['description'] = "A group to hold the files of ";

  $group_args['creator_id'] = 1;

  $group_args['status'] = 'private';   //  could be hidden or public

  $id_group = groups_create_group($group_args);

  return $id_group;
  }

  function greenbox_add_user_to_group($user_id, $group_id) {

  if (!$user_id)
  return false;

  groups_accept_invite($user_id, $group_id);
  }
...