Transcript
Page 1: Comment se charge WordPress ? Le loading du core

Comment se charge WordPress ?

Le loading du core

Julio Potierboiteaweb.fr@boiteaweb

WPTech Nantes 2014

Page 2: Comment se charge WordPress ? Le loading du core

Bootstraps

Page 3: Comment se charge WordPress ? Le loading du core

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

Page 4: Comment se charge WordPress ? Le loading du core

Bootstraps

wp-config.php

● Déprécié, ne le faites plus.

Page 5: Comment se charge WordPress ? Le loading du core

Bootstraps

index.php

● Pour le front-end.

● Le plus utilisé.

● Rien à faire niveau code.

● Destiné à ceux qui ont besoin d’un

WordPress complet.

Page 6: Comment se charge WordPress ? Le loading du core

Bootstraps

xmlrpc.php

● Protocole XML-RPC

● Permet de contrôler WP.

● Utilisé par exemple pour les pings.

● Sera remplacé par JSON REST API.

Page 7: Comment se charge WordPress ? Le loading du core

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.

Page 8: Comment se charge WordPress ? Le loading du core

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

Page 9: Comment se charge WordPress ? Le loading du core

Bootstraps

wp-admin/index.php

● Pour le back-end.

● Utilisé par WordPress.

● Rien à faire niveau code.

Page 10: Comment se charge WordPress ? Le loading du core

Bootstraps

admin-post.php

● Utilisé par WordPress.

● À utiliser pour lancer des requêtes non

AJAX.

● Ne faites pas votre propre bootstrap !

#hooks

Page 11: Comment se charge WordPress ? Le loading du core

Bootstraps

admin-ajax.php

● Utilisé par WordPress.

● À utiliser pour lancer des requêtes

AJAX.

● Ne faites pas votre propre bootstrap !

#hooks

Page 12: Comment se charge WordPress ? Le loading du core

Bootstraps

Page 13: Comment se charge WordPress ? Le loading du core

Comment bootstrapper ?

Page 14: Comment se charge WordPress ? Le loading du core

Comment bootstrapper ?

Pour créer une application ou utiliser

WordPress en tant que framework seul :

Dans un fichier à la racine de l'installation.

Page 15: Comment se charge WordPress ? Le loading du core

Comment bootstrapper ?

Besoin du core depuis un thème ou un

plugin perso :

>_<' Attention aux chemins modifiés via

la constante "WP_PLUGIN_DIR" !

Page 16: Comment se charge WordPress ? Le loading du core

Comment bootstrapper ?

Besoin du core depuis un thème ou un

plugin perso :

Page 17: Comment se charge WordPress ? Le loading du core

Le chargement

Page 18: Comment se charge WordPress ? Le loading du core

Le chargement

Qu'est-ce qui est chargé ?

Des fichiers

Des hooks

Page 19: Comment se charge WordPress ? Le loading du core

Le chargement

http://www.rarst.net/images/wordpress_core_load.png

Page 20: Comment se charge WordPress ? Le loading du core

http://www.rarst.net/images/wordpress_core_load.png

Page 21: Comment se charge WordPress ? Le loading du core

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.

Page 22: Comment se charge WordPress ? Le loading du core

Le chargement

muplugins

/wp-content/mu-plugins/

Toujours chargés dans l'ordre alphabétique !

Page 23: Comment se charge WordPress ? Le loading du core

Le chargement

pluggable.php

Possibilité de créer conditionnellement

certaines fonctions avant que le core de

WordPress ne s'en occupe.

Page 24: Comment se charge WordPress ? Le loading du core

Le chargement

functions.php

Thème enfant

Thème parent

Attention aux fonctions déjà déclarées !

Page 25: Comment se charge WordPress ? Le loading du core

Le chargement

$current_user

Page 26: Comment se charge WordPress ? Le loading du core

Le chargement

template_redirect

Page 27: Comment se charge WordPress ? Le loading du core

Le chargement admin-ajax.php

Page 28: Comment se charge WordPress ? Le loading du core

Le chargement admin-post.php

Page 29: Comment se charge WordPress ? Le loading du core

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.

Page 30: Comment se charge WordPress ? Le loading du core

Démos

Page 31: Comment se charge WordPress ? Le loading du core

Démos

Page 32: Comment se charge WordPress ? Le loading du core

Démos

Ce code est impossible !

Attention à l'ordre de déclenchement des

hooks, actions ou filtres !

Page 33: Comment se charge WordPress ? Le loading du core

http://www.rarst.net/images/wordpress_core_load.png

1

2

Page 34: Comment se charge WordPress ? Le loading du core

Démos

Ce code est impossible !Tout doit être hooké !

Exception pour les defines et globales.

Page 35: Comment se charge WordPress ? Le loading du core

Où trouver ?

Page 36: Comment se charge WordPress ? Le loading du core

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

Page 37: Comment se charge WordPress ? Le loading du core

Merci !Julio Potier

wp-rocket.me@wp_rocket

WPTech Nantes 2014


Top Related