{"id":30634,"date":"2024-03-23T01:00:48","date_gmt":"2024-03-23T01:00:48","guid":{"rendered":"\/tutoriels\/?p=30634"},"modified":"2024-09-26T14:07:33","modified_gmt":"2024-09-26T14:07:33","slug":"add-filter-wordpress","status":"publish","type":"post","link":"\/fr\/tutoriels\/add-filter-wordpress\/","title":{"rendered":"Que sont les filtres dans WordPress et comment utiliser add_filter sur WordPress"},"content":{"rendered":"<p>Un filtre WordPress est un hook qui manipule des donn&eacute;es internes avant qu&rsquo;elles ne soient affich&eacute;es sur le navigateur. Pour cr&eacute;er un filtre, ajoutez la fonction <strong>add_filter <\/strong>dans le fichier <strong>functions.php <\/strong>de votre site web.&nbsp;<\/p><p>Dans le cadre du d&eacute;veloppement de WordPress, les utilisateurs se servent de ce filtre pour modifier un plugin, un th&egrave;me ou une fonctionnalit&eacute; sp&eacute;cifique d&rsquo;un site web. Par exemple, vous pouvez modifier la longueur de l&rsquo;extrait des articles de votre site web ou ajouter une note de bas de page aux articles.<\/p><p>Dans ce tutoriel WordPress, nous expliquerons comment utiliser la fonction <strong>add_filter <\/strong>pour cr&eacute;er un hook de filtre. Nous explorerons &eacute;galement les param&egrave;tres de la fonction et fournirons des exemples de cas d&rsquo;utilisation courants.&nbsp;<\/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><p>\n\n\n\n\n\n<div class=\"protip\"><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                   Qu'est-ce qu'un filtre WordPress ?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Un filtre WordPress est un hook qui modifie les donn&eacute;es avant qu&rsquo;elles ne soient renvoy&eacute;es &agrave; la base de donn&eacute;es et affich&eacute;es aux utilisateurs. Par cons&eacute;quent, vous pouvez personnaliser les plugins, les th&egrave;mes ou les fonctionnalit&eacute;s des sites web sans modifier les fichiers du core de WordPress.<\/p><p>Par exemple, ajouter une note de bas de page &agrave; tous les articles du site web ou modifier la longueur de leur extrait. Il existe quatre fonctions communes de hook de filtre &ndash; <strong>add_filter<\/strong>, <strong>remove_filter<\/strong>, <strong>has_filter<\/strong> et <strong>doing_filter<\/strong>.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-comment-fonctionnent-les-filtres-wordpress\">Comment fonctionnent les filtres WordPress<\/h3><p>En bref, les filtres interceptent les donn&eacute;es transmises par WordPress. Ils les modifient en fonction de la fonction donn&eacute;e et les affichent sur les navigateurs web des utilisateurs. Pour vous aider &agrave; comprendre, regardez cet extrait :<\/p><pre class=\"wp-block-preformatted\">\/\/ Specify the filter and the callback function\n   add_filter( 'example_filter', 'example_callback' );\n   \/\/ Define the callback function\n   function example_callback( $example ) {\n      \/\/ alter $example by concatenating on it\n      $example . &lsquo; add a text at the end &rsquo;;\n      return $example;\n   }<\/pre><p>Voici l&rsquo;explication de l&rsquo;exemple :<\/p><ol class=\"wp-block-list\">\n<li>D&eacute;finissez un filtre &agrave; l&rsquo;aide de la fonction <strong>add_filter <\/strong>qui modifiera les donn&eacute;es. Dans notre cas, le nom du filtre est <strong>example_filter<\/strong>.<\/li>\n\n\n\n<li>D&eacute;finissez la fonction callback qui sera ex&eacute;cut&eacute;e lorsque WordPress trouvera le filtre, &agrave; savoir <strong>example_callback<\/strong>.<\/li>\n\n\n\n<li>Sp&eacute;cifiez comment la fonction de rappel modifiera les donn&eacute;es, que l&rsquo;argument <strong>$example <\/strong>repr&eacute;sente. Dans l&rsquo;extrait, nous utiliserons le point pour le concat&eacute;ner avec une phrase &agrave; la fin.<\/li>\n\n\n\n<li>Afficher les donn&eacute;es modifi&eacute;es dans le navigateur web de l&rsquo;utilisateur &agrave; l&rsquo;aide de la m&eacute;thode de <strong>return.<\/strong><\/li>\n<\/ol><p>Pour appliquer un hook de filtre &agrave; votre site Web WordPress, &eacute;crivez le code dans le fichier <strong>functions.php <\/strong>de votre th&egrave;me actif. Si vous utilisez le service d&rsquo;<a href=\"\/fr\/hebergement-wordpress\">h&eacute;bergement WordPress<\/a> d&rsquo;Hostinger, ouvrez le <strong>Gestionnaire de fichiers <\/strong>et naviguez jusqu&rsquo;au <strong>public_html\/wp-content\/themes\/dossierdevotretheme<\/strong>.<\/p><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"410\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/function-php-twentytwentyone.png\/w=1024,h=1024,fit=scale-down\" alt=\"Le fichier functions.php dans le gestionnaire de fichiers de hPanel\" class=\"wp-image-30642\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/function-php-twentytwentyone.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/function-php-twentytwentyone.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/function-php-twentytwentyone.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/function-php-twentytwentyone.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>De plus, nous vous recommandons d&rsquo;ajouter le code au fichier de votre <a href=\"\/fr\/tutoriels\/theme-enfant-wordpress\/\">th&egrave;me enfant<\/a> pour &eacute;viter qu&rsquo;il ne disparaisse apr&egrave;s une mise &agrave; jour. Vous pouvez &eacute;galement cr&eacute;er un fichier s&eacute;par&eacute; pour les hooks de filtre dans le dossier root du th&egrave;me et &eacute;crire le code suivant dans <strong>functions.php <\/strong>pour l&rsquo;appeler :<\/p><pre class=\"wp-block-preformatted\">include _once( get_template_directory(), '\/nomdevotrefichier.php':'<\/pre><p>Si vous ne pouvez pas acc&eacute;der au dossier racine du th&egrave;me, <a href=\"\/fr\/tutoriels\/ajouter-plugin-wordpress\/\">installez un plugin<\/a> pour ajouter le code personnalis&eacute; directement &agrave; partir de votre tableau de bord d&rsquo;administration WordPress. Un plugin populaire pour cette t&acirc;che est <a href=\"https:\/\/wordpress.org\/plugins\/code-snippets\/\" target=\"_blank\" rel=\"noopener\">Code Snippets<\/a>.<\/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> La modification du fichier <strong>functions.php<\/strong> peut entra&icirc;ner une erreur ou un site web inaccessible. Pour &eacute;viter cela, <a href=\"\/fr\/tutoriels\/sauvegarder-site\/\">cr&eacute;ez une sauvegarde<\/a> avant de continuer.\n            <\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-parametres-de-add-filter-wordpress\">Param&egrave;tres de add_filter WordPress<\/h2><p>La fonction <strong>add_filter <\/strong>de WordPress a quatre param&egrave;tres. Voici chacun d&rsquo;entre eux :<\/p><ul class=\"wp-block-list\">\n<li><strong>Nom du hook<\/strong>. Le nom du filtre auquel vous souhaitez associer les fonctions de rappel.<\/li>\n\n\n\n<li><strong>Fonction de rappel<\/strong>. La fonction de rappel &agrave; ex&eacute;cuter lorsque le filtre est appliqu&eacute;.<\/li>\n\n\n\n<li><strong>Priorit&eacute;<\/strong>. Param&egrave;tre facultatif sp&eacute;cifiant l&rsquo;ordre d&rsquo;ex&eacute;cution des fonctions associ&eacute;es &agrave; un filtre. La valeur par d&eacute;faut est <strong>10<\/strong>. Plus le chiffre est bas, plus la fonction s&rsquo;ex&eacute;cute t&ocirc;t.<\/li>\n\n\n\n<li><strong>Arguments accept&eacute;s<\/strong>. Le nombre d&rsquo;arguments transmis aux fonctions accroch&eacute;es. Ce param&egrave;tre est facultatif et a une valeur par d&eacute;faut de <strong>1<\/strong>.&nbsp;<\/li>\n<\/ul><p>La syntaxe de la fonction et des param&egrave;tres est la suivante :<\/p><pre class=\"wp-block-preformatted\">add_filter( hook_name, callback_function, priority=1, \n   accepted_arguments=1);<\/pre><h2 class=\"wp-block-heading\" id=\"h-exemples-de-add-filter-dans-wordpress\">Exemples de add_filter dans WordPress<\/h2><p>Les hooks de filtre de WordPress permettent aux utilisateurs de modifier le comportement d&rsquo;une fonction ou d&rsquo;ajouter diverses fonctions &agrave; leurs sites web. Pour votre r&eacute;f&eacute;rence, cette section explorera quelques exemples d&rsquo;extraits de code.&nbsp;<\/p><h3 class=\"wp-block-heading\" id=\"h-modifier-la-longueur-de-l-extrait-d-article\">Modifier la longueur de l&rsquo;extrait d&rsquo;article<\/h3><p>Un exemple simple d&rsquo;utilisation d&rsquo;un filtre WordPress est la modification de la longueur de l&rsquo;extrait des articles par d&eacute;faut. Voici l&rsquo;extrait de code :<\/p><pre class=\"wp-block-preformatted\"> add_filter( &lsquo;excerpt_length&rsquo;, &lsquo;change_length&rsquo; );\n   function change_length( $length )\n   {\n      \/\/ change the default excerpt length\n      return 20;\n   }<\/pre><p>Dans l&rsquo;extrait, nous avons cr&eacute;&eacute; une fonction qui modifie la longueur de l&rsquo;extrait de l&rsquo;article, que l&rsquo;argument <strong>$length <\/strong>repr&eacute;sente. Ensuite, nous avons reli&eacute; la fonction au filtre <strong>excerpt_length.&nbsp;<\/strong><\/p><p>Lorsque les donn&eacute;es passent &agrave; travers le filtre, la fonction s&rsquo;ex&eacute;cute et les modifie en cons&eacute;quence. Ensuite, la m&eacute;thode de <strong>return <\/strong>limitera la longueur de l&rsquo;extrait &agrave; <strong>20 <\/strong>et le transmettra &agrave; l&rsquo;utilisateur.&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1458\" height=\"916\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/public\" alt=\"Longueur du snippet des articles WordPress modifi&eacute;s\" class=\"wp-image-30635\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/w=1458,fit=scale-down 1458w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-124.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1458px) 100vw, 1458px\" \/><\/figure><p><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 certains th&egrave;mes WordPress, vous devez &eacute;galement modifier le fichier <strong>content.php<\/strong> pour appliquer le filtre d&rsquo;extrait.\n            <\/p><\/div>.<\/p><h3 class=\"wp-block-heading\" id=\"h-modifier-le-contenu-des-articles\">Modifier le contenu des articles<\/h3><p>La fonction <strong>add_filter <\/strong>est souvent utilis&eacute;e pour ajouter un nouveau contenu aux articles de votre site web. Par exemple, voici un exemple d&rsquo;extrait de code qui place une clause de non-responsabilit&eacute; au bas de chaque article du site web :<\/p><pre class=\"wp-block-preformatted\"> add_filter( &lsquo;the_content&rsquo;, &lsquo;add_disclaimer&rsquo; );\n   function add_disclaimer( $content )\n   {\n      \/\/ concatenate the content to modify it\n      return $content . \n      &ldquo;&lt;br&gt;&lt;center&gt;&lt;strong&gt;All writings and opinions are my own&ldquo;;\n   }<\/pre><p>L&rsquo;exemple comporte le filtre <strong>the_content<\/strong>, qui s&rsquo;accroche &agrave; la fonction de rappel <strong>add_disclaimer. <\/strong>Lorsque le filtre s&rsquo;ex&eacute;cute, cette fonction modifie <strong>$content <\/strong>en le concat&eacute;nant avec le message <strong>All writings and opinions are my own<\/strong> (Tous les textes et opinions sont les miens).&nbsp;<\/p><p>Le code renverra le contenu modifi&eacute; aux navigateurs avec la clause de non-responsabilit&eacute; au bas de l&rsquo;&eacute;cran.<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1460\" height=\"500\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/public\" alt=\"Un message de disclaimer sous un article WordPress\" class=\"wp-image-30636\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/w=1460,fit=scale-down 1460w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-125.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1460px) 100vw, 1460px\" \/><\/figure><h3 class=\"wp-block-heading\" id=\"h-afficher-une-image-dans-une-categorie-d-article-specifique\">Afficher une image dans une cat&eacute;gorie d&rsquo;article sp&eacute;cifique<\/h3><p>Les hooks de filtre de WordPress vous permettent de personnaliser les articles avec un ID ou une cat&eacute;gorie sp&eacute;cifique. Dans l&rsquo;extrait suivant, nous avons ajout&eacute; une ic&ocirc;ne &agrave; chaque article appartenant &agrave; la cat&eacute;gorie premium :<\/p><pre class=\"wp-block-preformatted\">add_filter( 'the_content', 'content_filter' );\n   function content_filter( $content ) \n   {\n      \/\/ condition where the function applies\n      if ( in_category('premium') )\n      $content = sprintf(\n         '&lt;img class=\"premium-icon\"    \n         src=\"%s\/directory\/filename.png\"alt=\"Premium Content Icon\"  \n         title=\"\" \/&gt;%s', get_bloginfo( 'stylesheet_directory' ), \n         $content);\n      return $content;\n   }<\/pre><p>Dans l&rsquo;exemple, nous avons cr&eacute;&eacute; le filtre <strong>the_content <\/strong>et l&rsquo;avons associ&eacute; &agrave; la fonction de rappel <strong>wpb_content_filter.<\/strong> La fonction sp&eacute;cifie la condition dans laquelle le filtre doit s&rsquo;appliquer.<\/p><p>Dans ce cas, si l&rsquo;article appartient &agrave; la cat&eacute;gorie <strong>premium<\/strong>, la fonction de filtre modifiera le contenu en y ajoutant une image.&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1460\" height=\"970\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/public\" alt=\"Une ic&ocirc;ne sur un article d'une cat&eacute;gorie sp&eacute;cifique\" class=\"wp-image-30639\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/w=1460,fit=scale-down 1460w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-128.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1460px) 100vw, 1460px\" \/><\/figure><h3 class=\"wp-block-heading\" id=\"h-modifier-le-nombre-de-produits-affiches\">Modifier le nombre de produits affich&eacute;s<\/h3><p>Un filtre vous permet &eacute;galement de modifier un plugin eCommerce pour personnaliser votre boutique en ligne. Par exemple, voici un code personnalis&eacute; qui modifie le nombre de produits affich&eacute;s sur le plugin WooCommerce :<\/p><pre class=\"wp-block-preformatted\">add_filter('storefront_products_per_page','alter_sf_products_per_page' );\n   function alter_sf_products_per_page() \n   {\n      \/\/ change the default value\n      return 3 ;\n   }<\/pre><p>Dans l&rsquo;extrait, nous avons cr&eacute;&eacute; le filtre personnalis&eacute; <strong>storefront_products_per_page <\/strong>et l&rsquo;avons reli&eacute; &agrave; la fonction <strong>alter_sf_products_per_page. <\/strong>Lorsque les donn&eacute;es le traversent, le filtre appelle la fonction pour modifier la valeur par d&eacute;faut de <strong>12 <\/strong>&agrave; <strong>trois <\/strong>et l&rsquo;afficher dans les navigateurs des utilisateurs.<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-126.png\/public\" alt=\"Produits sur la vitrine d'un site WordPress eCommerce\" class=\"wp-image-30637\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-126.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-126.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-126.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/image-126.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h2 class=\"wp-block-heading\" id=\"h-autres-filtres-wordpress-couramment-utilises\">Autres filtres WordPress couramment utilis&eacute;s<\/h2><p>En plus de <strong>add_filter<\/strong>, voici plusieurs autres fonctions que les d&eacute;veloppeurs peuvent utiliser avec le hook de filtre.<\/p><p><strong>remove_filter()<\/strong><\/p><p>Cette fonction supprime une fonction li&eacute;e &agrave; un filtre sp&eacute;cifique. Les d&eacute;veloppeurs web l&rsquo;utilisent couramment pour supprimer la fonction par d&eacute;faut de WordPress sans supprimer enti&egrave;rement le code. Voici la syntaxe :<\/p><pre class=\"wp-block-preformatted\">remove_filter( hook_name, callback_function, priority = 10 ) ;<\/pre><p><strong>doing_filter()<\/strong><\/p><p>Cette fonction v&eacute;rifie si une autre fonction est en cours d&rsquo;ex&eacute;cution. Elle prend en param&egrave;tre le nom d&rsquo;un hook et renvoie une valeur <strong>vraie <\/strong>ou <strong>fausse.<\/strong> La syntaxe est la suivante :<\/p><pre class=\"wp-block-preformatted\">if doing_filter( 'hook_name&rsquo; )\n{ \n\/\/ execute a script if the filter is running \n};<\/pre><p><strong>has_filter()<\/strong><\/p><p>La fonction <strong>has_filter <\/strong>v&eacute;rifie si un filtre a &eacute;t&eacute; appliqu&eacute; avec succ&egrave;s &agrave; un hook. Elle prend un nom de filtre comme premier param&egrave;tre et la fonction de rappel comme second param&egrave;tre optionnel.&nbsp;<\/p><p>Pour v&eacute;rifier une fonction sp&eacute;cifique, vous devez inclure le deuxi&egrave;me param&egrave;tre. Dans le cas contraire, la fonction renverra <strong>true <\/strong>pour indiquer que n&rsquo;importe quelle fonction est connect&eacute;e au filtre. La syntaxe de la fonction est la suivante :<\/p><pre class=\"wp-block-preformatted\">has_filter( 'hook_name', 'callback_function' ) ;<\/pre><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>Un filtre est un hook WordPress permettant de modifier des donn&eacute;es avant de les afficher sur le site web. Les d&eacute;veloppeurs web l&rsquo;utilisent pour personnaliser un plugin ou un th&egrave;me afin d&rsquo;ajouter des fonctionnalit&eacute;s suppl&eacute;mentaires &agrave; leurs sites web.<\/p><p>Le hook de filtre intercepte les donn&eacute;es transmises par WordPress, les modifie en fonction de vos besoins et les affiche sur les navigateurs des visiteurs. Pour d&eacute;finir un filtre, &eacute;crivez la fonction <strong>add_filter <\/strong>avec le nom du hook et la fonction de rappel comme param&egrave;tres dans le fichier <strong>functions.php <\/strong>de votre th&egrave;me.&nbsp;<\/p><p>Les exemples de cas d&rsquo;utilisation du hook de filtre incluent la modification de la longueur des extraits d&rsquo;articles et l&rsquo;ajout d&rsquo;une clause de non-responsabilit&eacute; aux articles du site web. Outre <strong>add_filter<\/strong>, ses autres fonctions sont <strong>remove_filter<\/strong>, <strong>doing_filter <\/strong>et <strong>has_filter<\/strong>.&nbsp;<\/p><p>Si vous avez des questions ou des commentaires, n&rsquo;h&eacute;sitez pas &agrave; laisser un commentaire ci-dessous.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un filtre WordPress est un hook qui manipule des donn&eacute;es internes avant qu&rsquo;elles ne soient affich&eacute;es sur le navigateur. Pour cr&eacute;er un filtre, ajoutez la fonction add_filter dans le fichier functions.php de votre site web.&nbsp; Dans le cadre du d&eacute;veloppement de WordPress, les utilisateurs se servent de ce filtre pour modifier un plugin, un th&egrave;me [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/add-filter-wordpress\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":355,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Comment Utiliser le Filtre WordPress add_filter + Exemples","rank_math_description":"add_filter attache une fonction \u00e0 un hook. Consultez cet article pour savoir comment l'utiliser et apprendre plus sur les filtres WordPress.","rank_math_focus_keyword":"add_filter","footnotes":""},"categories":[4777],"tags":[],"class_list":["post-30634","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-add-filter","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/add-filter-wordpress","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/add-filter-wordpress","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/add-filter-wordpress","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-menggunakan-wordpress-add_filter","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-add-filter","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/what-are-filters-in-wordpress-and-how-to-use-wordpress-add_filter","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/what-are-filters-in-wordpress-and-how-to-use-wordpress-add_filter","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/add-filter-wordpress","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/add-filter-wordpress","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/add-filter-wordpress","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/add-filter-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-add-filter","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-add-filter","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-add-filter","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-add-filter","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/30634","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\/355"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=30634"}],"version-history":[{"count":4,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/30634\/revisions"}],"predecessor-version":[{"id":30645,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/30634\/revisions\/30645"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=30634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=30634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=30634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}