web-dev-qa-db-ja.com

データベース経由でWordpress MU Network Adminを追加する

私は開発のためにWordPress MUネットワークのコピーを私のローカルマシン上で稼働させることに取り組んでいます(現時点ではWordPress 3.2.1を使用しています)。ネットワーク管理オプションにアクセスする必要があります。

Usermetaテーブルで、user-level10に、capabilitiesa:1:{s:13:"administrator";b:1;}に変更しました。

Sitemetaテーブルで、私はsite_adminsオプションでユーザーの直列化配列に自分自身を追加しました。

これで私は一般的なwp-adminページにアクセスできましたが、私はまだネットワーク管理オプション(WPの自動アップグレード、プラグイン、テーマなど)にはアクセスできません。

5
quadium32

したがって、これら3つの変更がすべて必要なものであることがわかります。また、シリアル化された配列のいずれかが誤って変更された場合(手動で変更した場合は簡単に実行できます)、システムはあなたがネットワーク管理者ではないと判断します。

site_adminsオプションのシリアル化された配列を修正することで問題が解決しました。

4
quadium32

新しい管理ユーザーを作成するためのクエリは次のとおりです:

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');

それは間違いなくあなたを助けます:)

0
Gaurav

念のために、sitemetaテーブルのmeta_valuemeta_key='site_admins'の直列化された配列の形式が誰かには明らかでない(私には明らかではないように).

a:5:{i:0;s:5:"admin";i:1;s:9:"user12345";i:2;s:4:"user";i:3;s:5:"user1";i:4;s:8:"user1234";}

配列の先頭にあるa:5は、配列に5つの要素があることを示します。

各要素の長さはs:xでも示されます。ここで、xは配列要素の長さです。たとえば、adminのユーザー名の長さはs:5で示されます。

0
locoMotion

私は何日もこの問題に取り組んできました。メインネットワークサイトのドメイン名を更新したときに、ネットワーク管理オプションがダッシュボードから消えました。あちこちを見ようとしました。最後にこの質問に行き、sitemetaテーブルのフィールドが何を意味するのかというlocoMotionの説明を読むと、スーパーアドミンのユーザー名の長さが正しくないことに気付きました。それを修正すると、SiteAdminメニューが再びダッシュボードに表示され始めました。この質問をしてくれてありがとう@ quadium32、sitemetaの値が何を意味するのかを説明してくれてありがとう@locoMotion。宜しくお願いします。タリク

0
Tariq