如何以編程方式創建 WordPress 用戶

已發表: 2021-10-23

您是否正在尋找其他方法來創建不涉及管理儀表板的用戶? 如果是這樣,這篇文章是給你的。 在本指南中,我們將向您展示如何以編程方式創建 WordPress 用戶以及可在您的網站上使用的示例腳本。

如今,大多數網站都允許訪問者創建帳戶並成為註冊用戶以獲得某些好處,例如獨家交易和折扣。

當新用戶註冊時,該站點會收集有關個人資料的信息並為該用戶分配角色。 這些角色允許您為每個用戶設置不同的權限,例如訪問一些受限制的內容、為每個角色顯示特定的導航菜單、訪問某些優惠等等。

WordPress 允許您管理不同類型的用戶並提供完整的用戶管理功能。 使用默認可用的多個角色,您可以創建、更新和刪除用戶,並為每個用戶分配不同的權限。 這對某些網站很有用,但如果您想要一個更複雜的解決方案來管理不同類型的權限,您可能需要以編程方式創建 WordPress 用戶。

讓我們看看如何做到這一點。

如何以編程方式創建 WordPress 用戶

要以編程方式創建用戶,您可以利用一些 WordPress 內置功能。 在所有情況下,唯一需要的值是名稱和密碼。

創建用戶後,WordPress 可以從其郵箱發送電子郵件以完成註冊。 即使用戶已經知道登錄憑據,出於以下幾個原因,發送用戶註冊電子郵件始終是一個好主意:

  • 您確保他們提供的電子郵件是正確的並且沒有任何拼寫錯誤
  • 用戶可以在忘記用戶名或密碼時返回該電子郵件

創建用戶時,您可以分配密碼、名稱和角色。 稍後,用戶可以更改和更新任何這些詳細信息以及他們個人資料中的所有信息。

現在我們對您可以做什麼有了清晰的認識,讓我們看一些示例腳本,它們將允許您以不同的方式創建用戶。

注意:由於我們將編輯一些核心文件,因此在開始之前,我們建議您生成站點的完整備份。 此外,如果您還沒有使用子主題插件,我們建議您創建子主題或使用子主題插件。

使用代碼創建 WordPress 用戶的示例腳本

在本節中,我們將向您展示幾個可用於以編程方式在您的站點上創建用戶的腳本。 您將找到腳本以及對代碼每個部分的作用的說明。

創建單個用戶

以編程方式創建 WordPress 用戶非常簡單,只需要一行代碼。 唯一需要的值是名稱和密碼,您還可以使用wp_create_user()函數設置密碼,如下所示:

 wp_create_user('johndoe', 'passwordgoeshere', '[電子郵件保護]' );

將這行代碼粘貼到您的子主題的functions.php文件中,以創建一個名為johndoe的用戶。

如何以編程方式創建 WordPress 用戶

最重要的是,我們可以做更多的事情來改進上面的代碼。 例如,為了防止在用戶瀏覽後端頁面或重新加載屏幕時創建用戶,您應該使用掛鉤。 新代碼將如下所示:

 add_action('admin_init','QuadLayers_create_user');
函數 QuadLayers_create_user(){
  wp_create_user('johndoe', 'passwordffgoeshere', '[電子郵件保護]');
}

如果您不熟悉鉤子,我們建議您查看我們的鉤子指南。

創建多個用戶

除了多次重複上述功能之外,還有一種更有效的方法可以一次創建多個用戶。

以下函數將從給定數組創建用戶,其中存儲名稱和密碼。

 add_action('admin_init','QuadLayers_create_users');
函數 QuadLayers_create_users(){
    $用戶=數組(
       數組('johndoe','密碼1'),
       數組('tomdoe','密碼2'),
       數組('andrewdoe','密碼3'),
       數組('傑夫多','密碼4')
    );
    foreach($users 作為 $user){     
       wp_create_user($user[0], $user[1]);
    }    
}

為此,我們使用foreach()循環來創建存儲在$users數組中的四個用戶。

如何創建多個 wordpress 用戶

在此示例中,我們創建了四個用戶,但您可以創建任意數量的用戶。 只需將它們添加到陣列中並為其分配名稱和密碼。

創建用戶並發送電子郵件

現在讓我們看看如何創建用戶、生成密碼並使用一些代碼將其發送到給定的電子郵件。

在以下腳本中,我們使用了兩個新函數:

  1. wp_generate_password()生成密碼
  2. wp_mail()將註冊郵件發送給收件人
add_action('admin_init','QuadLayers_create_user_send_mail');
函數 QuadLayers_create_user_send_mail(){
    $password=wp_generate_password(12, true);
    wp_create_user('joedoe',$password);
    wp_mail( '[email protected]', 'Welcome!', '您的密碼是:' . $password );  
}

此代碼將以編程方式創建一個 WordPress 用戶,生成一個密碼並向[email protected]發送一封電子郵件,上面寫著“歡迎! 您的密碼是“ . 確保在您的網站上使用用戶、電子郵件和消息時對其進行自定義。

創建用戶並分配帳戶數據

在此示例中,我們正在創建一個帶有附加信息(例如名字、姓氏和角色)的用戶。

請注意,我們在這裡使用了不同的函數。 我們使用wp_insert_user()代替wp_create_user()函數,它類似但更靈活和強大。

 add_action('admin_init','QuadLayers_create_user_meta');
函數 QuadLayers_create_user_meta(){   
wp_insert_user(數組(
  'user_login' => 'janedoe',
  'user_pass' => 'passwordhere',
  'user_email' => '[電子郵件保護]',
  'first_name' => '簡',
  'last_name' => 'Doe',
  'display_name' => 'Jane Doe',
  '角色' => '編輯'
));
}

如您所見,在此示例中,我們正在創建一個用戶並分配一個名稱 (Jane)、姓氏 (Doe)、電子郵件 ( [email protected]) 、角色 ( editor ) 等等。

檢查用戶是否存在

此腳本用於驗證,在大多數情況下都很有用,因此我們建議您將其應用到您的代碼中。

以下是如何使用username_exists()函數從用戶名(本例中為 janedoe)檢查用戶是否存在。

 add_action('admin_init','QuadLayers_if_user_exists');
函數 QuadLayers_if_user_exists(){
    如果(空==用戶名存在('janedoe')){
       echo "not an Existing User";// 為不存在的用戶做點什麼
    }
    別的{
           echo "現有用戶"; // 如果用戶名存在則做某事
    }
}

此腳本根據用戶是否存在用兩種不同的文本標記用戶:

  • 不存在的用戶:“不是現有用戶”
  • 存在的用戶:“現有用戶”

結論

總而言之,WordPress 具有創建、管理和刪除不同類型用戶的功能。 儘管這對於大多數網站來說可能已經足夠了,但如果您想擁有更多選項並能夠管理更多權限,那麼使用一些代碼創建用戶是一個好主意。

在本指南中,我們已經了解瞭如何以編程方式創建 WordPress 用戶以及一些示例以提高流程效率。 我們已經了解瞭如何一次創建多個用戶、如何自動向他們發送電子郵件以及向他們分配數據。 最後,我們添加了驗證來檢查用戶是否已經存在。 現在是時候自定義這些腳本並在您的網站上使用它們了!

您是否使用這些腳本將用戶添加到您的站點? 你是如何定制它們的? 在下面的評論中讓我們知道!

有關通過一些代碼改進您的網站的更多選項,請查看以下指南:

  • 如何以編程方式創建 WordPress 自定義帖子類型
  • 在 WordPress 中以編程方式創建帖子和頁面的指南
  • 如何在 WooCommerce 中自動更改訂單狀態