这个问题是关于WordPress的cms。创建新的管理员,wordpress
如何用想要的密码创建一个新的管理员用户使用一个简单的脚本托管在同一网站?
一样,我们有现场http://example.com/
和脚本http://example.com/ourscript.php
如果我们打开脚本页面,应该创建在管理面板多了一个管理员用户。
它可以用一些mysql查询来完成。
谢谢。
这个问题是关于WordPress的cms。创建新的管理员,wordpress
如何用想要的密码创建一个新的管理员用户使用一个简单的脚本托管在同一网站?
一样,我们有现场http://example.com/
和脚本http://example.com/ourscript.php
如果我们打开脚本页面,应该创建在管理面板多了一个管理员用户。
它可以用一些mysql查询来完成。
谢谢。
你会想要做两个查询:
1.)
insert into wp_users values('','admin_username','user_password','admin','user_email','user_url','registration_date','',0,'admin')
2.)
insert into wp_usermeta values ('','user_id','wp_capabilities','a:1:{s:13:"administrator";s:1:"1";}')
你需要裸露记住几件事情:
下面是一些示例代码:
<?php
//get required support files
require("database.class.php");
require("wordpress/functions.php");
//build the first insert array and send
$array['user_login'] = "james";
$array['user_pass'] = wp_hash_password("test");
$array['user_nicename'] = "James";
$array['user_email'] = "[email protected]";
$array['user_url'] = "http://jtgraphic.net";
$array['user_registered'] = date("Y-m-d H:i:s");
$array['user_status'] = 0;
$array['display_name'] = "James";
$user_id = $database->insert("wp_users",$array);
//build the second insert array and send
$array['user_id'] = $user_id;
$array['meta_key'] = "wp_capabilities";
$array['meta_value'] = "a:1:{s:13:"administrator";s:1:"1";}";
$database->insert("wp_usermeta",$array);
?>
数据库对象可以在这里找到:
詹姆斯的代码示例,并没有为我工作,所以我写了相似的东西。把这段代码放在一个文件中,比如说你的wordpress/wp-includes目录下的createhash.php。
<?php
define("ABSPATH", "../");
define("WPINC", "");
require("pluggable.php");
print(wp_hash_password("Your password") . "\n");
更改“您的密码”您的密码,然后键入php createhash.php
,它应该打印出你的密码的密码哈希。
干杯,戴夫。
我最近不得不创建管理员用户从命令行许多WordPress网站,我创造了这个脚本,您可以从phpMyAdmin的或shell命令行中运行: 所有你需要做的是配置用户名,密码和电子邮件运行。
简单的版本硬编码 “wp_prefix” 到 “WP_”
创建WordPress管理用户:使用预处理语句
SET @username = 'YOUR_USERNAME';
SET @password = 'YOUR_PASSWORD';
SET @email = '[email protected]';
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`) VALUES (@username, MD5(@password), @username, @email, '0');
SET @userid = LAST_INSERT_ID();
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @userid, 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @userid, 'wp_user_level', '10');
删除用户
SET @username = 'YOUR_USERNAME';
SET @userid := (SELECT `ID` FROM `wp_users` WHERE `user_login` = @username);
DELETE FROM `wp_users` WHERE `ID` = @userid LIMIT 1;
DELETE FROM `wp_usermeta` WHERE `user_id` = @userid LIMIT 2;
更高级版本和可配置的“wp_prefix”
创建管理用户
SET @username = 'YOUR_USERNAME';
SET @password = 'YOUR_PASSWORD';
SET @email = '[email protected]';
SET @wp_prefix = 'MY_WP_PREFIX_';
SET @sql_user = CONCAT('INSERT INTO `',@wp_prefix,'users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ("',@username,'", MD5("',@password,'"), "',@username,'", "',@email,'", "0")');
PREPARE sql_user FROM @sql_user;
EXECUTE sql_user;
DEALLOCATE PREPARE sql_user;
SET @userid = LAST_INSERT_ID();
SET @wp_usermeta1 = CONCAT("INSERT INTO `",@wp_prefix,"usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ?, '",@wp_prefix,"capabilities', 'a:1:{s:13:\"administrator\";s:1:\"1\";}')");
PREPARE wp_usermeta1 FROM @wp_usermeta1;
EXECUTE wp_usermeta1 USING @userid;
DEALLOCATE PREPARE wp_usermeta1;
SET @wp_usermeta2 = CONCAT('INSERT INTO `',@wp_prefix,'usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, "',@userid,'", "',@wp_prefix,'user_level", "10")');
PREPARE wp_usermeta2 FROM @wp_usermeta2;
EXECUTE wp_usermeta2;
DEALLOCATE PREPARE wp_usermeta2;
删除用户
SET @username = 'YOUR_USERNAME';
SET @wp_prefix = 'MY_WP_PREFIX_';
SET @sql_userid = CONCAT('SELECT @userid := `ID` FROM `',@wp_prefix,'users` WHERE `user_login` = "',@username,'"');
PREPARE sql_userid FROM @sql_userid;
EXECUTE sql_userid;
DEALLOCATE PREPARE sql_userid;
SET @wp_users = CONCAT('DELETE FROM `',@wp_prefix,'users` WHERE `ID` = "',@userid,'" LIMIT 1');
PREPARE wp_users FROM @wp_users;
EXECUTE wp_users;
DEALLOCATE PREPARE wp_users;
SET @wp_usermeta = CONCAT('DELETE FROM `',@wp_prefix,'usermeta` WHERE `user_id` = "',@userid,'" LIMIT 2');
PREPARE wp_usermeta FROM @wp_usermeta;
EXECUTE wp_usermeta;
DEALLOCATE PREPARE wp_usermeta;
2) – James 2010-11-16 21:43:29
千恩万谢了一些bug,如果你充分合作例子,好像如果我们谈论与登录“詹姆斯创造新的管理员“ – James 2010-11-16 21:44:42
我修复了这个错误并添加了一些代码。 – 2010-11-16 21:53:14