Skip to content

Les principaux hooks (crochets) et filters (filtres) WordPress

blank

Catégories :

Voici 50 des plus importants hooks WordPress  avec une petite explication pour chacun, ainsi que des exemples de code :

Actions Hooks :

  1. init : Se déclenche après que WordPress ait chargé les plugins et les scripts.
    • Utilisé pour initialiser des fonctions ou des actions au début du processus de chargement de WordPress.
    add_action('init', 'ma_fonction_init');
    function ma_fonction_init() {
    // Code ici
    }
  2. wp_head : Ajoute du contenu à l’en-tête du site.
    • Utile pour ajouter des balises meta, des scripts CSS/JS ou d’autres éléments dans la partie <head> du site.
    add_action('wp_head', 'ma_fonction_wp_head');
    function ma_fonction_wp_head() {
    // Code ici
    }
  3. wp_footer : Ajoute du contenu au pied de page du site.
    • Souvent utilisé pour ajouter des scripts JavaScript ou des balises de fermeture avant </body>.
    add_action('wp_footer', 'ma_fonction_wp_footer');
    function ma_fonction_wp_footer() {
    // Code ici
    }
  4. admin_init : Se déclenche lors de l’initialisation de l’interface d’administration.
    • Utilisé pour ajouter des fonctionnalités spécifiques à l’administration du site.
    add_action('admin_init', 'ma_fonction_admin_init');
    function ma_fonction_admin_init() {
    // Code ici
    }
  5. admin_menu : Ajoute des éléments au menu d’administration.
    • Permet d’ajouter des pages, des sous-menus ou des éléments de menu personnalisés dans l’interface d’administration.
    add_action('admin_menu', 'ma_fonction_admin_menu');
    function ma_fonction_admin_menu() {
    // Code ici
    }
  6. save_post : Se déclenche après qu’un article est enregistré ou mis à jour.
    • Idéal pour effectuer des actions spécifiques lorsqu’un article est sauvegardé, comme l’envoi de notifications ou la mise à jour de métadonnées.
    add_action('save_post', 'ma_fonction_save_post');
    function ma_fonction_save_post($post_id) {
    // Code ici
    }
  7. woocommerce_before_cart : Se déclenche avant l’affichage du panier WooCommerce.
    • Utilisé pour ajouter du contenu ou des fonctionnalités avant que le panier WooCommerce ne soit affiché.
    add_action('woocommerce_before_cart', 'ma_fonction_avant_panier_woocommerce');
    function ma_fonction_avant_panier_woocommerce() {
    // Code ici
    }
  8. woocommerce_after_cart_item_quantity_update : Après la mise à jour de la quantité dans le panier WooCommerce.
    • Utile pour effectuer des actions après que la quantité d’un article dans le panier a été mise à jour.
    add_action('woocommerce_after_cart_item_quantity_update', 'ma_fonction_apres_maj_quantite_panier');
    function ma_fonction_apres_maj_quantite_panier($cart_item_key, $quantity) {
    // Code ici
    }
  9. wp_enqueue_scripts : Pour ajouter des scripts ou des styles sur le front-end.
    • Utilisé pour enregistrer et charger des fichiers CSS ou JS sur les pages du site.
    add_action('wp_enqueue_scripts', 'ma_fonction_enqueue_scripts');
    function ma_fonction_enqueue_scripts() {
    // Code ici
    }
  10. woocommerce_checkout_update_order_meta : Mise à jour des métadonnées de commande lors du paiement dans WooCommerce.
    • Utile pour traiter des données ou effectuer des actions lorsque la commande est passée avec succès.
    add_action('woocommerce_checkout_update_order_meta', 'ma_fonction_maj_meta_commande');
    function ma_fonction_maj_meta_commande($order_id) {
    // Code ici
    }

Filter Hooks :

  1. the_content : Permet de filtrer le contenu d’un article ou d’une page.
    • Utilisé pour modifier le contenu de façon dynamique avant son affichage.
    add_filter('the_content', 'ma_fonction_filtre_contenu');
    function ma_fonction_filtre_contenu($content) {
    // Code ici
    return $content;
    }
  2. wp_nav_menu_items : Ajoute des éléments au menu de navigation.
    • Utile pour ajouter des éléments de menu personnalisés ou dynamiques dans les menus de navigation.
    add_filter('wp_nav_menu_items', 'ma_fonction_filtre_menu_navigation', 10, 2);
    function ma_fonction_filtre_menu_navigation($items, $args) {
    // Code ici
    return $items;
    }
  3. the_title : Permet de filtrer le titre d’un article ou d’une page.
    • Utile pour modifier le titre avant son affichage.
    add_filter('the_title', 'ma_fonction_filtre_titre');
    function ma_fonction_filtre_titre($title) {
    // Code ici
    return $title;
    }
  4. woocommerce_product_tabs : Ajoute des onglets aux pages de produits WooCommerce.
    • Permet d’ajouter des onglets personnalisés aux pages de produits WooCommerce.
    add_filter('woocommerce_product_tabs', 'ma_fonction_filtre_onglets_produit');
    function ma_fonction_filtre_onglets_produit($tabs) {
    // Code ici
    return $tabs;
    }
  5. woocommerce_cart_item_price : Modifie le prix affiché dans le panier WooCommerce.
    • Utilisé pour modifier le prix d’un article dans le panier avant son affichage.
    add_filter('woocommerce_cart_item_price', 'ma_fonction_filtre_prix_panier', 10, 3);
    function ma_fonction_filtre_prix_panier($price, $cart_item, $cart_item_key) {
    // Code ici
    return $price;
    }
  6. woocommerce_product_add_to_cart_text : Modifie le texte du bouton « Ajouter au panier » dans WooCommerce.
    • Permet de personnaliser le texte du bouton « Ajouter au panier » sur les pages de produits WooCommerce.
    add_filter('woocommerce_product_add_to_cart_text', 'ma_fonction_filtre_texte_bouton_panier');
    function ma_fonction_filtre_texte_bouton_panier($text) {
    // Code ici
    return $text;
    }
  7. excerpt_length : Définit la longueur de l’extrait d’un article.
    • Utile pour contrôler la longueur de l’extrait affiché sur les pages d’archive ou dans les widgets.
    add_filter('excerpt_length', 'ma_fonction_longueur_extrait');
    function ma_fonction_longueur_extrait($length) {
    // Code ici
    return $length;
    }
  8. wp_mail_content_type : Modifie le type de contenu des e-mails WordPress.
    • Permet de définir le type de contenu (texte ou HTML) des e-mails envoyés par WordPress.
    add_filter('wp_mail_content_type', 'ma_fonction_type_contenu_email');
    function ma_fonction_type_contenu_email() {
    // Code ici
    return 'text/html';
    }
  9. comment_text : Modifie le texte des commentaires.
    • Utilisé pour filtrer et modifier le texte des commentaires avant leur affichage.
    add_filter('comment_text', 'ma_fonction_filtre_texte_commentaire');
    function ma_fonction_filtre_texte_commentaire($comment_content) {
    // Code ici
    return $comment_content;
    }
  10. woocommerce_checkout_fields : Personnalise les champs de la page de paiement WooCommerce.
    • Permet d’ajouter, de modifier ou de supprimer des champs dans le formulaire de paiement de WooCommerce.
    add_filter('woocommerce_checkout_fields', 'ma_fonction_filtre_champs_paiement');
    function ma_fonction_filtre_champs_paiement($fields) {
    // Code ici
    return $fields;
    }

Hooks spécifiques à WooCommerce :

  1. woocommerce_before_main_content : Avant le contenu principal de la page produit WooCommerce.
    • Utilisé pour ajouter du contenu ou des éléments avant le contenu principal des pages de produits WooCommerce.
    add_action('woocommerce_before_main_content', 'ma_fonction_avant_contenu_principal_woocommerce');
    function ma_fonction_avant_contenu_principal_woocommerce() {
    // Code ici
    }
  2. woocommerce_after_main_content : Après le contenu principal de la page produit WooCommerce.
    • Utile pour ajouter du contenu ou des éléments après le contenu principal des pages de produits WooCommerce.
    add_action('woocommerce_after_main_content', 'ma_fonction_apres_contenu_principal_woocommerce');
    function ma_fonction_apres_contenu_principal_woocommerce() {
    // Code ici
    }
  3. woocommerce_single_product_summary : Avant le résumé du produit sur la page produit WooCommerce.
    • Permet d’ajouter du contenu ou des éléments avant le résumé du produit sur les pages de produits WooCommerce.
    add_action('woocommerce_single_product_summary', 'ma_fonction_avant_resume_produit_woocommerce', 5);
    function ma_fonction_avant_resume_produit_woocommerce() {
    // Code ici
    }
  4. woocommerce_after_single_product_summary : Après le résumé du produit sur la page produit WooCommerce.
    • Utile pour ajouter du contenu ou des éléments après le résumé du produit sur les pages de produits WooCommerce.
    add_action('woocommerce_after_single_product_summary', 'ma_fonction_apres_resume_produit_woocommerce', 10);
    function ma_fonction_apres_resume_produit_woocommerce() {
    // Code ici
    }
  5. woocommerce_before_shop_loop : Avant la boucle des produits sur la page boutique WooCommerce.
    • Permet d’ajouter du contenu ou des éléments avant la liste des produits sur les pages de boutique WooCommerce.
    add_action('woocommerce_before_shop_loop', 'ma_fonction_avant_boucle_produits_woocommerce');
    function ma_fonction_avant_boucle_produits_woocommerce() {
    // Code ici
    }

Hooks pour les thèmes et les plugins :

  1. template_redirect : Se déclenche avant que WordPress ne charge le modèle de page demandé.
    • Utilisé pour rediriger l’utilisateur vers une autre page ou effectuer des actions avant le chargement d’une page spécifique.
    add_action('template_redirect', 'ma_fonction_redirection_modele');
    function ma_fonction_redirection_modele() {
    // Code ici
    }
  2. wp_login : Se déclenche après qu’un utilisateur s’est connecté.
    • Utile pour effectuer des actions après que l’utilisateur se soit connecté, comme la redirection vers une page spécifique.
    add_action('wp_login', 'ma_fonction_apres_connexion_utilisateur', 10, 2);
    function ma_fonction_apres_connexion_utilisateur($user_login, $user) {
    // Code ici
    }
  3. wp_logout : Se déclenche après qu’un utilisateur se soit déconnecté.
    • Permet d’effectuer des actions après que l’utilisateur se soit déconnecté, comme la redirection vers une autre page.
    add_action('wp_logout', 'ma_fonction_apres_deconnexion_utilisateur');
    function ma_fonction_apres_deconnexion_utilisateur() {
    // Code ici
    }
  4. register_sidebar : Définit les paramètres d’une barre latérale.
    • Utilisé pour enregistrer des barres latérales (sidebars) dans le thème WordPress.
    add_action('register_sidebar', 'ma_fonction_enregistrer_sidebar');
    function ma_fonction_enregistrer_sidebar() {
    // Code ici
    }
  5. widgets_init : Initialise les widgets dans WordPress.
    • Permet d’enregistrer et d’initialiser les widgets dans le thème WordPress.
    add_action('widgets_init', 'ma_fonction_init_widgets');
    function ma_fonction_init_widgets() {
    // Code ici
    }

Hooks pour les utilisateurs et les commentaires :

  1. user_register : Se déclenche lors de l’enregistrement d’un nouvel utilisateur.
    • Utile pour effectuer des actions lorsqu’un nouvel utilisateur s’inscrit.
    add_action('user_register', 'ma_fonction_apres_enregistrement_utilisateur');
    function ma_fonction_apres_enregistrement_utilisateur($user_id) {
    // Code ici
    }
  2. comment_post : Se déclenche après qu’un commentaire est publié.
    • Permet d’effectuer des actions après la publication d’un commentaire.
    add_action('comment_post', 'ma_fonction_apres_publication_commentaire', 10, 2);
    function ma_fonction_apres_publication_commentaire($comment_ID, $comment_approved) {
    // Code ici
    }
  3. comment_text : Modifie le texte des commentaires.
    • Utilisé pour filtrer et modifier le texte des commentaires avant leur affichage.
    add_filter('comment_text', 'ma_fonction_filtre_texte_commentaire');
    function ma_fonction_filtre_texte_commentaire($comment_content) {
    // Code ici
    return $comment_content;
    }

Hooks pour la gestion des utilisateurs et des rôles :

  1. profile_update : Se déclenche lors de la mise à jour du profil utilisateur.
    • Utile pour effectuer des actions lorsque le profil d’un utilisateur est mis à jour.
    add_action('profile_update', 'ma_fonction_apres_maj_profil_utilisateur');
    function ma_fonction_apres_maj_profil_utilisateur($user_id) {
    // Code ici
    }
  2. set_user_role : Se déclenche lors de la modification du rôle d’un utilisateur.
    • Permet d’effectuer des actions lorsqu’un utilisateur voit son rôle modifié.
    add_action('set_user_role', 'ma_fonction_apres_modif_role_utilisateur', 10, 2);
    function ma_fonction_apres_modif_role_utilisateur($user_id, $role) {
    // Code ici
    }

Hooks pour la gestion des médias :

  1. add_attachment : Se déclenche lors de l’ajout d’une pièce jointe.
    • Utilisé pour effectuer des actions lors de l’ajout d’une nouvelle pièce jointe.
    add_action('add_attachment', 'ma_fonction_apres_ajout_piece_jointe');
    function ma_fonction_apres_ajout_piece_jointe($attachment_id) {
    // Code ici
    }
  2. delete_attachment : Se déclenche lors de la suppression d’une pièce jointe.
    • Utile pour effectuer des actions lors de la suppression d’une pièce jointe.
    add_action('delete_attachment', 'ma_fonction_apres_suppression_piece_jointe');
    function ma_fonction_apres_suppression_piece_jointe($attachment_id) {
    // Code ici
    }

Hooks pour la gestion des termes et des taxonomies :

  1. create_term : Se déclenche lors de la création d’un nouveau terme (catégorie, balise, etc.).
    add_action('create_term', 'ma_fonction_apres_creation_terme', 10, 3);
    function ma_fonction_apres_creation_terme($term_id, $tt_id, $taxonomy) {
    // Code ici
    }
  2. edit_term : Se déclenche lors de la modification d’un terme.
    add_action('edit_term', 'ma_fonction_apres_modif_terme', 10, 3);
    function ma_fonction_apres_modif_terme($term_id, $tt_id, $taxonomy) {
    // Code ici
    }

Hooks pour la gestion des redirections :

  1. template_redirect : Se déclenche avant que WordPress ne charge le modèle de page demandé.
    add_action('template_redirect', 'ma_fonction_redirection_modele');
    function ma_fonction_redirection_modele() {
    // Code ici
    }
  2. wp_redirect : Redirige l’utilisateur vers une nouvelle URL.
    add_action('wp_redirect', 'ma_fonction_redirection');
    function ma_fonction_redirection() {
    // Code ici
    }

Hooks pour la gestion des URLs :

  1. init : Se déclenche après que WordPress ait chargé les plugins et les scripts.
    add_action('init', 'ma_fonction_init');
    function ma_fonction_init() {
    // Code ici
    }
  2. generate_rewrite_rules : Génère les règles de réécriture d’URL.
    add_action('generate_rewrite_rules', 'ma_fonction_regles_rewrite');
    function ma_fonction_regles_rewrite($wp_rewrite) {
    // Code ici
    }

Hooks pour la gestion des erreurs :

  1. wp_die_handler : Gère les erreurs fatales dans WordPress.
    add_filter('wp_die_handler', 'ma_fonction_gestion_erreur_fatale');
    function ma_fonction_gestion_erreur_fatale($function) {
    // Code ici
    return $function;
    }
  2. wp_error : Gère les erreurs dans WordPress.
    add_filter('wp_error', 'ma_fonction_gestion_erreur');
    function ma_fonction_gestion_erreur($wp_error) {
    // Code ici
    return $wp_error;
    }

Hooks pour la gestion des options :

  1. update_option : Se déclenche lors de la mise à jour d’une option.
    add_action('update_option', 'ma_fonction_maj_option', 10, 2);
    function ma_fonction_maj_option($option_name, $old_value) {
    // Code ici
    }
  2. delete_option : Se déclenche lors de la suppression d’une option.
    add_action('delete_option', 'ma_fonction_suppr_option');
    function ma_fonction_suppr_option($option_name) {
    // Code ici
    }

Hooks pour la gestion des requêtes :

  1. pre_get_posts : Modifie la requête principale avant qu’elle ne s’exécute.
    add_action('pre_get_posts', 'ma_fonction_modif_requete');
    function ma_fonction_modif_requete($query) {
    // Code ici
    }
  2. posts_request : Se déclenche avant l’exécution de la requête SQL.
    add_action('posts_request', 'ma_fonction_avant_exec_requete');
    function ma_fonction_avant_exec_requete($request) {
    // Code ici
    }

Hooks pour la gestion des widgets :

  1. widgets_init : Initialise les widgets dans WordPress.
    add_action('widgets_init', 'ma_fonction_init_widgets');
    function ma_fonction_init_widgets() {
    // Code ici
    }

Ces exemples vous permettront de comprendre comment utiliser ces hooks dans vos thèmes et plugins WordPress pour ajouter des fonctionnalités personnalisées.

N'hésitez pas à me contacter