提问者:小点点

在Buddypress上将jpg设置为头像


我正在用Wordpress和Buddypress设置一个前端ajax概要文件编辑。我已经在文件夹wp content/uploads/avatar/Idoftheuser中上传了这张照片,但之后我有点迷路了。

我一直在寻找文档,但其中大部分只是告诉我如何通过dewp-admin实现,我需要用php实现。

我在buddypress上发现了他们如何在bp核心化身上处理他们的作物。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分配为个人资料avatar。


共2个答案

匿名用户

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

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

如果你知道用户ID,你可以上传到该用户的化身目录。对于ID为8的用户,BP期望的结构为:

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

匿名用户

您可以在注册时执行此操作,因为您需要用户id来设置化身。使用createuserhook创建用户后,您可以手动将图像上传到以下格式,比如userid(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,);

希望这有帮助。