我正在尝试使用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;
}
}
}
答案 0 :(得分:0)
要在wordpress中创建用户,您可以使用WP Create User功能。你似乎使代码变得复杂一点。您可以阅读有关在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.');
}
希望这有助于