【问题标题】:How can I automatically create a Wordpress user when submitting a Gravity Form?提交 Gravity Form 时如何自动创建 Wordpress 用户?
【发布时间】:2022-11-15 07:32:50
【问题描述】:

我对 PHP 完全陌生。我试图在使用以下代码使用自定义插件提交表单时自动创建一个 WordPress 用户:

add_action( 'gform_post_process', 'wp_create_user', 10, 3 );
function wp_create_user( $username, $random_password, $email ) {
    $user_login = wp_slash( $entry[1]);
    $user_email = wp_slash( $entry[2]);
    $user_pass = wp_generate_password( $length = 12, $include_standard_special_chars = false );
    $role = 'Cp Client';

    $userdata = compact( 'user_login', 'user_email', 'user_pass' );
    return wp_insert_user( $userdata );
}}

我也尝试过使用 gform_after_submission 并更改函数的名称,但随后我的网站中断了。

我究竟做错了什么?这可能吗?有人可以给我一个代码示例吗?

提前致谢,

帕科

【问题讨论】:

  • wp_create_user 已经存在于 WordPress 中。您只需要将自己的函数命名为不同的东西......
  • 它在错误中明确指出您的函数名称已被声明..
  • @FUZIION 所以……?
  • @CBroe 感谢您的回答!只更改函数的名称应该可以吗?我的网站仍然崩溃。我收到以下错误:此站点发生严重错误。
  • @FUZIION 在我原来的帖子中,我解释说我在这方面做了一些尝试,就像我现在所做的那样。我还说我是 PHP 新手。所以,你的评论没有帮助。

标签: php wordpress gravity-forms-plugin


【解决方案1】:

您可以尝试以下方法。 (您可能还想添加名字、姓氏和显示名。)这里有更多信息:https://usersinsights.com/create-wordpress-users-programmatically/

add_action( 'gform_after_submission_185', 'register_a_user', 10, 2 );//replace 185 with the your form id
function register_a_user($entry, $form ){
       $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
       $user_id = wp_insert_user( array(
          'user_login' => rgar( $entry, '1' ),
          'user_pass' => substr(str_shuffle($chars),0,12),
          'user_email' => rgar( $entry, '3' ),
          'role' => 'cp-client'//check the slug name of the role
       ));
       return;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多