【问题标题】:Inserting users into WordPress table using PHP使用 PHP 将用户插入 WordPress 表
【发布时间】:2014-04-28 00:25:50
【问题描述】:

我正在尝试使用 PHP 将用户添加到 WordPress 中的 wp_users 表。我想我有正确的代码(或者我没有),但我似乎无法让它运行。所以要么我做错了什么,要么我有点困惑(我肯定很困惑)。

基本上我在 WordPress 插件下的 PHP 文件中有这段代码。然后我在 URL 中输入代码:

localhost:8888/xxx/xxx/plugins/register_user.php. 

这会起作用还是我需要做什么?当我之后检查 MySQL 时,它没有输入用户。我在做一些公然错误的事情吗?

我以前从未这样做过,也不太了解 PHP,所以请为愚蠢的人解释清楚。这是代码。

<?php # Script 9.3 - register.php

$page_title = 'Register';

add_action('init', 'create_user');

function create_user() {
    $username = 'username123';
    $password = 'pasword123';
    $email = 'drew@example.com';

    $user = get_user_by( 'email', $email );
    if( ! $user ) {

        // Create the new user
        $user_id = wp_create_user( $username, $password, $email );
        if( is_wp_error( $user_id ) ) {
            // examine the error message
            echo( "Error: " . $user_id->get_error_message() );
            exit;
        }
    }
}

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    要在 wordpress 中创建用户,您可以使用功能 WP 创建用户。您似乎使代码有点复杂。您可以在 Wordpress Codex here 中阅读有关创建用户的内容@

    <?php wp_create_user( $username, $password, $email ); ?>
    

    这是 wordpress 在 wp-admin/upgrade-functions.php 中处理它的方式:

    $user_id = username_exists( $user_name );
    if ( !$user_id and email_exists($user_email) == false ) {
        $random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
        $user_id = wp_create_user( $user_name, $random_password, $user_email );
    } else {
        $random_password = __('User already exists.  Password inherited.');
    }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多