【问题标题】:Set a jpg as avatar on Buddypress在 Buddypress 上设置 jpg 作为头像
【发布时间】:2017-06-26 06:15:16
【问题描述】:

我正在使用 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 文件指定为个人资料头像。

【问题讨论】:

    标签: php wordpress buddypress


    【解决方案1】:

    您可以在注册时执行此操作,因为您需要用户 ID 来设置头像。 使用 create user hook 创建用户后,您可以手动将图像上传为以下格式,例如 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,);
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果是新的未登录用户怎么办?

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

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

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

      【讨论】:

      • 我正在添加具有该结构的头像,但它并没有立即得到它。我知道bp不允许,所以我必须手动进行,我需要在注册时上传个人资料图片,这意味着用户尚未登录
      • 查看允许在注册时上传头像的插件,看看他们是如何处理的。
      猜你喜欢
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      相关资源
      最近更新 更多