Vous êtes-vous déjà demandé comment WordPress fonctionne réellement dans ses coulisses ? Pour la plupart des utilisateurs, il semble simple parce que vous tapez une adresse et qu’une page se charge en seulement quelques secondes, mais il y a beaucoup de choses qui se passent dans les coulisses. Dans ce guide, nous allons vous montrer la façon dont WordPress fonctionne réellement dans les coulisses.
WordPress est un logiciel open source, ce qui signifie que tout le monde peut étudier ses codes ainsi qu’écrire vos propres extensions (plugins) et templates (thèmes).
Apprendre comment fonctionne WordPress et ce qui se passe dans les coulisses peut vous aider à comprendre ce que vous pouvez faire avec. Vous pouvez apprendre d’avantage sur l’amélioration des performances de WordPress et écrire un meilleur code pour vos propres projets.
Ce guide vous accompagnera à travers l’ensemble du processus chronologique étape par étape. Nous commencerons par l’étape lorsqu’un utilisateur demande une page et finirons lorsque cette page est complètement chargée.
Prêt? Commençons.
Le wp-config.php est le fichier de configuration WordPress. Il définit les variables globales pour un site WordPress et contient les informations de votre base de données WordPress. Ce sont les premiers fichiers chargés par WordPress pour des raisons évidentes.
Après chargement du fichier wp-config.php, WordPress se déplacera pour définir des constantes par défaut. Cela inclut des informations par défaut concernant l’emplacement d’upload WordPress, la taille maximale des fichiers et d’autres constantes par défaut définies dans le fichier wp-config.php.
Si le advanced-cache.php existe sur votre site, WordPress le chargera. Ce fichier agit comme un fichier déroulant et il est utilisé par plusieurs plugins et plus particulièrement par les plugins WordPress de mise en cache. Si votre site utilise ce fichier, vous verrez un nouvel élément sur l’écran plugins appelé Drop-ins.
WordPress permet aux développeurs de créer leurs propres couches d’abstraction de base de données et de les charger dans un fichier db.php placé dans le dossier wp-content. Il est couramment utilisé par les plugins WordPress de mise en cache pour améliorer les performances de la base de données. Si votre site possède ce présent fichier alors WordPress va le charger.
WordPress a désormais assez d’informations pour aller plus loin. Il va se connecter au serveur MySQL et sélectionner la base de données.
Si WordPress est incapable de se connecter à la base de données, vous verrez un message «Erreur pour établir une connexion à la base de données» et WordPress va quitter à ce moment là.
Si tout fonctionne bien, il va passer aux étapes suivantes.
WordPress va maintenant rechercher le fichier object-cache.php. S’il n’existe pas, WordPress va opter pour le chargement de wp-includes/cache.php.
Si c’est un réseau multisites, WordPress va rechercher le fichier sunrise.php pour savoir s’il existe dans le dossier wp-content.
WordPress va maintenant charger la bibliothèque l10n.php dans le dossier wp-includes. Ce fichier se charge du système de localisation WordPress et des traductions. Il définit également les paramètres régionaux.
S’il c’est un réseau multisites, WordPress va alors charger les plugins multisites.
Photo
Le recours au muplugins_loaded est maintenant géré par WordPress. Cette action est disponible uniquement pour le réseau des plugins activés sur WordPress multisites.
WordPress va maintenant charger tous les plugins actifs sur le site. Il le fait en regardant dans l’entrée active_plugins dans les options de votre base de données WordPress. Cela permet à WordPress d’ignorer les plugins qui sont installés sur votre site mais qui ne sont pas activés, pour un chargement plus rapide.
Le fichier pluggable.php contient des fonctions qui peuvent être redéfinis par des plugins WordPress. WordPress verra maintenant si les fonctions à l’intérieur de ce fichier sont déjà définies par un autre plug-in. Dans le cas contraire, il définira ces fonctions lui-même.
WordPress va maintenant exécuter l’action « plugins_loaded ». Il permet aux développeurs de faire en sorte que certaines fonctions continuent de marcher après que les plugins actifs aient été chargés.
WordPress va maintenant charger les règles de réécriture. Ces règles de réécriture vont aider WordPress à utiliser des URL favorables au référencement naturel.
A ce stade, WordPress charge les objets suivants:
$wp_query: L’instance globale qui contient la classe WP_Query. Elle transmet à WordPress quel contenu est demandé dans un format de requête WordPress typique.
$wp_rewrite: L’instance globale qui contient la classe WP_Rewrite. Elle contient vos règles de réécriture et les fonctions qui indiquent à WordPress l’URL à utiliser pour afficher le contenu demandé.
$wp: L’instance globale de la classe WP qui contient des fonctions qui analysera votre demande et effectuera la requête principale.
WordPress va maintenant passer à l’exécution de l’action « setup_theme ». Cette action s’exécute avant que votre thème WordPress ne soit chargé.
Le fichier functions.php agit comme un plugin et il est utilisé dans des thèmes WordPress pour ajouter des fonctionnalités spécifiques à thème à votre site Web. Si vous utilisez un thème enfant, WordPress va charger votre fichier du thème enfant functions.php.
Dans le cas contraire, il continuera à charger le fichier functions.php de votre thème actuel actif.
Si vous utilisez un thème enfant, WordPress va alors charger le fichier functions.php de votre thème parent.
Cette action s’exécute après que WordPress mette en place le thème et les fonctions thématiques chargés. C’est la première action à la disposition des thèmes.
À ce stade, WordPress charge l’objet utilisateur courant qui permet à WordPress de gérer la demande conformément au rôle de l’utilisateur et de ses capacités.
WordPress a jusqu’à présent chargé toutes les informations cruciales dont il a besoin. Maintenant, il déclenche l’action « init ».
Cette action permet aux développeurs d’ajouter des codes qui doivent être exécutés après que WordPress ait chargé toutes les informations précédemment mentionnées.
L’action widget_init permet aux développeurs d’enregistrer des widgets et d’exécuter des codes dont ils ont besoin pour fonctionner à ce moment.
WordPress appelle maintenant la fonction wp() qui est située dans le fichier wp-includes/functions.php. Il met en place les requêtes $wp, $wp_query, $ wp_the_query puis appelle $wp-> main.
Maintenant, WordPress a toutes les informations dont il a besoin pour analyser la demande de l’utilisateur. Il commence par vérifier les règles de réécriture pour correspondre à la demande de l’utilisateur.
Puis, il exécute les filtres variables de requête, demande les hook d’action et envoie la demande d’en-tête.
Si aucun contenu ne correspond à la requête alors WordPress définira la variable is_404.
Sinon, WordPress va continuer à charger des variables de la requête.
Il enchainera ensuite avec WP_Query->get_posts ().
WordPress va maintenant exécuter apply_filters pour nettoyer la requête et exécuter certains contrôles finaux.
Maintenant, il va chercher les messages de la base de données et appliquer des posts_results et des posts_filters.
La partie de la requête se termine par WordPress qui retourne les messages.
WordPress va maintenant exécuter l’action template_redirect. Ce hook s’exécute juste avant que WordPress ne détermine le modèle de page à charger.
Si le contenu est un flux RSS, WordPress chargera le modèle de flux.
WordPress va maintenant rechercher le fichier du thème basé sur la hiérarchie des thèmes WordPress. Il charge alors le modèle qui contient habituellement une boucle de WordPress.
Juste avant de terminer toute exécution PHP, WordPress déclenche la dernière action appelée arrêt.
WordPress cesse de fonctionner ici. Il a dirigé le code et la page Web demandée par l’utilisateur a été générée.
Maintenant, votre serveur d’hébergement web répond à la demande de l’utilisateur en leur envoyant la page Web générée par WordPress. Cette page contient du HTML, du CSS et du code JavaScript, qui indique au navigateur de l’utilisateur comment l’afficher sur l’écran.
Toutes ces choses se produisent en quelques fractions de secondes. Si vous utilisez un service d’hébergement spécialisé en WordPress alors votre page se chargera encore plus vite.
Nous espérons que cet article vous a aidé à apprendre comment WordPress fonctionne dans les coulisses, et si vous avez des commentaires, n’hésitez pas à le faire ci-dessous.
ExcellentBasée sur 22 avispierre lenfantAurone est un agence web comme on n'en fait plus ! Très réactive, d'une grande souplesse dans le travail et toujours à la pointe de la technologie, vous pouvez compter sur de vrais pros pour tous vos projets web !Sami Yassine TurkiJ'ai eu un plaisir à travailler, en tant que secrétaire général de l'association Lina Ben Mhenni, avec l'agence AURONE qui a assuré avec beaucoup de professionnalisme le développement de notre site web.Gwladys LavergneRéactifs, attentifs, et très compétents nous sommes ravies de travailler avec Aurone qui sait parfaitement répondre à nos attentes que ce soit en terme de design graphique ou bien dans leurs compétences techniques ! Je recommande vivement leur accompagnement !Perrine AmalAurone est une entreprise humaine, réactive et efficace. Travaux réalisés rapidement et avec célérité. Je recommande vivement et espère poursuivre cette collaboration à l'avenir.Stephanie WillmanNous travaillons avec Aurone dans le cadre de notre travail depuis 2016 et en sommes ravies. Au début nous avons commencer à solliciter leurs services pour un projet en Tunisie, et la qualité de leur travail a fait que nous sollicitons Aurone même pour des services dans d'autres pays. L'équipe est dynamique, créative, réactive et enthousiaste. Ils ont toujours bien compris nos besoins pour nos diverses et complexes présences web, et font de leur mieux pour y répondre. Plateformes web, ateliers de formation sur les plateformes, vidéos tutoriels, et conception graphique de divers produits ne sont que quelques uns des excellentes services fournies par Aurone. La qualité technique des prestations web sont top et nous recevons toujours de bons conseils que ce soit au niveau technique que graphique. Nous les recommandons fortement.Raphaël GianassoPour vos projets e-commerce et marketing digital, les collaborateurs d'Aurone font preuve d'écoute, d'expérience, de disponibilité et de réactivité. Une équipe sur laquelle on peut compter et pour laquelle la satisfaction du client est primordialeSamuel DechometsJ'ai trouvé chez Aurone tout ce que l'on peut attendre d'une bonne agence web : qualité, réactivité, souplesse, pertinence... Bravo et merciKarim DjebbarL'ensemble de notre réseau a travaillé pendant plusieurs années avec l'agence Aurone. Quelques réglages ont été nécessaires au début de notre partenariat à l'époque. La qualité a rapidement été au rendez-vous. Les équipes ont travaillé de façon très professionnelle, et adaptée aux exigences de la clientèle française avec qui nous les avons rapidement mis en relation. Beaucoup d'agilité de la part de son fondateur. Merci pour ces belles années !
27 Avenue Taieb Mhiri
Immeuble Yasmina, bureau 17
2080 Ariana, Tunis, Tunisie
+216 22 774 450
Centre d'affaires TODA 2
Rue du Rhin Napoléon
67100 Strasbourg, France
+33 9 80 80 10 18
Rue du Port Franc, 2A
1003 Lausanne
Suisse
Avenue Mutsaard, 41
1020 Bruxelles
Belgique
+32 2 588 07 54