2016-08-23 7 views
1

현재 BP 아바타를 사용하여 웹 사이트에서 사용자 프로필 사진을 만듭니다.다른 bp 페이지에서 buddypress 아바타 업로드 및 자르기 기능 사용

이제 BP 아바타의 업로드 및 자르기 + 미리보기 기능을 다른 페이지에 사용하고 다른 이미지 용도로 맞춤 설정을 사용하고 싶습니다.

새 페이지에서 코드를 복사하고 편집하려고했지만 미리보기조차 제대로 작동하지 않습니다.

누군가가 도움을 줄 수 있기를 바랍니다.

고마워요.

+0

나는 동일한 문제가 있었지만 아직 해결책을 찾지 못했습니다. 만약 내가 여기에 게시 찾으십시오! – gfirem

답변

0

다음은 코드입니다. 나는 bbp가 bbp 코어에서 URL로부터 사용자 아이디를 얻었고 내 경우에는 작동하지 않기 때문에 bbp가 사용자를 감지하지 못하는 문제를 감지한다. 나는 필요한 코드에 번호를 매긴다. 내 경우 woocommerce에서 my-account 엔드 포인트 내부에 뷰를 삽입합니다.

  1. 스크립트가 데이터를 가져 오는 기능을 무시하십시오.
  2. 에는 필요한 모든 스크립트가 포함되어 있습니다.
  3. 내 콘텐츠 기능에 삽입하십시오.

나는

/** 
    * Override the avatar script data 
    * 
    * @param $script_data 
    * @param $object 
    * 
    * @return int 
    */ 
    public function noys_avatar_script_data($script_data, $object) { 
     $user_id = get_current_user_id(); 

     if (! empty($user_id)) { 
      // Should we load the the Webcam Avatar javascript file. 
      if (bp_avatar_use_webcam()) { 
       $script_data['extra_js'] = array_merge($script_data['extra_js'], array('bp-webcam')); 
      } 

      $script_data['bp_params'] = array(
       'object'  => 'user', 
       'item_id' => $user_id, 
       'has_avatar' => bp_get_user_has_avatar($user_id), 
       'nonces'  => array(
        'set' => wp_create_nonce('bp_avatar_cropstore'), 
        'remove' => wp_create_nonce('bp_delete_avatar_link'), 
       ), 
      ); 

      // Set feedback messages. 
      $script_data['feedback_messages'] = array(
       1 => __('There was a problem cropping your profile photo.', 'buddypress'), 
       2 => __('Your new profile photo was uploaded successfully.', 'buddypress'), 
       3 => __('There was a problem deleting your profile photo. Please try again.', 'buddypress'), 
       4 => __('Your profile photo was deleted successfully!', 'buddypress'), 
      ); 
     } 

     return $script_data; 
    } 

bp_attachment_avatar_script_data 에이 필터를 사용 그리고 이것은 woocommerce 엔드 포인트에 대한 내용을 포함하는 제 기능입니다.

/** 
* Endpoint HTML content. 
*/ 
public function profile_picture_endpoints_content1() { 
    $bd = buddypress(); 
    bp_core_register_common_scripts(); 
    wp_enqueue_style('thickbox'); 
    wp_enqueue_script('media-upload'); 

    bp_core_add_jquery_cropper(); 

    bp_attachments_enqueue_scripts('BP_Attachment_Avatar'); 
    bp_attachments_get_template_part('avatars/index'); 
} 

이것이 문서화되지 않은 문제를 해결하는 데 필요한 전부입니다.