Que sont les hooks WordPress ? Comment les actions et les filtres aident-ils à étendre la fonctionnalité ?

Publié: 2018-06-13
WordPress Hooks | LearnWoo

Dernière mise à jour - 9 octobre 2020

Si vous avez déjà travaillé sur WordPress, vous devez avoir rencontré le mot « Hook » à de nombreuses reprises. Si vous êtes un développeur WordPress qui souhaite créer des plugins et des thèmes, les hooks WordPress sont cruciaux pour votre développement.

Mais que sont exactement les Hooks ?

Selon le codex de WordPress.org, « les crochets sont fournis par WordPress pour permettre à votre plugin de « s'accrocher » au reste de WordPress ; c'est-à-dire appeler des fonctions dans votre plugin à des moments précis, et ainsi mettre votre plugin en mouvement.

Les crochets en termes généraux relient une chose à une autre. Dans la terminologie WordPress, il accroche le code défini par l'utilisateur avec le code existant du noyau WordPress.

Soyons clairs.

WordPress est construit avec certaines fonctionnalités par défaut. Il a un comportement par défaut et des valeurs qui lui sont associées. Avec les crochets, vous pouvez modifier ces comportements par défaut et remplacer la valeur existante, personnalisant ainsi l'environnement WordPress selon vos besoins.

Types de crochets

Il existe deux types de Hooks :

  1. Crochets d'action - Utilisés pour s'exécuter à un moment donné de l'exécution, en modifiant le flux d'exécution par défaut. Voici une liste de crochets d'action WordPress.
  2. Crochets de filtre - Légèrement différents des crochets d'action, les crochets de filtre sont utilisés pour modifier les données WordPress par défaut et les remplacer par une valeur personnalisée, avant qu'elles ne soient présentées à l'utilisateur dans le front-end ou stockées dans la base de données. Une liste des crochets de filtre peut être trouvée dans le WordPress Codex.

Fondamentalement, les crochets sont des fonctions prédéfinies en soi. Ainsi les deux types de fonctions associées aux hooks sont :

  1. Fonctions d'action - Ces fonctions sont utiles dans les événements lorsqu'un blog est publié, un chargement de page, etc.
    Voici quelques-unes des fonctions d'action :

    • add_action()
    • did_action()
    • faire_action()
    • faire_action()
    • do_action_ref_array()
    • a_action()
    • remove_action()
    • remove_all_actions()
  2. Fonctions de filtrage – Chaque fonction de filtrage renvoie une valeur et la remplace par les données WordPress par défaut.
    Les fonctions de filtrage incluent les éléments suivants :

    • add_filter()
    • appliquer_filtres()
    • apply_filters_ref_array()
    • filtre_courant()
    • faire_filtre()
    • a_filtre()
    • remove_all_filters()
    • remove_filter()

Une infographie

Observez l'infographie suivante pour mieux comprendre le fonctionnement des crochets.

WordPress Hooks | Info-graphic on how WordPress Hooks work
Info-graphique sur le fonctionnement des crochets WordPress

Comme le montre l'infographie ci-dessus, les fonctions Action et Filtre utilisent des crochets respectifs pour modifier le code principal de WordPress.

À quoi ressemble un crochet ?

Un crochet Action typique prend la forme suivante :

 add_action ( 'hook', 'your_custom_function_name', [priority], [accepted_parameters] );
fonction votre_nom_de_fonction_personnalisée()
{
   //Votre code personnalisé
}

hook est le nom du hook, your_custom_function_name est le nom de la fonction avec votre code personnalisé, le paramètre de priorité facultatif qui indique comment le hook doit être exécuté, les paramètres acceptés indiquant les paramètres supplémentaires et le code personnalisé. La l'appel de fonction ( add_action()) peut être au-dessous ou au-dessus de l'extrait de code.

Un hook de filtre se présente sous la forme suivante :

 add_filter( 'filter', 'your_custom_function_name', 'priority', 'accepted_args' );
fonction your_custom_function_name($variable)
{
   //Votre code personnalisé
   revenir;
}

add_filter() vaut un des fonctions de hook de filtre, filter est le nom du filtre que vous allez utiliser, your_custom_function_name est le nom de votre fonction définie par l'utilisateur, le paramètre de priorité indique l'ordre d'exécution du hook, accept_args indique les arguments à passer et le paramètre personnalisé code avec la valeur de retour obligatoire.

Tout comme WordPress, il existe également des crochets disponibles pour WooCommerce. Ces crochets sont largement utilisés pour développer des plugins, des thèmes et personnaliser le processus de paiement WooCommerce.
Lisez Crochets WooCommerce : Actions et filtres dans la documentation WooCommerce pour comprendre les crochets WooCommerce en détail.

Manifestation

Comprenons les hooks à l'aide d'exemples d'extraits de code.

Crochet d'action et fonction

 //Ajout d'un hook d'action
function mon_action_hook() {
echo "<p align='center'>Ceci est un exemple de hook d'action</p>" ;
}
add_action( 'get_header', 'my_action_hook' );

Dans l'extrait de code ci-dessus, 'my_action_hook' est le nom de la fonction personnalisée, 'add_action' est l'une des fonctions d'action et 'get_header' est utilisé pour personnaliser l'en-tête du modèle. Dans l'extrait de code donné, nous affichons le texte "Ceci est une démo d'Action Hook" dans la section d'en-tête du site Web.

Un exemple de capture d'écran montrant les modifications apportées à l'extrait de code appliqué est présenté ci-dessous.

WordPress Hooks | Action hook example
Exemple de crochet d'action

Filtre crochet et fonction

 //Ajout d'un hook de filtre
add_filter('woocommerce_get_price_html','my_filter_hook');
fonction mon_filtre_hook($prix){
return 'Pour seulement '.$price;
}

Dans l'extrait de code ci-dessus, 'woocommerce_get_price_html' est un crochet WooCommerce pour obtenir le prix du produit, 'my_filter_hook' est le nom du filtre défini par l'utilisateur et '$price' est une variable définie par l'utilisateur. L'extrait de code ajoute simplement le préfixe "Pour seulement" au prix du produit.

La capture d'écran suivante montre comment l'extrait de code affecte notre boutique WooCommerce.

WordPress Hooks | Filter hook example
Exemple de hook de filtre

Ceci n'est qu'un exemple simple, il y a beaucoup de choses que vous pouvez réaliser avec Hooks.

Comment les actions et les filtres aident-ils à étendre la fonctionnalité ?

  1. Le principal avantage de l'utilisation de Hooks est qu'il aide à personnaliser le code principal de WordPress.
  2. Tout changement dans le développement peut être soigneusement surveillé car la modification n'est que minime plutôt qu'à plusieurs reprises dans le code.
  3. Le développement de nouveaux plugins est beaucoup plus facile avec la méthode d'essai et de test.
  4. Pour le développement de thèmes, on peut créer des thèmes enfants et jouer avec des crochets sans affecter le thème parent.
  5. Il s'agit d'une offre WordPress simple et facile à utiliser qui a une structure compréhensible et une documentation détaillée pour toute référence.
  6. Prend en charge WooCommerce, le plugin de commerce électronique WordPress le plus populaire. Les plugins de tarification WooCommerce modifient considérablement les prix des produits, les calculs de prix et offrent des prix et des remises dynamiques à l'aide de crochets WooCommerce. Les détails de la commande, les informations sur le produit, les détails d'expédition, entre autres, peuvent être exploités à l'aide de crochets personnalisés.

Commentaires de clôture

Les crochets WordPress sont le mécanisme clé pour le développement de plugins et de thèmes. Ils sont largement utilisés pour modifier le code WordPress existant afin de personnaliser le site Web. Bien que les crochets présentent un certain nombre d'avantages, il faut s'assurer que chaque crochet personnalisé est unique et ne chevauche pas un autre crochet du même nom. Même dans ce cas, vous pouvez attribuer la priorité aux crochets pour l'exécution selon vos besoins.

Consultez nos articles sur la personnalisation de WooCommerce pour obtenir des conseils sur la personnalisation de votre boutique WooCommerce.

Ou continuez à explorer LearnWoo pour des articles plus étonnants.