2014-06-13 2 views
1

나는 관리 시스템을 학습하는 데 사용되는 wplms라는 테마를 가지고 있습니다.buddypress에 등록 양식 수정

강사가 웹 사이트에 강사 (학생이 아님)로 직접 등록 할 수 있도록 허용해야하며 관리자가 각 강사의 등록을 검토 할 필요가 없도록해야합니다. 정품 인증을 원하기 때문에

$wpdb->query($wpdb->prepare("UPDATE {$wpdb->users} SET user_status = 2 WHERE ID = %d", $user_id)); 

:

는, 나는 라인 (314)에서

, 나는 선을 댓글을 달았 BP-회원/BP-회원-classes.php의 코어를 수정 한 단지

그리고 라인 (319) 및 (320)에 등록 사용자 (강사) 내가 댓글을 달았습니다 :

delete_user_option($user_id, ‘capabilities’); 
delete_user_option($user_id, ‘user_level’); 

이 줄은 이전에 정의한 wp_capalities를 덮어 쓰고 있기 때문입니다.

하지만 코어 수정없이이 작업을 수행하려고합니다. 나에게 더 나은 방법을 줄 수 있니? 대단히 감사합니다.

참고 : 등록 된 사용자가 WP 관리자에 나타납니다 내가 눈치 챘> 강사로 사용자뿐만 아니라 ...하지만 너무

답변

1

There is one hook ... pendings 같은 경우의 결과를 반환 add_backcompat() 방법. 그것으로 당신은 $wpdb->querydelete_user_option이 한 것을 되돌릴 수 있습니다.

<?php 
/** 
* Plugin Name: (BP) Instructors registration adjustment 
*/ 

add_filter('bp_core_signups_add_backcompat', 'bp_so_24199347'); 

function bp_so_24199347($user_id) { 
    // $wpdb->query(REVERT); 
    // add_user_option(REVERT); 

    return $user_id; 
} 
:

당신은 당신이 기능을 채울 필요가 무엇인지 찾을 수있다