Essayez-vous d’apporter des modifications à votre site Web WordPress ? HTML et CSS ne peuvent aller plus loin.
Si vous devez apporter des modifications au comportement de WordPress et que vous ne trouvez pas de thème ou de plugin qui fait ce que vous voulez, les crochets WordPress peuvent être la réponse que vous recherchez.
Comprendre les hooks est une étape essentielle pour apprendre à modifier ou créer des plugins et des thèmes. Mais si vous essayez de rechercher des réponses sur ce que sont exactement les crochets et comment ils fonctionnent, il y a de fortes chances que vous trouviez principalement des articles techniques écrits pour les développeurs.
Et si vous êtes débutant ou si vous ne savez pas coder et que vous voulez comprendre les hooks ?
Cet article expliquera les crochets WordPress pour les débutants et vous apprendra comment vous pouvez les utiliser pour modifier en toute confiance votre propre site WordPress.
Presque tout dans WordPress fonctionne avec des crochets, donc une fois que vous avez compris ce concept, vous pouvez pratiquement tout modifier.
Que sont les crochets WordPress ?
Imaginez votre site WordPress comme un collage géant de médias mixtes sur un mur. Mélangé à des éclaboussures de peinture, des cartes de vœux recyclées et des coupures de magazines (leur thème, leurs modules complémentaires et leur contenu) se trouvent quelques crochets.
Ces crochets sont là pour que vous puissiez ajouter votre propre illustration au collage, en le personnalisant comme vous le souhaitez.
Les hooks WordPress fonctionnent ainsi, vous permettant de « accrocher » votre propre code à certains endroits.
Vous pouvez également considérer les crochets comme des déclencheurs. Selon le hook spécifique que vous utilisez, votre code se déclenchera dans certaines zones.
Voici comment le codex WordPress décrit les hooks :
« WordPress fournit les crochets pour permettre à votre plugin de « s’accrocher » au reste de WordPress ; c’est-à-dire d’appeler des fonctions dans votre plugin à des moments précis et ainsi mettre votre plugin en mouvement.”
Il existe deux types de crochets : comportement et filtres.
Une métaphore du crochet d’action WordPress
Les crochets d’action définissent des fonctions personnalisées à déclencher sur des événements WordPress spécifiques.
Disons que vous attendez qu’un colis important arrive chez vous samedi, mais que vous avez des courses à faire et que vous êtes impatient de signer chez vous. Alors vous allez voir votre voisine, Sara, et lui demandez de signer votre colis à son arrivée.
Si votre requête était un hook WordPress, cela ressemblerait à ceci :
function sign_for_package( $sara_is_home ) {
if ( $sara_is_home ) {
echo 'I’ll sign for that package!';
}
}
add_action( 'when_package_arrives' , 'sign_for_package', 10 , 1 );
Dans l’exemple ci-dessus, le code attend l’arrivée du colis puis envoie Sara le signer (si elle est à la maison !).
Quels sont les nombres 10 et 1 ?
Le premier chiffre définit la priorité de la fonction : faut-il le faire avant ou après d’autres fonctions ? La valeur par défaut est 10, nous allons donc en rester là. La plupart du temps, cela ne fera aucune différence.
Le deuxième nombre est le nombre d’arguments ou de variables dans la fonction. Nous n’utilisons que la variable $ sara_is_home, elle est donc définie sur 1.
Une métaphore pour le crochet de filtre WordPress
Les liaisons de filtre sont des fonctions qui modifient ou filtrent les données, juste avant d’agir sur ces données.
Disons que Sara accepte de signer votre colis, si vous acceptez de calmer votre chien la prochaine fois qu’il se mettra à aboyer trop fort.
Nous pouvons créer un crochet de filtre pour votre demande :
function quiet_down($dog) {
$dog = str_replace ( "bark" , "silence" , $dog );
return $dog;
}
add_filter( dog_barking' , 'quiet_down');
Avec ce filtre, le déclencheur est l’aboiement du chien. Lorsque cela se produit, chaque aboiement est remplacé par le silence.
Ceci est un filtre, pas une action, car nous modifions quelque chose qui existe déjà (aboyer dans le silence), plutôt que d’ajouter quelque chose de nouveau.
Un exemple utile et concret
« Donc », pensez-vous peut-être, « j’aimerais vraiment pouvoir empêcher les chiens de mon voisin d’aboyer avec un filtre WordPress, mais je ne peux pas. Quelles sont les utilisations pratiques des actions et des filtres ? “
Ajoutez du contenu après chaque publication, même sur RSS
Supposons que vous souhaitiez ajouter automatiquement du contenu après chaque publication.
Vous pouvez le faire en modifiant votre fichier modèle single.php ou en utilisant une zone de widget post-publication. Mais avec aucune de ces méthodes, votre nouveau contenu n’apparaîtra pas dans votre flux RSS.
Pour modifier le contenu à afficher dans votre flux RSS, vous pouvez utiliser un filtre :
function after_post_content($content) {
if(!is_feed() && !is_home()) {
$content.= 'Like this post?
';
$content.= '
';
}
return $content;
}
add_filter ('the_content', 'after_post_content');
Il s’agit d’un filtre, pas d’une action, car vous modifiez le contenu de votre message, sans ajouter une toute nouvelle fonction.
Des hooks WordPress peuvent être ajoutés à la fin de votre fichier functions.php dans votre répertoire de thème actuel. Vous pouvez également les utiliser pour créer vos propres plugins. Assurez-vous de sauvegarder votre site avant d’apporter des modifications.
Quelques choses à garder à l’esprit
Passez en revue les normes de codage PHP pour WordPress
Avant de commencer à créer vos propres actions et filtres, jetez un œil aux normes de codage PHP pour WordPress.
WordPress est un projet collaboratif, et ses fonctions interagiront non seulement avec le noyau WordPress mais également avec d’autres thèmes et plugins. Aidez tout le monde à s’entendre et à bien jouer ensemble si nous utilisons tous le code de manière cohérente.
Utiliser un nom unique pour les fonctions
Lors de la création de vos propres fonctions de liaison, veillez à utiliser un nom unique. Si vous utilisez un nom de fonction déjà utilisé quelque part sur votre site, tout votre site pourrait s’arrêter.
La pratique standard pour cela est d’utiliser un préfixe qui correspond au nom de votre thème ou plugin. Par exemple, si vous créez un plugin appelé Awesome WordPress Plugin, vous pouvez préfixer toutes ses fonctions avec awp_.
Utilisez beaucoup de commentaires
Les commentaires sont utiles non seulement aux autres personnes qui consultent votre code, mais aussi à vous. Vous devrez peut-être revenir en arrière et modifier votre code des mois ou des années plus tard, et oublier exactement ce que vous avez fait. Les commentaires facilitent également la lecture et la compréhension rapide du code. Pour vous épargner du temps et des maux de tête, utilisez des commentaires pour expliquer ce qui se passe avec votre code, même si cela vous semble désormais évident.
conclusion
WordPress est facile à modifier avec les bons thèmes ou plugins, mais parfois vous souhaitez effectuer un changement unique pour lequel vous ne trouvez pas de thème ou de plugin. En apprenant comment fonctionnent les hooks WordPress, vous comprendrez mieux WordPress dans son ensemble.
