it-swarm.com.de

Wie behebe ich Probleme, bei denen Benutzer nicht veröffentlichen und erst nach dem Upgrade der Multisites-Installation zur Überprüfung einreichen können?

Wir haben eine frühere WPMU-Installation, die auf eine WordPress Multisites-Installation aktualisiert wurde. Seit dem Upgrade von 3.2.1 auf 3.3.2 haben wir ein Problem damit, dass Redakteure/Administratoren nicht in der Lage sind, auf einigen ihrer Blogs zu posten. Sie sehen die Schaltfläche "Zur Überprüfung einreichen" anstelle von "Veröffentlichen", obwohl sie Administratoren oder Autoren sind.

Meine erste Vermutung beim Durchsuchen der Datenbank war, dass die Benutzer, die die Probleme hatten, alle ihre Fähigkeiten gespeichert hatten auf neue Weise :

a:1:{s:6:"editor";s:1:"1";}

während Benutzer mit Fähigkeiten, die auf die alte Weise gespeichert wurden:

a:1:{s:6:"editor";b:1;}

schien keine Probleme zu haben. Aber auch nach manueller Änderung in der Datenbank waren die Probleme gleich.

Es wurde auch versucht, wp_NNN_user-settings in wp_usermeta in einen Wert zu ändern, der für denselben Autor in einem anderen Blog verwendet wurde, in dem er ohne Änderung posten konnte.

Dann wurde versucht, einen komplett neuen Benutzer zu registrieren und ihm Administratorrechte zu geben. Außerdem wurde die Schaltfläche "Zur Überprüfung einreichen" angezeigt.

Der Superadministrator kann auch nicht veröffentlichen und erhält die Meldung "Sind Sie sicher, dass Sie dies tun möchten?". bei Veröffentlichung.

Wie behebe ich das?

Ich sehe, dass dieser Wordpress.org-Support-Thread ein Verhalten beschreibt, bei dem Veröffentlichungsschaltflächen nach dem Upgrade auf 3.3 durch "Zur Überprüfung einreichen" ersetzt werden

3
moonhouse

Nach einem ganzen Tag der Untersuchung des Problems gelang es mir, den Täter zu finden und das Problem zu lösen.

Ich habe das Problem folgendermaßen lokalisiert:

  1. Erstellen Sie ein neues Blog und gewähren Sie Ihrem Benutzer Administrator- oder Editorrechte.
  2. Kopieren Sie in MySQL alle Beiträge aus einem der problematischen Blogs in das neue Blog.
  3. Jetzt hat das neue Blog das gleiche Problem, da die Schaltfläche "Veröffentlichen" nicht mehr angezeigt wird.
  4. Finden Sie die verursachenden Beiträge mithilfe der binären Suche.

Es stellte sich heraus, dass es sich bei den Posts, die dieses Verhalten verursachten, um Auto-Draft-Posts ohne Inhalt handelte, jedoch nicht alle.

Durch Laufen

delete from wp_NNN_posts where post_status='auto-draft' AND post_content=''; 

in jedem Blog haben wir das Problem beseitigt.

3
moonhouse