如何将用户提升为网络管理员?

时间:2017-02-07 作者:acobster

我接管了一个现有的多站点网络,我没有通过WP admin UI直接将任何人提升为网络管理员的权限。如何通过MySQL和/或WP CLI将我的站点管理员提升为网络管理员?

3 个回复
SO网友:Vinnie James

您可以使用grant\\u super\\u admin()

要按用户ID添加管理员,可以使用grant\\u super\\u admin。简单地将grant\\u super\\u admin放入主题的函数中。php文件(通常位于/wp-content/themes/CURRENT-THEME-NAME/functions.php中)。您需要将用户ID作为变量,下面的示例中我们使用的用户ID为1。

grant_super_admin(1);

https://drawne.com/add-super-admin-wordpress-network/

或者这种方法的一些变体应该可以做到:

INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (\'4\', \'demo\', MD5(\'demo\'), \'Your Name\', \'[email protected]\', \'http://www.test.com/\', \'2011-06-07 00:00:00\', \'\', \'0\', \'Your Name\');


INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, \'4\', \'wp_capabilities\', \'a:1:{s:13:"administrator";s:1:"1";}\');



INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, \'4\', \'wp_user_level\', \'10\');

http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/

SO网友:Ted Stresen-Reuter

如果您有权访问命令行,并且可以使用wp-cli, 然后需要运行两个命令(假设站点ID为1):

wp network meta get 1 site_admins

这将返回所有站点管理员的数组。以下是一个示例阵列:

array (
  0 => \'user\',
  1 => \'tedmasterweb\',
  2 => \'fredflintston\',
  3 => \'jcollins\',
)
然后需要执行以下命令,将键设置为4 (比上面数组中的最大数字多出一个),例如:

wp network meta patch insert 1 site_admins 4 myusername

然后,您可能需要注销并重新登录以查看更改。

Related documentation

https://developer.wordpress.org/cli/commands/network/meta/update/

SO网友:Arsalan Mithani

你能在用户编辑中看到这一点吗?

enter image description here

相关推荐

正在尝试获取wp-includes/capabilities.php中非对象的属性

在调试中,我每分钟都会收到以下通知序列。日志:[23-Oct-2012 13:27:33 UTC] PHP Notice: Trying to get property of non-object in mysite/wp-includes/capabilities.php on line 1022 [23-Oct-2012 13:27:33 UTC] PHP Notice: Trying to get property of non-object in mysite/wp-includes/