web-dev-qa-db-fra.com

Est-ce que $ current_user ne sera plus global?

Je viens juste de jeter un coup d'œil sur les variables globales dans WP et j'ai découvert que beaucoup de choses avaient changé depuis ma dernière recherche.

$current_user n'est plus dans la liste. Est-ce que cela signifie que cela et de nombreux autres (anciens) globaux seront "supprimés" des futures versionsWP?

1
Steven

Le $current_user est toujours un global valide. Toutefois, comme pour tous les globaux, vous devez éviter de les utiliser.

Si vous avez besoin de l'utilisateur actuel dans une fonction, procédez comme suit:

$current_user = wp_get_current_user();

Sachez également que cela peut renvoyer la valeur false si aucun utilisateur n'est connecté à la demande en cours, alors que l'utilisateur global $ current_user peut simplement être une instance non valide de WP_User (avec un ID égal à zéro). Ceci est une compatibilité ascendante, et une excellente raison de ne pas compter sur les globals.

6
Otto

Quand il neige en enfer.

WordPress a une compatibilité ascendante extrême . Il est très peu probable qu'une variable globale soit simplement supprimée, sans préavis et son statut est déconseillé pendant littéralement des années.

Cependant, ce n’est pas une excuse pour des pratiques de code bâclées et vraiment tout ce qui peut être accédé via des fonctions d’API appropriées (plutôt que des globales), devrait être à tout moment possible .

PS Je ne me fierais pas trop au Codex comme indicateur de l'état de la base de code. Quand vous vous interrogez sur le code - regardez le code.

1
Rarst