私は〜3万人のユーザーがいるサイトを持っています、そして大多数はメインブログで役割'subscriber'
を持っています。 WPMU 2.9.2からWordPress 3.0.1にアップグレードした後、post-new.php
のメインブログの "著者"ドロップダウンに30,0000人のユーザー全員が表示されることに気付きました。 。 (さて、それはブラウザをクラッシュさせずに読み込むことができれば...)。
明確にするために:すべてのユーザはまだ購読者レベルのアクセス権を持っていますが、 "著者"のドロップダウンに含まれています。
私が/wp-admin/
の奥に飛び込む前に、他の誰かがこれを見たことがありますか?この動作がWordPressの意図的な変更であるかどうかを知っている人はいますか?
ありがとう、ベサニー
こんにちは@ Bee:
私はなぜこれが起こったのかわかりません。しかし、私があなたの問題を正しく理解していれば、これらのユーザレコードを'subscriber'
ではなく'author'
に戻す必要がありますね。
通常、私はこのように直接SQLを更新することはお勧めしませんが、問題の性質を考えるとそれは1回限りのものであることを私はそれが大丈夫だろうと思います。
しかし、最初にデータベースをバックアップしてください これを試す前に。
これは、私がWordPressの内部について知っていること、および このサポートの質問に基づいて実行するSQLです(これはメインテーブルのプレフィックスが'wp'
であり、設定しても問題ないと仮定する) 'author'
で割り当てられたすべてのユーザーは購読者に戻って、WordPress管理コンソールを使用して手動で修正します。)したがって、SQLクエリツールからこのSQLを実行する方法がわかっている場合
UPDATE
wp_usermeta
SET
meta_value='a:1:{s:10:"subscriber";s:1:"1";}'
WHERE 1=1
AND meta_key='wp_capabilities'
AND meta_value LIKE '%author%'
クエリツールからSQLを実行するのに慣れていない場合は、これをWebサイトのrootにドロップして(/update-users.php
などと呼ぶ)、URLからhttp://example.com/update-users.php
を呼び出して実行します。 browser(もちろんhttp://example.com
をあなたの実際のサイトドメインに置き換えます):
<?php
include "wp-load.php";
global $wpdb;
$sql =<<<SQL
UDPATE
wp_usermeta
SET
meta_value='a:1:{s:10:"subscriber";s:1:"1";}'
WHERE 1=1
AND meta_key='wp_capabilities'
AND meta_value LIKE '%author%'
SQL;
$wpdb->query($sql);
echo 'Done!';
P.Sあなたの成功について、あるいはもっと助けが必要な場合は私たちに報告してください。