WordPress : Le développement

Actualisé le 21 décembre 2013 -

Voici en quelques lignes les bases du développement sur wordpress :

Un répertoire pour les gouverner tous

Dans wordpress, vous avez une archive de base qui contient quelques fichiers à la racine, puis 3 répertoires : wp-admin, wp-includes, wp-content. Le seul répertoire qui devra vous intéresser durant tous vos développements est le répertoire wp-content de wordpress. Vous n’aurez jamais, et je dis bien jamais à modifier des fichiers en dehors de ce répertoire si ce n’est le .htaccess et le wp-config.php à la racine.

Dans wordpress tout est prévu pour que vous puissiez surcharger la moindre fonctionnalité sans avoir à bidouiller le coeur.

C’est pas la Class

Dans wordpress on peut effectivement surcharger chaque fonctionnalité, mais le système utilise pour cela les hooks et pas de la surcharge de classes. Les hooks sont des points d’accès à différentes partie du code, qui vont vous permettre soit d’ajouter une action à un moment précis de n’importe quelle procédure (add_action), soit de filtrer une sortie avant qu’elle soit récupérée (add_filter).

Par exemple pour envoyer un email de notification à chaque publication d’article, on fait :

La liste des actions et filtres est disponible dans la documentation wordpress, qui est bien étoffée d’ailleurs.

Thème ou plugin ?

Lorsque vous ajoutez une fonctionnalité dans wordpress, vous avez soit la possibilité de l’ajouter dans le thème (functions.php), soit de créer un plugin. Généralement il faut se dire que tout ce qui a vocation à être réutilisé sur d’autres sites, ou qui peut être fait de manière générique doit être dans un plugin. Après par exemple toutes les parties de codes qui vont êtres spécifiques au thème doivent être dans le functions.php.

Pour information le functions.php dans un thème est appelé avant tout le reste de votre thème, et permet d’ajouter des fonctionnalités ou des changements de configuration. Typiquement vous pourrez retrouver dedans la configuration des scripts à charger pour le thème, les types de contenu à rajouter (custom post type), etc…

De manière générale avant de développer quelque chose sur wordpress demandez vous si cela n’existe pas déjà nativement d’une manière ou d’une autre. Dans l’idée il y a tout un tas de fonctions très pratiques pour faire des tests par exemple :

 

Commentaires

Laisser un commentaire