Установите jpg в качестве аватара на Buddypress

Я устанавливаю редактирование профиля ajax переднего плана с помощью Wordpress, Buddypress. Я уже загружаю картинку в папку wp-content/uploads/avatar/Idoftheuser но после этого немного теряюсь.

Я искал документацию, но большая ее часть просто указывает мне, как это сделать через de wp-admin, мне нужно сделать это с помощью php.

Я нашел на buddypress, как они обрабатывают свой урожай на bp-core-avatars.php:

$r = array(
    'item_id'       => $avatar_data['item_id'],
    'object'        => $avatar_data['object'],
    'avatar_dir'    => $avatar_dir,
    'original_file' => $original_file,
    'crop_w'        => $avatar_data['crop_w'],
    'crop_h'        => $avatar_data['crop_h'],
    'crop_x'        => $avatar_data['crop_x'],
    'crop_y'        => $avatar_data['crop_y']
);

// Handle crop.
if ( bp_core_avatar_handle_crop( $r ) ) {

Дело в том, что я не понимаю, где они устанавливают пользователя, для которого предназначена обрезка, что, если это новый незарегистрированный пользователь?

Я бы хотел не использовать bp_core_avatar_handle_crop, а просто назначить jpg, который я уже загружаю, в качестве аватара профиля.


person Aschab    schedule 08.02.2017    source источник


Ответы (2)


что, если это новый незарегистрированный пользователь?

Как вы можете выполнять внешнее редактирование профиля для пользователя, который не вошел в систему? BP не позволяет загружать аватар, если пользователь не вошел в систему. Я думаю, что есть плагины, которые позволяют загружать аватар при регистрации, вероятно, при создании пользователя.

Если вы знаете идентификатор пользователя, вы можете загрузить его в каталог аватара для этого пользователя. Для пользователя с идентификатором 8 структура, которую ожидает BP, выглядит следующим образом:

wp-content/uploads/avatar/8/8-bpfull.jpg
wp-content/uploads/avatar/8/8-bpthumb.jpg
person shanebp    schedule 08.02.2017
comment
Я добавляю аватары с этой структурой, но она не сразу получается. Я знаю, что bp не разрешает это, поэтому я должен сделать это вручную, мне нужно загрузить изображение профиля при регистрации, это означает, что пользователь еще не вошел в систему - person Aschab; 08.02.2017
comment
Посмотрите на плагины, которые позволяют загружать аватар при регистрации, и посмотрите, как они с этим справляются. - person shanebp; 08.02.2017

Вы можете сделать это при регистрации, потому что вам нужен идентификатор пользователя для установки аватара. После того, как пользователь создан с помощью хука создания пользователя, вы можете вручную загружать изображения в следующем формате, например, для идентификатора пользователя (22),

wp_content/uploads/avatars/22/22-bpfull.jpg (150x150px) 
wp_content/uploads/avatars/22/22-bpthumb.jpg (50x50px)

or

wp_content/uploads/avatars/22/anyname-bpfull.jpg 
wp_content/uploads/avatars/22/anyname-bpthumb.jpg

Ниже приведен пример кода,

function addMyCustomData($user_id,$meta) {
  //your stuff
}
add_action('user_register','addMyCustomData',10,2,);

Надеюсь это поможет.

person chaladi    schedule 05.12.2018