web-dev-qa-db-fra.com

Quel est le point d'entrée d'un thème WordPress?

Lorsque WordPress est en cours de chargement et que le thème est analysé, quel fichier est chargé en premier? Est-ce l'un des membres de la hiérarchie de modèles ou est-ce que functions.php? Existe-t-il des exceptions à l'ordre de chargement des fichiers dans le thème? Savez-vous où cela se produit dans les fichiers de base (code source)?

Au cours de mon "enquête", je me suis connecté avec une erreur chaque FICHIER dans le dossier du thème et il semble que le point d'entrée soit functions.php.

Question bonus:

Je souhaite vérifier l'authentification et les privilèges des utilisateurs en un seul endroit et non pas dans les différents membres de la hiérarchie des modèles. Avez-vous un exemple de solution POO structurée pour cela dans un plugin ou un thème WordPress public?

Le functions.php du thème actif est le premier fichier de thème chargé, dans le fichier wp-settings.php. Tous les autres fichiers de thème sont chargés en fonction du contexte de la demande, ce qui se produit très tard dans le processus de chargement, une fois l'utilisateur authentifié, la demande analysée et la requête exécutée. Les modèles sont destinés à l'affichage, rien n'appartient à un modèle qui n'est pas lié à l'affichage frontal.

La plupart des opérations d’authentification ont lieu dans pluggable.php, ce qui vous permet de remplacer les fonctions d’authentification. C’est probablement là que vous souhaitez rechercher si vous souhaitez personnaliser le processus d’authentification. La fonction wp_get_current_user est déclenchée à partir de la classe wp pour lancer le processus. Ce processus contient également quelques actions qui vous permettent d’exécuter votre propre code et de court-circuiter le processus. Elles constituent un moyen beaucoup plus simple et plus sûr d’effectuer vos propres tâches d’authentification au lieu de remplacer complètement les fonctions enfichables.

Je suggère de vous familiariser avec l'action Action Reference pour voir l'ordre dans lequel les choses se passent dans le processus de chargement. Presque tout ce que vous faites dans WordPress sera lié à une action à exécuter à une heure précise. Je suggère également de mettre votre code dans un plugin ou un plug-in indispensable si vous souhaitez qu'il soit présent quel que soit le thème sélectionné.

En ce qui concerne la question sur les bonus, je ne peux en penser à personne, peut-être que je penserai à quelque chose plus tard ...

3
Milo