我正在用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。
如果它是一个新的未登录用户呢?
如何为未登录的用户进行前端配置文件编辑?如果用户未登录,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,);
希望这有帮助。