{"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>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>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>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>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>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>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><p class=\"important\"><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.<\/p><\/div>\n\n\n\n<\/p><p>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>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>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>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>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>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><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>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>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>En pratique, cela ressemble &agrave; ceci :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69f933dfd02ee\"}' data-wp-interactive=\"core\/image\" 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-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-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\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\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><\/div><h3 class=\"wp-block-heading\" id=\"h-creer-un-crochet-de-filtre\">Cr&eacute;er un crochet de filtre<\/h3><p>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>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>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>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>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\":\"69f933dfd0d7b\"}' data-wp-interactive=\"core\/image\" 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-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-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\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\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><\/div><p>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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><\/div><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>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>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>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>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Autres lectures<\/h4>\n                    <p><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\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-faq-sur-les-hooks-wordpress\">FAQ sur les hooks WordPress<\/h2><p>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":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-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/what-are-wordpress-hooks","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/what-are-wordpress-hooks\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/what-are-wordpress-hooks\/","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":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/que-son-hooks-wordpress","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}],"_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}]}}