簡體   English   中英

如何在提交Gravity Form時自動創建Wordpress用戶?

[英]How can I automatically create a Wordpress user when submitting a Gravity Form?

我是 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 並更改函數的名稱,但隨后我的網站中斷了。

我究竟做錯了什么? 這可能嗎? 有人可以給我一個代碼示例嗎?

提前致謝,

帕科

您可以嘗試以下操作。 (您可能還想添加名字、姓氏和顯示名稱。)這里有更多信息: 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;
    }

在 Rochelle 的幫助下,我得到了一個最終可以運行的代碼。 就是這個:

add_action( 'gform_after_submission', 'create', 10, 2 );
function create( $entry, $form ) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $user_login = wp_slash( $entry[3] );
    $user_email = wp_slash( $entry[2] );
    $user_pass  = substr(str_shuffle($chars),0,12);

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

感謝所有對此帖子發表評論的人!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM