在Buddypress上设置jpg作为头像

时间:2017-02-08 14:51:40

标签: php wordpress buddypress

我正在使用Wordpress,Buddypress设置前端ajax配置文件编辑。我已将图片上传到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作为个人资料头像。

2 个答案:

答案 0 :(得分:1)

  

如果它是一个新的未登记用户呢?

如何为未登录的用户进行前端配置文件编辑? 如果用户未登录,BP不允许上传头像。 我认为有一些插件允许在注册时上传头像,可能是在创建用户钩子上。

如果您知道用户ID,则可以上传到该用户的头像目录。 对于ID为8的用户,BP期望的结构是:

wp-content/uploads/avatar/8/8-bpfull.jpg
wp-content/uploads/avatar/8/8-bpthumb.jpg

答案 1 :(得分:0)

您可以在注册时执行此操作,因为您需要用户ID才能设置头像。 使用创建用户钩子创建用户后,您可以手动将图像上传为以下格式,例如用户ID(22),

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

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,);

希望这会有所帮助。