wordpress函数wp\\u insert\\u user似乎没有设置(覆盖)我提供的输入。(文档显示您不能)尝试使用:wp\\u insert\\u user使用返回的userID也不起作用。
当然,我可以自己进行查询,但可能我忘记了使用现有函数插入此数据的选项。
$userdata = array(
//user login
\'user_pass\' => esc_attr( $_POST[\'pass\'] ),
\'user_login\' => esc_attr( $_POST[\'user\'] ),
\'user_email\' => esc_attr( $_POST[\'email\'] ),
//user meta
\'rich_editing\' => false,
\'comment_shortcuts\' => false,
\'show_admin_bar_front\' => false,
\'wp_user_level\' => 0,
\'wp_capabilities\' => \'a:1:{s:10:"subscriber";s:1:"1";}\'
);
$new_user_user_id = wp_insert_user( $userdata );
最合适的回答,由SO网友:Scott 整理而成
你最好的做法是user_register
并从那里更新您想要设置的用户选项。以下是为新用户禁用管理栏的示例:
add_action("user_register", "sc_set_user_admin_bar_false_by_default", 10, 1);
function sc_set_user_admin_bar_false_by_default($user_id) {
update_user_meta( $user_id, \'show_admin_bar_front\', \'false\' );
update_user_meta( $user_id, \'show_admin_bar_admin\', \'false\' );
}