Un bon développeur WordPress se démarque d’un développeur lambda grâce à plusieurs éléments :
- la sécurité avant tout (même si cela devrait être l’élément premier de tout bon développeur)
- le respect des normes de codage WordPress
- l’utilisation des hooks
- l’utilisation de la documentation (le codex)
Sécurité
Elle doit être pensée avant, pendant et après le développement !
Avant
L’hébergement du site joue un rôle important car c’est la coquille qui va contenir le site. De ce fait, si celle-ci est fragile, le site sera plus facilement exposé au danger.
Il ne faut pas oublier également l’aide technique que l’hébergeur peut apporter, un support rapide, clair et concis permettra de résoudre rapidement des problèmes éventuels.
Pendant
Lorsqu’on réalise une fonctionnalité il faut maitriser son code du début à la fin. Pour cela, il est nécessaire de faire des contrôles fréquents lors du développement pour s’assurer de manipuler les bons éléments.
Après
Une fois le site en ligne, la maintenance rentre dans la partie et cela se traduit par des mises à jour :
- plugins,
- thèmes,
- WordPress,
ou encore la correction de bugs éventuels.
WordPress évolue et change ce qui signifie que les développements spécifiques doivent être corrigés si besoin afin d’être toujours compatibles avec la dernière version du CMS.
Les normes de codage WordPress
Avant tout, il faut connaitre et respecter les standards de développement WordPress, il en existe en CSS, en HTML, en JavaScript mais ceux qui nous intéressent sont ceux en PHP.
Pour les connaisseurs, c’est la même chose que le PSR (Propose a Standards Recommendation) mais dans notre cas, exclusivement pour WordPress.
Ce sont simplement des règles à suivre pour réaliser un développement à la manière de WordPress.
L’avantage majeur est d’uniformiser les codes sur le CMS afin de permettre à n’importe qui de les comprendre plus facilement.
Les hooks
Ce sont des éléments permettant d’effectuer une action supplémentaire à un instant donné prévu par le CMS.
Il existe deux types de hooks dans WordPress :
- les actions
- les filtres
Les actions
Lors de la construction d’une page, WordPress place des hooks permettant aux développeurs d’ajouter des fonctionnalités à une étape particulière. De ce fait, il est facile d’enrichir les éléments avec nos propres fonctions.
Exemple :
add_action( 'wp_enqueue_scripts', 'whodunit_enqueue_scripts' );
function whodunit_enqueue_scripts() {
wp_register_style( 'main', get_stylesheet_directory_uri() . '/css/main.css', array(), false, 'all' );
wp_enqueue_style( 'main' );
}
Le hook wp_enqueue_scripts sert à insérer des éléments CSS ou JavaScript dans la page.
On lui ajoute notre fonction “whodunit_enqueue_scripts”, qui sera appelée au même moment afin d’ajouter nos propres éléments.
Dans notre cas, lorsque WordPress insérera les scripts CSS et JS, il ajoutera également notre scripts main.css.
Les filtres
Ils permettent de modifier une donnée construite par WordPress avant de l’afficher.
Exemple :
add_filter( 'body_class', 'whodunit_body_class' );
function whodunit_body_class( $classes ) {
$classes[] = 'whodunit';
return $classes;
}
Le hook body_class permet de modifier les classes CSS ajouté dans la balise body.
Dès que WordPress y fera appel, notre fonction sera appelée juste après afin de traiter la donnée et de la renvoyer avec notre modification.
Ici, on ajoute simplement une classe “whodunit” à la suite des autres classes générées par WordPress.
Les filtres se terminent toujours par un return contrairement à l’action.
Conseils
Développer sur WordPress ne change pas votre façon de coder, ce sont uniquement des règles à suivre comme vous le feriez avec d’autres CMS ou frameworks. Il ne faut donc pas prendre peur mais croire en vous et en votre motivation !
N’oubliez pas que tout s’apprend mais qu’il faut être patient 🙂
C’est en forgeant qu’on devient forgeron !
Une fois cette étape passée et en suivant les quelques éléments cités dans cet article vous verrez que développer sur WordPress peut s’avérer très enrichissant et intéressant.
Je terminerai avec la communauté WordPress qui est son plus gros avantage selon moi, elle est présente, active et prête à vous aider alors n’hésitez pas à poser vos questions 😉