it-swarm.com.de

Abonnenten werden nach dem Upgrade zu Autoren?/Massenaktualisierung von Benutzern?

Ich habe eine Site mit ~ 30.000 Benutzern und die überwiegende Mehrheit hat die Rolle 'subscriber' im Hauptblog. Nach dem Upgrade von WPMU 2.9.2 auf WordPress 3.0.1 habe ich festgestellt, dass alle 30.000 Benutzer im Dropdown-Menü "Autor"in post-new.php erscheinen. (Nun, das ist, wenn es gelingt, zu laden, ohne den Browser zum Absturz zu bringen ...).

Zur Verdeutlichung: Alle Benutzer haben weiterhin Zugriff auf Abonnentenebene, sind jedoch in "Author"dropdown enthalten.

Hat das noch jemand gesehen, bevor ich in die Eingeweide von /wp-admin/ eintauche? Weiß jemand, ob dieses Verhalten eine beabsichtigte Änderung in WordPress ist?

Danke, Bethany

1
Bee

Hallo @ Bee :

Ich habe keine Ahnung, warum das passiert ist. Aber wenn ich Ihr Problem richtig verstehe, müssen Sie diese Benutzerdatensätze wieder auf 'subscriber' anstatt auf 'author' setzen, richtig?

Normalerweise würde ich ein solches direktes SQL-Update nicht empfehlen, aber angesichts der Art des Problems und der Tatsache, dass es eine einmalige Sache ist, denke ich, dass es in Ordnung sein wird.

Aber erst SICHERN SIE IHRE DATENBANK , bevor Sie dies versuchen.

Hier ist die SQL, die basierend auf dem, was ich über die Interna von WordPress weiß, und auch basierend auf dieser Support-Frage ausgeführt werden soll (dies setzt voraus, dass die Das Präfix für Ihre Haupttabellen lautet 'wp' und setzt voraus, dass Sie in Ordnung sind, alle Benutzer, denen 'author' zugewiesen wurde, auf den Abonnenten zurückzusetzen und Korrekturen manuell über die WordPress-Administrationskonsole vorzunehmen.) Wenn Sie also wissen, wie diese SQL ausgeführt wird Gehen Sie in einem SQL-Abfragetool folgendermaßen vor:

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%'

Wenn Sie mit dem Ausführen von SQL über Abfrage-Tools nicht vertraut sind, können Sie dies in das Stammverzeichnis Ihrer Website ablegen (nennen Sie es /update-users.php oder ähnliches) und es dann ausführen, indem Sie die URL http://example.com/update-users.php von aufrufen Ihr Browser (ersetzt natürlich http://example.com durch Ihre eigentliche Site-Domain):

<?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. Bitte berichten Sie uns über Ihren Erfolg oder wenn Sie weitere Hilfe benötigen.

2
MikeSchinkel