Comment se charge WordPress ? Le loading du core.

B
Comment se charge 
WordPress ? 
Le loading du core 
Julio Potier 
boiteaweb.fr 
@boiteaweb 
WPTech Nantes 2014
Bootstraps
Bootstraps 
wp-config.php 
index.php 
xmlrpc.php 
wp-blog-header.php 
wp-load.php 
wp-admin/index.php 
wp-admin/admin-post.php 
wp-admin/admin-ajax.php
Bootstraps 
wp-config.php 
● Déprécié, ne le faites plus.
Bootstraps 
index.php 
● Pour le front-end. 
● Le plus utilisé. 
● Rien à faire niveau code. 
● Destiné à ceux qui ont besoin d’un 
WordPress complet.
Bootstraps 
xmlrpc.php 
● Protocole XML-RPC 
● Permet de contrôler WP. 
● Utilisé par exemple pour les pings. 
● Sera remplacé par JSON REST API.
Bootstraps 
wp-blog-header.php 
● Pas de template chargé. 
● Constante "WP_USE_THEMES" non 
définie. 
● Vous chargez les plugins, la main 
query et toutes les APIs.
Bootstraps 
wp-load.php 
● Chargez toutes les APIs et les plugins. 
● Pas de thèmes, pas de main query. 
● Constante "SHORTINIT" possible : Pas 
toutes les APIs, pas de plugins, pas de 
traductions, pas de users, pas de front, 
etc
Bootstraps 
wp-admin/index.php 
● Pour le back-end. 
● Utilisé par WordPress. 
● Rien à faire niveau code.
Bootstraps 
admin-post.php 
● Utilisé par WordPress. 
● À utiliser pour lancer des requêtes non 
AJAX. 
● Ne faites pas votre propre bootstrap ! 
#hooks
Bootstraps 
admin-ajax.php 
● Utilisé par WordPress. 
● À utiliser pour lancer des requêtes 
AJAX. 
● Ne faites pas votre propre bootstrap ! 
#hooks
Bootstraps
Comment 
bootstrapper ?
Comment bootstrapper ? 
Pour créer une application ou utiliser 
WordPress en tant que framework seul : 
Dans un fichier à la racine de l'installation.
Comment bootstrapper ? 
Besoin du core depuis un thème ou un 
plugin perso : 
>_<' Attention aux chemins modifiés via 
la constante "WP_PLUGIN_DIR" !
Comment bootstrapper ? 
Besoin du core depuis un thème ou un 
plugin perso :
Le chargement
Le chargement 
Qu'est-ce qui est chargé ? 
Des fichiers 
Des hooks
Le chargement 
http://www.rarst.net/images/wordpress_core_load.png
http://www.rarst.net/images/wordpress_core_load.png
Le chargement 
wp-load.php 
Se charge d'inclure wp-config.php 
et wp-includes/load.php 
qui lui-même s'occupe de charger 
les options de votre site.
Le chargement 
muplugins 
/wp-content/mu-plugins/ 
Toujours chargés dans l'ordre alphabétique !
Le chargement 
pluggable.php 
Possibilité de créer conditionnellement 
certaines fonctions avant que le core de 
WordPress ne s'en occupe.
Le chargement 
functions.php 
Thème enfant 
Thème parent 
Attention aux fonctions déjà déclarées !
Le chargement 
$current_user
Le chargement 
template_redirect
Le chargement 
admin-ajax.php
Le chargement 
admin-post.php
Le chargement 
Des hooks 
● muplugins_loaded : 1er hook possible. 
● { vos plugins } : Ceux de leur auteur. 
● plugins_loaded : Vos plugins sont chargés. 
● after_setup_theme : Votre thème l'est aussi. 
● init : WordPress est initialisé. 
● admin_init : Le back-end l'est. 
● pre_get_posts : Possibilité de hacker les requêtes. 
● template_redirect : Dernier hook pour rediriger. 
● { votre thème } : Certains hooks restent obligatoires. 
● shutdown : Dernier hook, géré via PHP.
Démos
Démos
Démos 
Ce code est impossible ! 
Attention à l'ordre de déclenchement des 
hooks, actions ou filtres !
http://www.rarst.net/images/wordpress_core_load.png 
2 
1
Démos 
Ce code est impossible ! 
Tout doit être hooké ! 
Exception pour les defines et globales.
Où trouver ?
Où trouver ? 
Dans le core ! Encore et encore ! 
... et un peu le codex aussi ... 
http://codex.wordpress.org/Plugin_API/Action_Reference 
http://codex.wordpress.org/Plugin_API/Filter_Reference 
http://www.rarst.net/images/wordpress_core_load.png
Merci ! 
Julio Potier 
wp-rocket.me 
@wp_rocket 
WPTech Nantes 2014
1 of 37

Recommended

Comment créer des hooks dans vos développements WordPress - WP Tech 2015 by
Comment créer des hooks dans vos développements WordPress - WP Tech 2015Comment créer des hooks dans vos développements WordPress - WP Tech 2015
Comment créer des hooks dans vos développements WordPress - WP Tech 2015Boiteaweb
9K views27 slides
Comprendre et optimiser la base de données WordPress by
Comprendre et optimiser la base de données WordPressComprendre et optimiser la base de données WordPress
Comprendre et optimiser la base de données WordPressTony Archambeau
15.9K views30 slides
Enrichir vos contenus Wordpress avec les API - WPTech 2015 by
Enrichir vos contenus Wordpress avec les API - WPTech 2015Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015PXNetwork
9.4K views15 slides
10 façons de casser son site WordPress ... et de le réparer ! by
10 façons de casser son site WordPress ... et de le réparer !10 façons de casser son site WordPress ... et de le réparer !
10 façons de casser son site WordPress ... et de le réparer !Boiteaweb
22.5K views45 slides
Migrer les données de n'importe quel CMS vers WordPress by
 Migrer les données de n'importe quel CMS vers WordPress Migrer les données de n'importe quel CMS vers WordPress
Migrer les données de n'importe quel CMS vers WordPressTony Archambeau
5.9K views36 slides
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie... by
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...pierredargham
2.7K views38 slides

More Related Content

What's hot

Création de themes WordPress by
Création de themes WordPressCréation de themes WordPress
Création de themes WordPressChi Nacim
4.9K views82 slides
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013 by
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Ghilas BELHADJ
3.2K views82 slides
Wordpress et la sécurité des plugins by
Wordpress et la sécurité des pluginsWordpress et la sécurité des plugins
Wordpress et la sécurité des pluginsBoiteaweb
5.7K views17 slides
Wordpress : Attaque, Audit et Protection | Hackfest 2015 by
Wordpress : Attaque, Audit et Protection | Hackfest 2015Wordpress : Attaque, Audit et Protection | Hackfest 2015
Wordpress : Attaque, Audit et Protection | Hackfest 2015Harvey Francois
4.6K views71 slides
Les données transitoires (transients) vous veulent du bien by
Les données transitoires (transients) vous veulent du bienLes données transitoires (transients) vous veulent du bien
Les données transitoires (transients) vous veulent du bienBoiteaweb
6.7K views66 slides
Conversion de template HTML en thème WordPress by
Conversion de template HTML en thème WordPressConversion de template HTML en thème WordPress
Conversion de template HTML en thème WordPressChi Nacim
14.9K views24 slides

What's hot(20)

Création de themes WordPress by Chi Nacim
Création de themes WordPressCréation de themes WordPress
Création de themes WordPress
Chi Nacim4.9K views
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013 by Ghilas BELHADJ
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Ghilas BELHADJ3.2K views
Wordpress et la sécurité des plugins by Boiteaweb
Wordpress et la sécurité des pluginsWordpress et la sécurité des plugins
Wordpress et la sécurité des plugins
Boiteaweb5.7K views
Wordpress : Attaque, Audit et Protection | Hackfest 2015 by Harvey Francois
Wordpress : Attaque, Audit et Protection | Hackfest 2015Wordpress : Attaque, Audit et Protection | Hackfest 2015
Wordpress : Attaque, Audit et Protection | Hackfest 2015
Harvey Francois4.6K views
Les données transitoires (transients) vous veulent du bien by Boiteaweb
Les données transitoires (transients) vous veulent du bienLes données transitoires (transients) vous veulent du bien
Les données transitoires (transients) vous veulent du bien
Boiteaweb6.7K views
Conversion de template HTML en thème WordPress by Chi Nacim
Conversion de template HTML en thème WordPressConversion de template HTML en thème WordPress
Conversion de template HTML en thème WordPress
Chi Nacim14.9K views
Les 10 Erreurs des Debutants avec WordPress by Nicolas Richer
Les 10 Erreurs des Debutants avec WordPressLes 10 Erreurs des Debutants avec WordPress
Les 10 Erreurs des Debutants avec WordPress
Nicolas Richer5.4K views
Migration de données… Destination WordPress ! by Willy Bahuaud
Migration de données… Destination WordPress !Migration de données… Destination WordPress !
Migration de données… Destination WordPress !
Willy Bahuaud5.1K views
Ouvrir vos plugins aux autres développeurs - WPTech Nantes by corsonr
Ouvrir vos plugins aux autres développeurs - WPTech NantesOuvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
corsonr8.5K views
Sécuriser un site Wordpress by bestyuna
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpress
bestyuna949 views
Développement d’extensions WordPress by Chi Nacim
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
Chi Nacim1.5K views
Application web php5 html5 css3 bootstrap by Bassem ABCHA
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
Bassem ABCHA4.6K views
Beautiful CSS : Structurer, documenter, maintenir by Yves Van Goethem
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
Yves Van Goethem1.9K views
WordPress + ACF – Vers l’infini et au-delà… by Brice Capobianco
WordPress + ACF – Vers l’infini et au-delà…WordPress + ACF – Vers l’infini et au-delà…
WordPress + ACF – Vers l’infini et au-delà…
Brice Capobianco612 views
Vue, j’avais pas vu ! by Bruno Bonnin
Vue, j’avais pas vu !Vue, j’avais pas vu !
Vue, j’avais pas vu !
Bruno Bonnin1.3K views
Cours php & Mysql - 1ére partie by kadzaki
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki5.2K views
Vue.js, même un dev java peut en faire ! by Bruno Bonnin
Vue.js, même un dev java peut en faire !Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !
Bruno Bonnin1.1K views
Sécuriser un site WordPress - Semaine du web by IZZA Samir
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
IZZA Samir1.5K views
Formation PHP avancé - Cake PHP by kemenaran
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
kemenaran14.7K views

Similar to Comment se charge WordPress ? Le loading du core.

Aperçu de RequireJS by
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJSVISEO
2.5K views14 slides
On test quoi - DCLannion 2017 by
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017Artusamak
200 views38 slides
Memcached, une solution de cache par excellence by
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMehdi Mehni
2.3K views10 slides
Tp1 wp etud by
Tp1 wp etudTp1 wp etud
Tp1 wp etudkorantin45390
1.2K views19 slides
WP CLI : le couteau suisse du développeur by
WP CLI : le couteau suisse du développeurWP CLI : le couteau suisse du développeur
WP CLI : le couteau suisse du développeurbenjamingossetpro
562 views30 slides
Utilisation optimale et professionnelle de PHP by
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
1.9K views28 slides

Similar to Comment se charge WordPress ? Le loading du core.(20)

Aperçu de RequireJS by VISEO
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJS
VISEO2.5K views
On test quoi - DCLannion 2017 by Artusamak
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
Artusamak200 views
Memcached, une solution de cache par excellence by Mehdi Mehni
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellence
Mehdi Mehni2.3K views
WP CLI : le couteau suisse du développeur by benjamingossetpro
WP CLI : le couteau suisse du développeurWP CLI : le couteau suisse du développeur
WP CLI : le couteau suisse du développeur
benjamingossetpro562 views
Utilisation optimale et professionnelle de PHP by Jean-Marc Fontaine
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
Jean-Marc Fontaine1.9K views
Spring Boot & Containers - Do's & Don'ts by Julien Wittouck
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
Julien Wittouck201 views
Optimiser WordPress by Chi Nacim
Optimiser WordPressOptimiser WordPress
Optimiser WordPress
Chi Nacim1.3K views
Sécurité WordPress by Chi Nacim
Sécurité WordPressSécurité WordPress
Sécurité WordPress
Chi Nacim1.6K views
Cours Php by hamalaadm
Cours PhpCours Php
Cours Php
hamalaadm911 views
Cours Php by hamalaadm
Cours PhpCours Php
Cours Php
hamalaadm709 views
08 01 mise en place d'un serveur web by Noël
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
Noël 1.2K views
Sécuriser un site WordPress - Semaine du web by Nour El Houda
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
Nour El Houda1.7K views
Autour de Node.js - TechConf#3 by Luc Juggery
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
Luc Juggery1K views
2014.12.11 - TECH CONF #3 - Présentation Node.js by TelecomValley
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
TelecomValley1.1K views
PHP 5.3, PHP Next by SQLI
PHP 5.3, PHP NextPHP 5.3, PHP Next
PHP 5.3, PHP Next
SQLI2.8K views
[FR] Les requêtes HTTP de l'extrême by OVHcloud
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
OVHcloud1.6K views

More from Boiteaweb

Couleurs & Accessibilité — BlendWebMix 2017 by
Couleurs & Accessibilité — BlendWebMix 2017Couleurs & Accessibilité — BlendWebMix 2017
Couleurs & Accessibilité — BlendWebMix 2017Boiteaweb
1.9K views28 slides
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017 by
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017Boiteaweb
4.9K views28 slides
Transients are good for you - WordCamp London 2016 by
Transients are good for you - WordCamp London 2016Transients are good for you - WordCamp London 2016
Transients are good for you - WordCamp London 2016Boiteaweb
2.3K views49 slides
WordPress & les contributions — WordCamp Paris 2016 by
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016Boiteaweb
2.5K views50 slides
Freelance & WordPress (WordCamp Paris 2015) by
Freelance & WordPress (WordCamp Paris 2015)Freelance & WordPress (WordCamp Paris 2015)
Freelance & WordPress (WordCamp Paris 2015)Boiteaweb
5.7K views22 slides
Colours and Accessibility (a11y) - WordCamp Europe 2014 Sofia by
Colours and Accessibility (a11y) - WordCamp Europe 2014 SofiaColours and Accessibility (a11y) - WordCamp Europe 2014 Sofia
Colours and Accessibility (a11y) - WordCamp Europe 2014 SofiaBoiteaweb
1.7K views30 slides

More from Boiteaweb(7)

Couleurs & Accessibilité — BlendWebMix 2017 by Boiteaweb
Couleurs & Accessibilité — BlendWebMix 2017Couleurs & Accessibilité — BlendWebMix 2017
Couleurs & Accessibilité — BlendWebMix 2017
Boiteaweb1.9K views
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017 by Boiteaweb
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017
Mise à jour sur la sécurité WordPress – WordCamp Bordeaux 2017
Boiteaweb4.9K views
Transients are good for you - WordCamp London 2016 by Boiteaweb
Transients are good for you - WordCamp London 2016Transients are good for you - WordCamp London 2016
Transients are good for you - WordCamp London 2016
Boiteaweb2.3K views
WordPress & les contributions — WordCamp Paris 2016 by Boiteaweb
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016
Boiteaweb2.5K views
Freelance & WordPress (WordCamp Paris 2015) by Boiteaweb
Freelance & WordPress (WordCamp Paris 2015)Freelance & WordPress (WordCamp Paris 2015)
Freelance & WordPress (WordCamp Paris 2015)
Boiteaweb5.7K views
Colours and Accessibility (a11y) - WordCamp Europe 2014 Sofia by Boiteaweb
Colours and Accessibility (a11y) - WordCamp Europe 2014 SofiaColours and Accessibility (a11y) - WordCamp Europe 2014 Sofia
Colours and Accessibility (a11y) - WordCamp Europe 2014 Sofia
Boiteaweb1.7K views
Choisir les bons Hooks dans vos Développements WordPress by Boiteaweb
Choisir les bons Hooks dans vos Développements WordPressChoisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPress
Boiteaweb5.1K views

Comment se charge WordPress ? Le loading du core.