Word press 새 사용자 후크
Wordpress에서 새 사용자를 추가하기 위해 몇 가지 사용자 지정 필드를 추가하고 싶습니다. 다음 후크를 사용하고 있습니다.
show_user_profile
edit_user_profile
이 후크는 프로파일 편집 페이지에 새로운 커스텀필드를 표시하지만 새로운 커스텀필드는 Add New User 페이지에 표시되도록 합니다.
또한 wp_usermeta 테이블에 값을 삽입하고 싶습니다.이 경우 다음 훅을 사용합니다.
personal_options_update
edit_user_profile_update
이러한 훅은 편집 또는 업데이트 프로파일에서도 정상적으로 동작하지만 프로파일 업데이트 시간이 아닌 새로운 사용자 추가 시 wp_usermeta tabe에 레코드를 삽입해야 합니다.
ADD New User에서 b를 사용할 훅 힌트를 주세요.
잘 부탁드립니다.
이 갈고리를 사용하다
add_action('user_new_form', 'xxxx');
네, 여기 사용자 추가/편집 시 사용자 mailChimp 등록 권한 체크박스를 추가하기 위한 전체 코드입니다.
//Add a mailchimp permission field, on user creation, user profile update
add_action('user_new_form', 'mailchimp_permission_field');
add_action('show_user_profile', 'mailchimp_permission_field');
add_action('edit_user_profile', 'mailchimp_permission_field');
function mailchimp_permission_field($user) {
?>
<table class="form-table">
<tr class="form-field">
<th scope="row"><label for="mail_chimp">Mail Chimp </label></th>
<td>
<label for="mail_chimp">
<input style="width: auto;" type="checkbox" name="mail_chimp" id="mail_chimp"
<?php if(current_filter() == 'user_new_form' || get_the_author_meta('mail_chimp', $user->ID )): ?>
checked = "checked"
<?php endif; ?> />
Subscribe to MailChimp.
</label>
</td>
</tr>
</table>
<?php }
// handle mailchimp registrations on user creation
add_action( 'user_register', 'subscribe_to_mailchimp_after_registration', 10, 1 );
function subscribe_to_mailchimp_after_registration( $user_id ) {
if (isset($_POST['email']) && isset($_POST['mail_chimp']) && $_POST['mail_chimp'] == 'on') {
mailchimp_subscribe($_POST['email']);
}
}
//Save new field for user in users_meta table
add_action('user_register', 'save_mailchimp_permission_field');
add_action('edit_user_profile_update', 'save_mailchimp_permission_field');
function save_mailchimp_permission_field($user_id) {
if (!current_user_can('edit_user', $user_id)) {
return false;
}
if (isset($_POST['mail_chimp']) && $_POST['mail_chimp'] == 'on') {
update_usermeta($user_id, 'mail_chimp', true);
mailchimp_subscribe(get_userdata($user_id)->user_email);
}
else {
update_usermeta($user_id, 'mail_chimp', false);
mailchimp_unsubscribe(get_userdata($user_id)->user_email);
}
}
내가 볼 수 있는 한 새 사용자 페이지에서 트리거되는 작업 후크는 없습니다.user-new.php에서 검색.do_action
.
설명서에 따르면 hook
에게user_new_form
액션은 물론 WordPress 버전이 3.7.0보다 높아야 합니다.
이 후크는 새로운 사용자 폼의 마지막에 기동됩니다.컨텍스트 스트링을 전달하여 두 가지 유형의 새 사용자 양식을 모두 고유한 대상으로 지정할 수 있도록 합니다.콘텍스트는add-existing-user
(멀티 사이트)및add-new-user
(단일 사이트 및 네트워크 관리자).
add_action('user_new_form', 'your_function_name');
에서 이 코드를 사용해 보세요.wp-includes/user.php
:
do_action('profile_update', XXXX);
do_action('user_register', XXXX);
새 사용자 양식의 사용자 지정 필드 값을 저장하기 위한 올바른 후크는 다음과 같습니다.
add_action('edit_user_created_user', 'your_callback');
그user_register
후크만 동작/ 를 통해 삽입된 사용자에 대해 호출됩니다.wp_insert_user()
기능.
user_register
그리고.edit_user_created_user
설명은 같지만 다른 컨텍스트에서 호출된2개의 훅입니다
폼에 필드를 추가하여 새 사용자 사용을 생성할 수 있습니다.
add_action('user_new_form', 'your_callback');
언급URL : https://stackoverflow.com/questions/9139614/wordpress-add-new-user-hooks
'programing' 카테고리의 다른 글
Reactjs 브라우저 탭 닫기 이벤트 (0) | 2023.03.23 |
---|---|
oracle diff: 두 테이블을 비교하는 방법 (0) | 2023.03.23 |
jQuery로 입력 값을 설정한 후 각도 모델 업데이트 (0) | 2023.03.23 |
Woocommerce 3에서 CRUD 메서드를 사용하여 프로그래밍 방식으로 제품 생성 (0) | 2023.03.23 |
$http 요구는 각진 CORS에서 도메인 간 쿠키를 전송하지 않습니다. (0) | 2023.03.23 |