web-dev-qa-db-fra.com

PasswordHash introuvable dans l'espace de noms

Je suis très nouveau dans le développement WordPress et je viens d'un contexte pur OO. Je me familiarise avec l'orientation objet dans PHP/WordPress.

J'ai une classe à entités\membre, qui est chargée via une implémentation d'autoloader. Je suis assez à l'aise avec ces choses et, jusqu'à présent, je n'ai pas vraiment utilisé de fonctions spécifiques à WordPress dans mon code.

Pour les membres, je veux utiliser la fonction de hachage de mot de passe intégrée qui réside dans le fichier pluggable.php, mais pour une raison quelconque, l'autochargeur tente de "rechercher" la fonction PasswordHash en tant que classe, ce qu'elle ne devrait pas faire.

J'ai parcouru les différentes solutions possibles, mais cela semble être une limitation dans WordPress et sa gestion de l'orientation des objets dans PHP 5+?

Comment un "imbécile" peut-il tromper l'autoloader pour ignorer les fonctions WordPress, dans la mesure du possible?

J'ai essayé d'ajouter le require_once (ABSPATH. 'Wp-includes/pluggable.php'); dans la classe Members, même dans la classe functions.php, juste au-dessus de l'autoloader include. Ne pas aller.

1
JadedEric

Merci Vee

try require_once (ABSPATH. 'wp-includes/class-phpass.php'); ça marche pour moi.

Cela a fonctionné pour moi aussi.

Entré sur ce fil il y a environ un mois et n'a trouvé aucune solution, j'ai donc dû restaurer à partir d'une sauvegarde. Le problème est revenu et je suis très heureux de votre contribution.

2
Henrik