最近我有一个客户来找我建立一个新网站,他们也忘记了所有的登录信息,但他们确实有FTP访问权限。如何在WordPress中以编程方式创建管理员用户?
hxzsmxv21#
这将创建一个管理员用户,如果放置在一个主题functions.php文件。请根据需要更改前三个变量。
/* * Create an admin user silently */ add_action('init', 'xyz1234_my_custom_add_user'); function xyz1234_my_custom_add_user() { $username = 'username123'; $password = 'pasword123'; $email = '[email protected]'; if (username_exists($username) == null && email_exists($email) == false) { // Create the new user $user_id = wp_create_user($username, $password, $email); // Get current user object $user = get_user_by('id', $user_id); // Remove role $user->remove_role('subscriber'); // Add role $user->add_role('administrator'); } }
字符串
k4emjkb12#
Accepted answer有问题,当它运行两次时会抛出致命错误,因为第二次$user_id将是空的。解决这个问题的方法:
$user_id
function rndprfx_add_user() { $username = 'username123'; $password = 'azerty321'; $email = '[email protected]'; if (username_exists($username) == null && email_exists($email) == false) { $user_id = wp_create_user( $username, $password, $email ); $user = get_user_by( 'id', $user_id ); $user->remove_role( 'subscriber' ); $user->add_role( 'administrator' ); } } add_action('init', 'rndprfx_add_user');
yrefmtwq3#
以下是创建新管理员用户的查询:
INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status) VALUES ('newadmin', MD5('pass123'), 'firstname lastname', '[email protected]', '0'); INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'); INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
zbdgwd5y4#
简单地说,你需要在你的functions.php中添加这个代码示例:
function wpb_admin_account(){ $user = 'Username'; $pass = 'Password'; $email = '[email protected]'; if ( !username_exists( $user ) && !email_exists( $email ) ) { $user_id = wp_create_user( $user, $pass, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action('init','wpb_admin_account');
字符串别忘了用你自己的数据来更改邮箱,密码和电子邮件地址。这里有更详细的教程,可能会对你有所帮助。How to create a new WordPress admin user programmatically
mwecs4sa5#
看看上面提供的例子,我想给给予一些额外的提示。首先,你不能只在init钩子中使用这段代码-在这种情况下,WordPress会尝试在每个页面加载时创建一个用户。第二,当你可以使用wp_insert_user()函数时,为什么要使用wp_create_user()?正确示例:
init
wp_insert_user()
wp_create_user()
add_action( 'init', function() ) { // do nothing if we didn't provide ?create_user_123=anything in the URL if( empty( $_GET[ 'create_user_123' ] ) ) { return; } wp_insert_user( array( 'user_login' => 'user login goes here', 'user_pass' => 'password will go here', 'role' => 'administrator', ) ); });
字符串我从这里拿了个例子https://rudrastyh.com/wordpress/create-user-programmatically.html#create-admin-user
5条答案
按热度按时间hxzsmxv21#
这将创建一个管理员用户,如果放置在一个主题functions.php文件。请根据需要更改前三个变量。
字符串
k4emjkb12#
Accepted answer有问题,当它运行两次时会抛出致命错误,因为第二次
$user_id
将是空的。解决这个问题的方法:字符串
yrefmtwq3#
以下是创建新管理员用户的查询:
字符串
zbdgwd5y4#
简单地说,你需要在你的functions.php中添加这个代码示例:
字符串
别忘了用你自己的数据来更改邮箱,密码和电子邮件地址。这里有更详细的教程,可能会对你有所帮助。How to create a new WordPress admin user programmatically
mwecs4sa5#
看看上面提供的例子,我想给给予一些额外的提示。
首先,你不能只在
init
钩子中使用这段代码-在这种情况下,WordPress会尝试在每个页面加载时创建一个用户。第二,当你可以使用
wp_insert_user()
函数时,为什么要使用wp_create_user()
?正确示例:
字符串
我从这里拿了个例子https://rudrastyh.com/wordpress/create-user-programmatically.html#create-admin-user