web-dev-qa-db-fra.com

Comment puis-je résoudre les problèmes avec les utilisateurs ne pouvant pas publier et soumettre uniquement pour révision après la mise à niveau de l'installation multisites?

Nous avons une installation précédente de WPMU qui a été mise à niveau vers une installation WordPress Multisites. Depuis la mise à niveau de la version 3.2.1 à la version 3.3.2, nous rencontrons un problème d'empêchement des rédacteurs/administrateurs de publier sur certains de leurs blogs. Ils voient un bouton "Soumettre pour révision" au lieu de "Publier", bien qu'ils soient administrateurs ou auteurs.

Ma première impression en consultant la base de données a été que les fonctionnalités des utilisateurs qui rencontraient des problèmes étaient stockées dans de la nouvelle manière :

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

tandis que les utilisateurs avec des capacités stockées à l'ancienne:

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

semblait avoir aucun problème. Mais même après avoir changé manuellement ceci dans la base de données, les problèmes étaient les mêmes.

Nous avons également essayé de remplacer wp_NNN_user-settings dans wp_usermeta par une valeur utilisée pour le même auteur dans un autre blog où il pourrait publier sans modification.

Puis essayé d’enregistrer un nouvel utilisateur complet et de lui donner les droits d’administrateur. Également obtenu le bouton "Soumettre pour révision".

Le super administrateur est également incapable de publier et reçoit le message "Êtes-vous sûr de vouloir faire cela?" sur publier.

Comment puis-je réparer ça?

Je vois que ce fil d’assistance Wordpress.org décrit un comportement avec le remplacement des boutons de publication par Soumettre pour révision après la mise à niveau 3.3

3
moonhouse

Après une journée complète à enquêter sur le problème, j'ai réussi à trouver le coupable et à le résoudre.

J'ai localisé le problème en procédant comme suit:

  1. Créez un nouveau blog et accordez à votre utilisateur des privilèges administrateur ou éditeur.
  2. Dans MySQL, copiez tous les messages d'un des blogs en difficulté vers le nouveau blog.
  3. Maintenant, le nouveau blog a le même problème avec le bouton Publier.
  4. Recherchez le ou les messages à l’aide de la recherche binaire.

Les publications à l'origine de ce problème se sont révélées être des publications de brouillon automatique sans contenu, mais pas toutes.

En exécutant

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

dans chaque blog, nous nous sommes débarrassés du problème.

3
moonhouse