2013-09-23 4 views
0

현재 사용자 아바타 URL을 사용자 메타에 저장된 사용자 지정 URL로 덮어 쓰는 기능을 만들고 싶습니다. 지금까지는 함수 으로 작동한다는 것을 제외하고는 buddypress/wordpress 사용자의 사용자 ID를 얻는 방법을 파악하는 데 어려움을 겪었습니다.BuddyPress/Wordpress 동적 사용자 ID 가져 오기

코드는 지금까지 다음과 같습니다

나는 사용자의 ID에 기록 된 전류는 $ USER_ID를 설정하는 경우 가장 큰 문제는
// return new URL for avatar 
function wpse_49216_my_new_avatar_url() { 

// get user_id of user bp/wp is getting avatar for 
$user_id = bp_get_member_user_id(); 

// get avatar name from above user's meta 
$avatar_choice = get_user_meta($user_id, "avatar_choice", true); 

if($avatar_choice) { 
    return 'path_to_avatars/'.$avatar_choice.'.png'; 
} else { 
    return 'path_to_avatars/default-avatar.png'; 
} 
} 

add_filter('bp_core_fetch_avatar_url', 'wpse_49216_my_new_avatar_url'); 

// Replace image src="" with the new avatar URL 
function wpse_49216_filter_bp_avatar($html) { 
    return preg_replace('/src=".+?"/', 'src="' . wpse_49216_my_new_avatar_url() . '"', $html  ); 
} 
add_filter('bp_core_fetch_avatar', 'wpse_49216_filter_bp_avatar'); 

은, 모든 아바타가 로그인 현재의 아바타를로드 할 것이다 사용자. 그리고 bp_get_member_user_id()은 회원 페이지에서만 작동합니다. 보편적으로 작동하는 무언가가 필요합니다. 어떤 Wordpress/Buddypress 전문가가 올바른 사용자 ID를 얻는 방법을 알고 있습니까?

답변

0

나는 당신이 필터링하는 기능을 보면 보편적으로

작동 뭔가가 필요, 당신은 당신이 BP에있는 '곳'알고에 의존한다는 것을 볼 수 있습니다. 상황에 따라 움직이기 때문에 보편적 인 접근법은 없다.

0

할 수 있습니다 글로벌 사용자 ID에 대한 functiona 아래 사용자 :

bp_displayed_user_id() 
관련 문제