Voici 50 des plus importants hooks WordPress avec une petite explication pour chacun, ainsi que des exemples de code :
Actions Hooks :
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
}
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
}
- Utile pour ajouter des balises meta, des scripts CSS/JS ou d’autres éléments dans la partie
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
}
- Souvent utilisé pour ajouter des scripts JavaScript ou des balises de fermeture avant
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
}
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
}
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
}
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
}
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
}
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
}
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 :
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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';
}
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;
}
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 :
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
}
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
}
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
}
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
}
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 :
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
}
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
}
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
}
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
}
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 :
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
}
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
}
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 :
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
}
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 :
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
}
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 :
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
}
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 :
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
}
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 :
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
}
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 :
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;
}
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 :
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
}
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 :
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
}
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 :
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.