Мне недавно пришлось создавать администраторов для многих сайтов Wordpress из командной строки, и я создал этот скрипт, который вы можете запускать либо из phpMyAdmin, либо из командной строки оболочки: все, что вам нужно сделать, это настроить имя пользователя, пароль и адрес электронной почты и запустить его.
Простая версия с жестко закодированными "wp_prefix" в "wp _"
Создать администратора Wordpress:
SET @username = 'YOUR_USERNAME';
SET @password = 'YOUR_PASSWORD';
SET @email = 'YOUR@EMAIL.COM';
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 = 'YOUR@EMAIL.COM';
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;