是否对自定义登录表单进行自定义登录查询?

时间:2018-05-21 作者:Max

我有一个自定义多步骤表单,用于收集用户数据和其他详细信息,在最后一步中,它有2个选项供用户选择,
1)要求用户输入登录详细信息并提交保存记录
2)注册/注册并提交存储数据和自动创建帐户。

For step 2, 我用过wp_insert_user() 创建用户和$wpdb->insert 在记录中保存该用户的其他详细信息。

Note: 我在同一页上编写所有代码,因为我不擅长使用函数,
if ( $_POST[\'register_account\'] ) { //wp_insert_user() //$wpdb->insert; }

For Step 1, 我试着使用wp_signon() 但它给了我Warning: Cannot modify header information - headers already sent by.

我只需要一个简单的自定义登录查询就可以登录,登录后显示用户从该表单前面的步骤中选择的信息,确认后,将此记录保存到此登录usermeta
if ( $_POST[\'login_account\'] ) { //logged in and show data; }

1 个回复
最合适的回答,由SO网友:Pabamato 整理而成

我建议阅读WordPress中的过滤器和挂钩是如何工作的here, 这是添加/更改站点功能最简单的方法(也是推荐的方法)。

这个wp_insert_user() 函数返回新创建的用户ID,因此我不会使用自定义查询插入用户记录,因为您可以使用add_user_meta(): see the docs here

你必须打电话wp_signon() 在输出任何HTML之前,请参阅函数文档中的注释:https://codex.wordpress.org/Function_Reference/wp_signon

此函数将标题发送到页面。必须在返回任何内容之前运行此函数。此函数设置身份验证cookie。如果未发送,用户将不会登录

结束

相关推荐