{"id":26328,"date":"2023-09-05T16:47:22","date_gmt":"2023-09-05T16:47:22","guid":{"rendered":"\/tutoriels\/?p=26328"},"modified":"2024-12-18T19:46:02","modified_gmt":"2024-12-18T19:46:02","slug":"hooks-wordpress","status":"publish","type":"post","link":"\/fr\/tutoriels\/hooks-wordpress\/","title":{"rendered":"Les hooks dans WordPress : utilisation et exemples pratiques"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Les hooks WordPress, ou crochets, peuvent vous aider &agrave; atteindre vos objectifs commerciaux en &eacute;tendant les capacit&eacute;s de votre site WordPress. Ils vous permettent d&rsquo;interagir et de modifier le code &agrave; des endroits sp&eacute;cifiques sans modifier le c&oelig;ur du CMS et permettent aux utilisateurs de modifier et d&rsquo;ajouter facilement diverses fonctionnalit&eacute;s aux th&egrave;mes et <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/plugin-wordpress\/\"><strong>plugins WordPress<\/strong><\/a>.<\/p><p class=\"wp-block-paragraph\">Dans ce tutoriel, nous apprendrons sur les hooks WordPress et leur utilit&eacute;. De plus, nous inclurons des exemples pratiques de crochets WordPress pour vous montrer comment les utiliser sur votre site.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Mega-WordPress-Cheat-FR.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR_Intext-banners_Mega-WordPress-Cheat-Sheet-1024x283-1.png\/public\" alt=\"\" class=\"wp-image-41459\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR_Intext-banners_Mega-WordPress-Cheat-Sheet-1024x283-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR_Intext-banners_Mega-WordPress-Cheat-Sheet-1024x283-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR_Intext-banners_Mega-WordPress-Cheat-Sheet-1024x283-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR_Intext-banners_Mega-WordPress-Cheat-Sheet-1024x283-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-que-sont-les-hooks-wordpress\">Que sont les hooks WordPress ?<\/h2><p class=\"wp-block-paragraph\">Les hooks WordPress permettent aux utilisateurs de manipuler WordPress sans en modifier le c&oelig;ur. Il est essentiel pour tout utilisateur de WordPress d&rsquo;apprendre &agrave; utiliser des hooks car il permettent de modifier les param&egrave;tres par d&eacute;faut des th&egrave;mes ou des plugins et, en fin de compte, de cr&eacute;er de nouvelles fonctions.<\/p><h3 class=\"wp-block-heading\" id=\"h-l-utilite-des-hooks\">L&rsquo;utilit&eacute; des hooks<\/h3><p class=\"wp-block-paragraph\">L&rsquo;objectif premier des hooks est d&rsquo;ex&eacute;cuter automatiquement une fonction. En outre, cette technique permet d&rsquo;ajouter ou de modifier des fonctionnalit&eacute;s &agrave; WordPress sans toucher &agrave; ses fichiers principaux.<\/p><p class=\"wp-block-paragraph\">Les hooks sont divis&eacute;s en deux cat&eacute;gories :<\/p><ul class=\"wp-block-list\">\n<li><strong>Action <\/strong>&ndash; permet aux utilisateurs d&rsquo;ajouter des donn&eacute;es ou de modifier le fonctionnement de leur site web. Un hook d&rsquo;action s&rsquo;ex&eacute;cutera &agrave; un moment pr&eacute;cis lorsque le noyau de WordPress, les plugins et les th&egrave;mes sont en cours d&rsquo;ex&eacute;cution.<\/li>\n\n\n\n<li><strong>Filtre<\/strong> &ndash; peut modifier des donn&eacute;es pendant l&rsquo;ex&eacute;cution du noyau, des plugins et des th&egrave;mes de WordPress.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">En r&eacute;sum&eacute;, les <strong>hooks d&rsquo;action<\/strong> re&ccedil;oivent des informations, agissent en fonction de celles-ci et ne renvoient rien &agrave; l&rsquo;utilisateur. Inversement, les <strong>crochets de filtrage<\/strong> re&ccedil;oivent des informations, les modifient et les renvoient &agrave; l&rsquo;utilisateur.<\/p><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Important!<\/strong>Pour utiliser l&rsquo;un de ces hooks, l&rsquo;utilisateur doit &eacute;crire une fonction personnalis&eacute;e appel&eacute;e &laquo; Callback &raquo; et l&rsquo;enregistrer avec un hook WordPress pour une action ou un filtre sp&eacute;cifique.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Vous trouverez ci-dessous un exemple de hook d&rsquo;action qui relie la fonction <strong>mytheme_script<\/strong> avec l&rsquo;action <strong>wp_enqueue_script<\/strong>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function mytheme_script() \n{wp_enqueue_script( 'my-custom-js', 'custom.js', false );}\nadd_action( 'wp_enqueue_scripts', 'mytheme_script' );<\/pre><h2 class=\"wp-block-heading\" id=\"h-comment-utiliser-les-hooks-wordpress\">Comment utiliser les hooks WordPress<\/h2><p class=\"wp-block-paragraph\">L&rsquo;utilisation des hooks WordPress n&eacute;cessite quelques connaissances en HTML et en PHP. Heureusement, la cr&eacute;ation de hooks d&rsquo;action et de filtre est relativement facile, m&ecirc;me pour les <strong>d&eacute;butants sur WordPress<\/strong>.<\/p><h3 class=\"wp-block-heading\" id=\"h-creer-un-crochet-d-action\">Cr&eacute;er un crochet d&rsquo;action<\/h3><p class=\"wp-block-paragraph\">Pour ajouter un hook d&rsquo;action, vous devez activer la fonction <strong>add_action ()<\/strong> dans un plugin WordPress. Pour ce faire, ajoutez le code suivant au fichier <strong>functions.php<\/strong> :<\/p><pre class=\"wp-block-preformatted\">add_action( $target_hook, $the_name_of_function_you_want_to_use, $priority, $accepted_args );<\/pre><p class=\"wp-block-paragraph\">Les hooks utilisent une &eacute;chelle de priorit&eacute; pour fonctionner correctement. Cette &eacute;chelle est une valeur ordinale automatique bas&eacute;e sur une &eacute;chelle de 1 &agrave; 999.&nbsp;<\/p><p class=\"wp-block-paragraph\">Elle d&eacute;finit l&rsquo;ordre des fonctions associ&eacute;es &agrave; ce hook particulier. Une valeur de priorit&eacute; inf&eacute;rieure signifie que la fonction s&rsquo;ex&eacute;cutera plus t&ocirc;t, tandis qu&rsquo;une valeur sup&eacute;rieure s&rsquo;ex&eacute;cutera plus tard.<\/p><p class=\"wp-block-paragraph\">L&rsquo;&eacute;chelle montre l&rsquo;ordre de sortie des fonctions lorsqu&rsquo;elles utilisent le m&ecirc;me <strong>target_hook<\/strong>. La valeur par d&eacute;faut de <strong>priority_scale<\/strong> est 10. Vous pouvez modifier l&rsquo;&eacute;chelle en fonction du num&eacute;ro de votre<strong> target_hook<\/strong>.<\/p><p class=\"wp-block-paragraph\"><strong>$accepted_args<\/strong> est charg&eacute; de d&eacute;finir le nombre d&rsquo;arguments accept&eacute;s par la fonction.&nbsp;<\/p><p class=\"wp-block-paragraph\">Par d&eacute;faut, le syst&egrave;me lui attribue la valeur <strong>1<\/strong>. Voici un exemple de hook d&rsquo;action pour le th&egrave;me WordPress Twenty Twenty-Three ajout&eacute; &agrave; la fin du <strong>fichier functions.php<\/strong> :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nfunction hook_javascript() {\n    ?&gt;\n        &lt;script&gt;\n            alert('Hello world...');\n        &lt;\/script&gt;\n    &lt;?php\n}\nadd_action('wp_head', 'hook_javascript');\n?&gt;\n?&gt;<\/pre><p class=\"wp-block-paragraph\">Analysons le code de l&rsquo;exemple ci-dessus :<\/p><ul class=\"wp-block-list\">\n<li><strong>&lt;?php<\/strong> &ndash; l&rsquo;endroit o&ugrave; vous placez le hook de la fonction.<\/li>\n\n\n\n<li><strong>function hook_javascript()<\/strong> &ndash; une fonction qui affectera la valeur initiale, affichant ainsi l&rsquo;alerte pour les utilisateurs.<\/li>\n\n\n\n<li><strong>&lt;script&gt;<\/strong> &ndash; repr&eacute;sente le texte que vous voulez afficher sur le <strong>target_hook<\/strong>.<\/li>\n\n\n\n<li><strong>alert(&lsquo;Hello world&hellip;&rsquo;);<\/strong> &ndash; affichera une alerte pour les utilisateurs avec la phrase &laquo; Hello World &raquo;.<\/li>\n\n\n\n<li><strong>add_action<\/strong> &ndash; la commande pour cr&eacute;er le hook d&rsquo;action.<\/li>\n\n\n\n<li>&lsquo;<strong>wp_head<\/strong>&lsquo; &ndash; Le <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/wp_head\/\" target=\"_blank\" rel=\"noopener\"><strong>hook cible<\/strong><\/a> que la fonction modifiera.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">En pratique, cela ressemble &agrave; ceci :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a7045aedd910\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7045aedd910\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"394\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Action-hook-exemple.png\/public\" alt=\"Exemple de crochet d'action sur un site web WordPress en ligne. Il affiche une alerte avec un message sp&eacute;cifi&eacute; par l'utilisateur\" class=\"wp-image-37059\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Action-hook-exemple.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Action-hook-exemple.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Action-hook-exemple.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Action-hook-exemple.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-creer-un-crochet-de-filtre\">Cr&eacute;er un crochet de filtre<\/h3><p class=\"wp-block-paragraph\">Vous pouvez cr&eacute;er un hook de filtre en utilisant la fonction <strong>add_filter()<\/strong>. Le hook de filtre modifie, filtre ou remplace une valeur par une nouvelle.<\/p><p class=\"wp-block-paragraph\">Comme pour un hook d&rsquo;action, il filtre une valeur &agrave; l&rsquo;aide des fonctions de hook de filtre associ&eacute;es, telles que <strong>apply_filter<\/strong>.<\/p><p class=\"wp-block-paragraph\">Voici un exemple de hook de filtre que nous allons ajouter au fichier <strong>functions.php<\/strong> du th&egrave;me WordPress Twenty Twenty-Three :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">add_filter( 'the_content', 'change_content' );\nfunction change_content ( $content ) {\n    $content = 'Filter hooks are amazing!';\n    return $content;\n}<\/pre><p class=\"wp-block-paragraph\">Analysons l&rsquo;extrait de code plus en d&eacute;tail :<\/p><ul class=\"wp-block-list\">\n<li><strong>&lsquo;<\/strong><a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/the_content\/\" target=\"_blank\" rel=\"noopener\"><strong>the_content<\/strong><\/a><strong>&rsquo;<\/strong> &ndash; le hook cible que la fonction va modifier.<\/li>\n\n\n\n<li>&lsquo;<strong>change_content<\/strong>&rsquo; &ndash; affecte la valeur initiale, modifiant ainsi le contenu actuel.<\/li>\n\n\n\n<li><strong>$content = &lsquo;Filter hooks are amazing!&rsquo;; <\/strong>&ndash; remplace le contenu de tous vos articles par la phrase &eacute;crite.<\/li>\n\n\n\n<li><strong>return $content;<\/strong> &ndash; renvoie la nouvelle valeur &agrave; la fin.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Maintenant, si nous ouvrons n&rsquo;importe quel article en utilisant le th&egrave;me Twenty Twenty-Three, nous verrons quelque chose comme ceci :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a7045aedfff7\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7045aedfff7\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"414\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Filtre-hook-exemple.png\/public\" alt=\"Exemple de hook de filtre sur un site web WordPress en ligne. \" class=\"wp-image-37061\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Filtre-hook-exemple.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Filtre-hook-exemple.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Filtre-hook-exemple.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/09\/Filtre-hook-exemple.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Comme le montre l&rsquo;exemple, la fonction de filtre a remplac&eacute; l&rsquo;ensemble du contenu par la phrase &laquo; Filter hooks are amazing ! &raquo;.<\/p><h3 class=\"wp-block-heading\" id=\"h-desactiver-les-hook-d-actions-et-de-filtres\">D&eacute;sactiver les hook d&rsquo;actions et de filtres<\/h3><p class=\"wp-block-paragraph\">Si vous voulez d&eacute;sactiver une commande de <strong>add_action() <\/strong>ou <strong>add_filter() <\/strong>dans votre code WordPress, utilisez <strong>remove_action() <\/strong>et <strong>remove_filter()<\/strong>.<\/p><p class=\"wp-block-paragraph\">Ces fonctions permettent d&rsquo;exclure certaines actions ou certains filtres. Leur utilisation permet de modifier un plugin avec trop de hooks inutiles qui risquent de perturber l&rsquo;optimisation du site.<\/p><p class=\"wp-block-paragraph\">Il est &eacute;galement possible de supprimer ces lignes de code inutiles. Cependant, nous ne vous le recommandons que si vous travaillez avec votre propre plugin ou th&egrave;me. En effet, une telle pratique avec les plugins ou les th&egrave;mes de quelqu&rsquo;un d&rsquo;autre peut provoquer une erreur fatale si vous supprimez les lignes incorrectes.<\/p><p class=\"wp-block-paragraph\">Voici un exemple de <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/remove_action\/\" target=\"_blank\" rel=\"noopener\"><strong>remove_action()<\/strong><\/a> dans WordPress :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">remove_action( 'wp_print_footer_scripts', 'hostinger_custom_footer_scripts');\nadd_action( 'wp_print_footer_scripts', 'hostinger_custom_footer_scripts_theme');\nfunction hostinger_custom_footer_scripts_theme()\n{\n?&gt;\n&lt;script&gt;\/\/example of output by theme&lt;\/script&gt;\n&lt;?php\n}<\/pre><p class=\"wp-block-paragraph\">L&rsquo;exemple ci-dessus montre que la commande <strong>remove_action() <\/strong>supprime les scripts de pied de page par d&eacute;faut de WordPress et les remplace par le th&egrave;me de scripts de pied de page personnalis&eacute; de Hostinger.<\/p><p class=\"wp-block-paragraph\">Cette commande s&rsquo;applique &agrave; tous les types de hooks d&rsquo;action dans WordPress. En outre, voici un exemple de <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/remove_filter\/\" target=\"_blank\" rel=\"noopener\"><strong>remove_filter()<\/strong><\/a> :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );\nadd_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );\n}<\/pre><p class=\"wp-block-paragraph\">L&rsquo;exemple ci-dessus montre comment d&eacute;sactiver <strong>wp_staticize_emoji_for_email<\/strong>, qui convertit les emojis en images statiques.<\/p><p class=\"wp-block-paragraph\">Il les remplace ensuite par <strong>disable_emojis_tinymce<\/strong>, qui d&eacute;sactive la fonctionnalit&eacute; emoji de WordPress. Cela peut permettre &agrave; votre site d&rsquo;&ecirc;tre plus rapide, car les emojis n&eacute;cessitent une requ&ecirc;te HTTP suppl&eacute;mentaire.<\/p><p class=\"wp-block-paragraph\">De plus, vous pouvez utiliser la commande <strong>remove_filter() <\/strong>pour d&eacute;sactiver plusieurs filtres dans une s&eacute;quence. Voici un exemple :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function disable_emojis() {\n\nremove_action( 'wp_head', 'print_emoji_detection_script', 7 );\n\nremove_action( 'admin_print_scripts', 'print_emoji_detection_script' );\n\nremove_action( 'wp_print_styles', 'print_emoji_styles' );\n\nremove_action( 'admin_print_styles', 'print_emoji_styles' );\n\nremove_filter( 'the_content_feed', 'wp_staticize_emoji' );\n\nremove_filter( 'comment_text_rss', 'wp_staticize_emoji' );\n\nremove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );\n\nadd_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );\n\nadd_action( 'init', 'disable_emojis' );\n\n}<\/pre><p class=\"wp-block-paragraph\">Le code ci-dessus vise &agrave; &eacute;liminer la fonction emoji dans WordPress. Il illustre le fait qu&rsquo;il n&rsquo;y a pas de limite au nombre de commandes <strong>remove_filter <\/strong>que les utilisateurs peuvent int&eacute;grer dans un fichier <strong>functions.php<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-exemples-pratiques-de-hooks-wordpress\">Exemples pratiques de hooks WordPress<\/h2><p class=\"wp-block-paragraph\">Il existe un grand nombre de hooks que les utilisateurs peuvent utiliser pour cr&eacute;er des fonctions WordPress personnalis&eacute;es. Voici quelques-uns des plus populaires :<\/p><h3 class=\"wp-block-heading\" id=\"h-admin-post-thumbnail-size\">admin_post_thumbnail_size<\/h3><p class=\"wp-block-paragraph\">Ce filtre affiche une vignette de votre article dans la section &laquo; Featured Image &raquo;. Trois param&egrave;tres relient la fonction : <strong>$size, $thumbnail_id, <\/strong>et <strong>$post<\/strong>.<\/p><p class=\"wp-block-paragraph\">Le hook devrait ressembler &agrave; ceci :<\/p><pre class=\"wp-block-preformatted\">$size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post );<\/pre><p class=\"wp-block-paragraph\">N&rsquo;oubliez pas que vous pouvez modifier le param&egrave;tre <strong>$size<\/strong> comme vous le souhaitez. Par exemple, si vous souhaitez d&eacute;finir la taille de la vignette &agrave; 240 x 240 pixels, utilisez ce code :<\/p><pre class=\"wp-block-preformatted\">$size = apply_filters( 'admin_post_thumbnail_size', 240, $thumbnail_id, $post);<\/pre><p class=\"wp-block-paragraph\">Il est &eacute;galement possible de d&eacute;finir une taille personnalis&eacute;e pour la vignette en ajoutant la fonction <strong>array ()<\/strong>. Le code ressemblera &agrave; ceci :<\/p><pre class=\"wp-block-preformatted\">$size = apply_filters( 'admin_post_thumbnail_size', array(240, 400), $thumbnail_id, $post);<\/pre><p class=\"wp-block-paragraph\">La fonction<strong> array ()<\/strong> ci-dessus d&eacute;finit la taille de la vignette &agrave; afficher en 240 x 400 pixels.<\/p><h3 class=\"wp-block-heading\" id=\"h-after-password-reset\">after_password_reset<\/h3><p class=\"wp-block-paragraph\">Ce hook d&rsquo;action est activ&eacute; lorsqu&rsquo;un utilisateur r&eacute;initialise son mot de passe. Il se compose de deux param&egrave;tres, <strong>$user<\/strong> et <strong>$new_pass<\/strong>, et se pr&eacute;sente comme suit :<\/p><pre class=\"wp-block-preformatted\">do_action( 'after_password_reset', $user, $new_pass );<\/pre><p class=\"wp-block-paragraph\">Par exemple, WordPress utilise ce hook avec la fonction <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/reset_password\/\" target=\"_blank\" rel=\"noopener\"><strong>reset_password()<\/strong><\/a>.<\/p><h3 class=\"wp-block-heading\" id=\"h-customize-loaded-components\">customize_loaded_components<\/h3><p class=\"wp-block-paragraph\">Ce crochet est un filtre qui permet d&rsquo;exclure certains composants de WordPress du processus de base. Ces fonctions fonctionnent sur les fichiers principaux, tels <strong>wp-activate.php<\/strong>, <strong>wp-config-sample.php<\/strong>, ou <strong>wp-settings.php<\/strong>.<\/p><p class=\"wp-block-paragraph\">Cependant, il est important de noter que la fonction <strong>customize_loaded_components <\/strong>ne peut pas &ecirc;tre ajout&eacute;e &agrave; un th&egrave;me puisqu&rsquo;elle ne s&rsquo;active que pendant la phase <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/plugins_loaded\/\" target=\"_blank\" rel=\"noopener\"><strong>plugins_loaded<\/strong><\/a>.<\/p><p class=\"wp-block-paragraph\">Le hook se compose de deux param&egrave;tres : <strong>$components<\/strong> et <strong>$this<\/strong>, et se pr&eacute;sente comme suit :<\/p><pre class=\"wp-block-preformatted\">$components = apply_filters( 'customize_loaded_components', array( 'widgets', 'nav_menus' ), $this );<\/pre><p class=\"wp-block-paragraph\">Le param&egrave;tre<strong> $components<\/strong> est un lot de fonctions de base &agrave; charger, tandis que <strong>$this <\/strong>fait r&eacute;f&eacute;rence &agrave; l&rsquo;objet de la classe existante.<\/p><p class=\"wp-block-paragraph\">Il est possible de personnaliser la fonction<strong> array () <\/strong>pour d&eacute;terminer les composants &agrave; exclure. L&rsquo;exemple ci-dessus montre que les widgets et les <strong>nav_menus <\/strong>sont exclus du processus de base.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/hebergement-wordpress\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-New-WP_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-41453\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-New-WP_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-New-WP_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-New-WP_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-New-WP_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p class=\"wp-block-paragraph\">Les hooks WordPress peuvent &ecirc;tre utiles &agrave; tout propri&eacute;taire de site web. Ils vous permettent d&rsquo;ajouter des fonctions personnalis&eacute;es ou de d&eacute;sactiver des processus sans modifier les fichiers principaux de WordPress.<\/p><p class=\"wp-block-paragraph\">Dans ce tutoriel, nous avons cr&eacute;&eacute; des hooks WordPress d&rsquo;action et de filtre et montr&eacute; quelques exemples pratiques.<\/p><p class=\"wp-block-paragraph\">Nous esp&eacute;rons que ce tutoriel vous sera utile. Si vous avez des questions, n&rsquo;h&eacute;sitez pas &agrave; nous laisser un commentaire ci-dessous.<\/p><h4 class=\"wp-block-heading\" id=\"h-apprenez-d-autres-techniques-wordpress-pour-elargir-vos-connaissances\">Apprenez d&rsquo;autres techniques WordPress pour &eacute;largir vos connaissances<\/h4><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Autres lectures                <\/p>\n            <\/div>\n            <p class=\"protip__content\"><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wordpress-multisite\/\"><strong>WordPress Multisite<br><\/strong><\/a><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wordpress-headless\/\"><strong>WordPress Headless<br><\/strong><\/a><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/htaccess-wordpress\/\"><strong>Fichier .htaccess de WordPress<br><\/strong><\/a><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/api-rest-wordpress\/\"><strong>Tutoriel sur l'API REST de WordPress<\/strong><\/a><\/p>\n                    <\/div>\n        <\/p><h2 class=\"wp-block-heading\" id=\"h-faq-sur-les-hooks-wordpress\">FAQ sur les hooks WordPress<\/h2><p class=\"wp-block-paragraph\">Si vous souhaitez en savoir plus sur les hooks WordPress, voici quelques questions fr&eacute;quemment pos&eacute;es.<\/p><div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1693930568020\"><h3 class=\"schema-faq-question\"><strong>Quels sont les hooks de base pour les plugins WordPress ?<\/strong><\/h3> <p class=\"schema-faq-answer\">Les hooks de base pour le d&eacute;veloppement de plugins WordPress incluent les hooks d&rsquo;action et de filtre. Les hooks d&rsquo;action permettent aux d&eacute;veloppeurs d&rsquo;ex&eacute;cuter du code personnalis&eacute; &agrave; des points sp&eacute;cifiques du code de base de WordPress, tandis que les hooks de filtre permettent aux d&eacute;veloppeurs de modifier les donn&eacute;es avant qu&rsquo;elles ne soient affich&eacute;es sur le site web.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1693930718482\"><h3 class=\"schema-faq-question\"><strong>O&ugrave; puis-je ajouter des hooks dans WordPress ?<\/strong><\/h3> <p class=\"schema-faq-answer\">Les hooks de WordPress peuvent &ecirc;tre ajout&eacute;s dans le fichier <strong>functions.php<\/strong> du plugin ou du th&egrave;me, ou dans un fichier de plugin s&eacute;par&eacute;. Les hooks d&rsquo;action sont ajout&eacute;s &agrave; l&rsquo;aide de la fonction <strong>add_action()<\/strong>, tandis que les hooks de filtre sont ajout&eacute;s &agrave; l&rsquo;aide de la fonction <strong>add_filter()<\/strong>.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1693930731435\"><h3 class=\"schema-faq-question\"><strong>Les hooks WordPress sont-ils importants ?<\/strong><\/h3> <p class=\"schema-faq-answer\">Oui, les hooks WordPress sont importants car ils permettent aux d&eacute;veloppeurs de personnaliser et d&rsquo;&eacute;tendre les fonctionnalit&eacute;s du noyau, des th&egrave;mes et des plugins de WordPress sans modifier le code d&rsquo;origine. Ils fournissent une mani&egrave;re structur&eacute;e et organis&eacute;e d&rsquo;ajouter du code personnalis&eacute; et de modifier des donn&eacute;es, rendant le d&eacute;veloppement de WordPress plus flexible et &eacute;volutif.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les hooks WordPress, ou crochets, peuvent vous aider &agrave; atteindre vos objectifs commerciaux en &eacute;tendant les capacit&eacute;s de votre site WordPress. Ils vous permettent d&rsquo;interagir et de modifier le code &agrave; des endroits sp&eacute;cifiques sans modifier le c&oelig;ur du CMS et permettent aux utilisateurs de modifier et d&rsquo;ajouter facilement diverses fonctionnalit&eacute;s aux th&egrave;mes et plugins [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/hooks-wordpress\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":335,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"%title%","rank_math_description":"Les hooks WordPress permettent de manipuler une proc\u00e9dure sans modifier les fichiers de base de WordPress. D\u00e9couvrez plus dans l'article","rank_math_focus_keyword":"","footnotes":""},"categories":[4777],"tags":[],"class_list":["post-26328","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/what-are-wordpress-hooks\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/wordpress-hooks\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/hooks-wordpress\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/que-son-hooks-wordpress\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-hooks\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-hooks\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/que-son-hooks-wordpress\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/que-son-hooks-wordpress\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/que-son-hooks-wordpress\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wordpress-hooks\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/335"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=26328"}],"version-history":[{"count":7,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26328\/revisions"}],"predecessor-version":[{"id":37062,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26328\/revisions\/37062"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=26328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=26328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=26328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}