我想添加一些自定义字段以在 Wordpress 中添加新用户。我正在使用以下钩子:
show_user_profile
-
edit_user_profile
这些挂钩在编辑个人资料页面上显示新的自定义字段,但我希望新的自定义字段显示在“添加新用户”页面中。
而且我想在 wp_usermeta 表中插入值,为此我使用以下钩子:
personal_options_update
edit_user_profile_update
这些挂钩在编辑或更新配置文件时也可以正常工作,但我需要在添加新用户时而不是在配置文件更新时在 wp_usermeta tabe 中插入记录。
请给我提示将在添加新用户时使用的钩子。
先感谢您。
使用这个钩子
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);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)