WordPress – cannot redeclare wp_get_user_request_data()

By | 1 mai 2020 |

Lors de la dernière mise à jour de mon site, j’ai été confronté au message d’erreur cannot redeclare wp_get_user_request_data().
J’ai donc décidé de vous faire partager comment j’ai réglé ce problème sur mon site.

Veuillez noter que cela n’empêchait pas le site de fonctionner, j’ai seulement constaté que l’accès à la partie administration n’était plus possible après la tentative de mise à jour via WP-cli.

cannot redeclare wp_get_user_request_data()
Message d’erreur – cannot redeclare wp_get_user_request_data()

Si l’on s’attarde un peu sur ce message, on y retrouve toutes les informations pour le régler.
On reçoit ce message parce que cette function « wp_get_user_request_data() » est déclarée deux fois, dans les fichiers suivants:

  • wp-admin/includes/deprecated.php (ligne 1581)
  • wp-includes/deprecated.php (ligne 3964)

Ce message est apparu suite à une tentative de mise à jour automatique qui a échoué. C’est alors que j’ai tenté la mise à jour avec l’outil de commande wp-cli et que les choses ont empirées…

Après la tentative de mise à jour avec WP-cli, l’accès à la partie admin n’était plus possible..
Vous pouvez retrouver plus d’information sur l’utilisation de l’outil de commande wp-cli en suivant ce lien.

Mes premières recherches sur la toile avec ce message d’erreur suggérais de procéder à la mise à jour manuelle de WordPress.
Comme expliqué par exemple en suivant ce lien.

Pour ma part avant de me lancer dans la mise à jour manuelle de mon site, comme je n’avais pas grand chose à perdre je me suis contenté de commenter l’une des deux fonctions.
J’ai donc commenté la fonction qui est appelée à la ligne 1581 du fichier ‘wp-admin/includes/deprecated.php‘.
Une fois la fonction commentée,

  • le site fonctionne correctement
  • l’accès à la section admin est corrigé
  • les mises à jour avec la ligne de commande wp-cli fonctionne correctement.

2 thoughts on “WordPress – cannot redeclare wp_get_user_request_data()

  1. Thomas Dufranne

    Merci pour le partage de votre solution.
    Cependant, celle-ci sera temporaire, car dès la prochaine mise à jour, le fichier que vous avez modifié risque d’être modifié et donc décommentée non ?
    J’ai toujours entendu qu’il ne fallait pas modifier les fichiers du core de WordPress…

    Reply
    1. SebastienMa Post author

      Merci pour ton commentaire,
      Oui, en effet, c’est une solution temporaire dont l’objectif premier est de permettre l’accès à la zone d’administration sans devoir réinstaller complètement WordPress ce que mes premières recherches sur Google suggéraient.

      Et le cas échéant relancer une mise à jour à partir de l’administration.
      Maintenant, si l’on regarde sur le repo de WordPress, la partie de code que j’ai commenté n’est même pas présente, donc je pourrais complètement la supprimer
      https://github.com/WordPress/WordPress/blob/5.4.2/wp-admin/includes/deprecated.php

      Reply

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.