{"id":5846,"date":"2017-09-27T12:23:03","date_gmt":"2017-09-27T12:23:03","guid":{"rendered":"https:\/\/blog.hostinger.io\/fr-tutoriels\/?p=5846"},"modified":"2024-12-25T15:27:46","modified_gmt":"2024-12-25T15:27:46","slug":"creer-un-plugin-wordpress","status":"publish","type":"post","link":"\/fr\/tutoriels\/creer-un-plugin-wordpress","title":{"rendered":"Cr\u00e9er un plugin WordPress rapidement et facilement"},"content":{"rendered":"<p>Dans ce tutoriel de plugin WordPress, vous apprendrez comment cr&eacute;er un plugin WordPress complet avec sa propre page d&rsquo;administration.&nbsp;La raison la plus importante pour cr&eacute;er un plugin est qu&rsquo;il vous permet de s&eacute;parer votre propre code du code principal WordPress.&nbsp;Si quelque chose ne va pas avec votre plugin, le reste du site continuera g&eacute;n&eacute;ralement &agrave; fonctionner.<\/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>La modification du code WP principal peut &ecirc;tre catastrophique.&nbsp;Avec les fonctionnalit&eacute;s de plugins plus avanc&eacute;es fournies par WordPress, vous &ecirc;tes m&ecirc;me en mesure de cr&eacute;er des plugins qui modifient la fa&ccedil;on dont les fonctions principales fonctionnent sans modifier leur code.<\/p><p>\n\n\n\n\n\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">Comment cr&eacute;er un plugin WordPress ?<\/h2>\n                    <p>Pour cr&eacute;er un plugin WordPress, <strong>il faut cr&eacute;er un nouveau fichier .php, ajouter les informations d&rsquo;en-t&ecirc;te du plugin (nom, description, etc.), sous forme de commentaires et mettre ce fichier dans le dossier wp-content\/plugins<\/strong><\/p>\n                <\/div>\n\n\n\n<\/p><p>Ceci est un r&eacute;sum&eacute; qui pr&eacute;sente le niveau le plus basique pour cr&eacute;er un plugin WordPress et de le voir apparaitre dans votre tableau de bord WP. Mais pour cr&eacute;er une extension fonctionnelle, vous avez besoin de bien plus d&rsquo;&eacute;tapes et c&rsquo;est ce que nous allons voir maintenant<\/p><h2 class=\"wp-block-heading\" id=\"h-ce-dont-vous-aurez-besoin\">Ce dont vous aurez besoin<\/h2><ul class=\"wp-block-list\">\n<li>Un &eacute;diteur de texte<\/li>\n\n\n\n<li>Acc&egrave;s FTP &agrave; votre compte d&rsquo;h&eacute;bergement<\/li>\n\n\n\n<li>Une installation WordPress qui fonctionne<\/li>\n<\/ul><p>Pour compl&eacute;ter les &eacute;tapes de ce didacticiel sur les plugins WordPress, vous aurez besoin d&rsquo;un &eacute;diteur de texte tel que&nbsp;<a href=\"https:\/\/notepad-plus-plus.org\/\" target=\"_blank\" rel=\"noopener\">Notepad ++<\/a>&nbsp;ou&nbsp;<a href=\"https:\/\/netbeans.org\/\" target=\"_blank\" rel=\"noopener\">NetBeans<\/a>&nbsp;.&nbsp;Vous aurez &eacute;galement besoin d&rsquo;un acc&egrave;s FTP &agrave; votre compte d&rsquo;h&eacute;bergement et d&rsquo; une&nbsp;installation WordPress qui fonctionne.<\/p><p>Vous pouvez utiliser un logiciel FTP comme FileZilla pour t&eacute;l&eacute;charger vos fichiers et&nbsp;ce tutoriel: <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/utiliser-filezilla\">comment utiliser le client FileZilla<\/a> vous apprendra comment.<\/p><p>Ce tutoriel de plugin WordPress est destin&eacute; aux personnes ayant d&eacute;j&agrave;&nbsp;<a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/php\">une connaissance de base de PHP<\/a>.&nbsp;Vous allez &eacute;crire une nouvelle fonction, appeler des&nbsp;fonctions de WordPress existants &agrave; l&rsquo;aide des&nbsp;param&egrave;tres<strong>,<\/strong>&nbsp;et &eacute;crire des&nbsp;commentaires PHP.<\/p><p>Il est &eacute;galement fortement&nbsp;<a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/sauvegarder-site\">recommand&eacute; de cr&eacute;er une sauvegarde de votre site Web<\/a>&nbsp;avant de continuer.<\/p><h2 class=\"wp-block-heading\" id=\"h-que-sont-les-plugins-wordpress\">Que sont les plugins WordPress ?<\/h2><p>Un&nbsp;<strong><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/plugin-wordpress-definition\" target=\"_blank\" rel=\"noreferrer noopener\">plugin WordPress<\/a><\/strong>&nbsp;est un ensemble de code autonome qui am&eacute;liore et &eacute;tend la fonctionnalit&eacute; de WordPress.&nbsp;En utilisant n&rsquo;importe quelle combinaison de PHP, HTML, CSS, JavaScript\/jQuery ou tout autre langage de programmation Web, un plugin peut ajouter de nouvelles fonctionnalit&eacute;s &agrave; n&rsquo;importe quelle partie de votre site Web, y compris le panneau d&rsquo;administration.&nbsp;Vous pouvez modifier le comportement par d&eacute;faut de WordPress ou supprimer compl&egrave;tement les comportements ind&eacute;sirables.&nbsp;Les plugins vous permettent de personnaliser facilement et personnaliser WordPress pour r&eacute;pondre &agrave; vos besoins.<\/p><p>&Eacute;tant donn&eacute; que les plugins WordPress sont autonomes, ils ne modifient pas physiquement le code principal WordPress.&nbsp;Ils peuvent &ecirc;tre copi&eacute;s et install&eacute;s sur n&rsquo;importe quelle installation de WordPress.&nbsp;Un mode alternatif&nbsp;<strong>(et fortement d&eacute;courag&eacute;)<\/strong>&nbsp;de modification apport&eacute;e &agrave; WordPress consiste &agrave; &eacute;crire de nouvelles fonctions dans le&nbsp;fichier&nbsp;WordPress&nbsp;<strong>functions.php<\/strong>, qui est stock&eacute; dans le&nbsp;dossier&nbsp;<strong>\/wp-includes\/<\/strong>&nbsp; ou le&nbsp;fichier&nbsp;<strong>functions.php<\/strong>&nbsp;qui fait partie d&rsquo;un th&egrave;me.&nbsp;Cela pose un certain nombre de probl&egrave;mes potentiels.<\/p><p>WordPress et ses th&egrave;mes re&ccedil;oivent des mises &agrave; jour r&eacute;guli&egrave;res.&nbsp;Et &agrave; moins d&rsquo;utiliser&nbsp;le <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/theme-enfant-wordpress\">th&egrave;me enfant WordPress<\/a>, lorsque&nbsp;<strong>functions.php<\/strong>&nbsp;est &eacute;cras&eacute; par une mise &agrave; jour, votre nouveau code sera supprim&eacute; et vous devrez l&rsquo;&eacute;crire &agrave; nouveau.&nbsp;Si vous &eacute;crivez beaucoup de fonctions et l&rsquo;une d&rsquo;elles a une erreur que vous ne parvenez pas &agrave; d&eacute;boguer, vous devrez peut-&ecirc;tre remplacer l&rsquo;int&eacute;gralit&eacute; du fichier par l&rsquo;original, en supprimant toutes les modifications que vous avez effectu&eacute;es.&nbsp;Si vos fonctions sont supprim&eacute;es du fichier, votre site Web peut &ecirc;tre couvert par des erreurs PHP o&ugrave; il essaie d&rsquo;appeler les fonctions manquantes.<\/p><p>Les plugins ne sont jamais automatiquement &eacute;cras&eacute;s ou supprim&eacute;s lors de l&rsquo;installation des mises &agrave; jour WordPress.&nbsp;Si votre plugin a des erreurs de codage, vous pouvez g&eacute;n&eacute;ralement le d&eacute;sactiver dans le Panneau d&rsquo;administration alors que vous le r&eacute;parez.&nbsp;Si votre plugin a une grave erreur, WordPress va parfois le d&eacute;sactiver automatiquement pour vous, ce qui permet &agrave; votre site de continuer &agrave; fonctionner.<\/p><h2 class=\"wp-block-heading\" id=\"h-que-sont-les-hooks\">Que sont les hooks ?<\/h2><p>Les plugins WordPress interagissent avec le code de base en utilisant des&nbsp;<strong>hooks (crochets)<\/strong>.&nbsp;Il existe deux types de crochets diff&eacute;rents.<\/p><ol class=\"wp-block-list\">\n<li>Crochets d&rsquo;action (Pour ajouter\/supprimer des fonctions)<\/li>\n\n\n\n<li>Filtres crochets (Pour modifier les donn&eacute;es g&eacute;n&eacute;r&eacute;es par les fonctions)<\/li>\n<\/ol><h3 class=\"wp-block-heading\" id=\"h-actions-et-crochets-d-action\"><strong>Actions et crochets d&rsquo;action<\/strong><\/h3><p>Lorsque vous visitez une page d&rsquo;un site WordPress, une s&eacute;rie de fonctions PHP (appel&eacute;es&nbsp;<strong>actions<\/strong>) sont appel&eacute;es &agrave; diff&eacute;rents points, et elles sont associ&eacute;es aux&nbsp;<strong>raccourcis d&rsquo;action.&nbsp;<\/strong>En utilisant les&nbsp;<strong>crochets d&rsquo;action<\/strong>&nbsp;fournis par WordPress<strong>,<\/strong>&nbsp;vous pouvez&nbsp;<strong>ajouter<\/strong>&nbsp;vos propres fonctions &agrave; la liste des actions qui se d&eacute;roulent lorsqu&rsquo;un appel d&rsquo;action est appel&eacute;, et que vous pouvez &eacute;galement&nbsp;<strong>supprimer<\/strong>&nbsp;des fonctions pr&eacute;existantes &agrave; partir d&rsquo;un crochet d&rsquo;action.&nbsp;Les crochets d&rsquo;action dictent lorsque les actions sont appel&eacute;es.&nbsp;Avant la fermeture de la&nbsp;<strong>balise &lt;\/&nbsp;&nbsp; head&gt;<\/strong>&nbsp;de n&rsquo;importe quelle page, le&nbsp;crochet d&rsquo;action&nbsp;<strong>wp_head()&nbsp;<\/strong>&nbsp;est appel&eacute; et les actions&nbsp;<strong>attach&eacute;es<\/strong>&nbsp;&agrave;&nbsp;<strong>wp_head()&nbsp;<\/strong>sont ex&eacute;cut&eacute;es.<\/p><p>Les crochets d&rsquo;action sont contextuels &ndash; certains sont appel&eacute;s sur chaque page de votre site Web, d&rsquo;autres ne sont appel&eacute;s que lorsque vous visualisez le Panneau de d&rsquo;administration, etc.&nbsp;Une liste compl&egrave;te des gestes d&rsquo;actions et le contexte dans lequel elles sont appel&eacute;es peut &ecirc;tre trouv&eacute; sur la&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\" target=\"_blank\" rel=\"noopener\">page de r&eacute;f&eacute;rence des API\/Action pour les plugins WordPress<\/a>.<\/p><h4 class=\"wp-block-heading\" id=\"h-ajout-de-fonctions-a-un-crochet-d-action-a-l-aide-de-add-action\"><strong>Ajout de fonctions &agrave; un crochet d&rsquo;action &agrave; l&rsquo;aide de add_action()<\/strong><\/h4><p>Pour&nbsp;<strong>ajouter<\/strong>&nbsp;une fonction &agrave; un crochet d&rsquo;action, votre plugin doit appeler la fonction WordPress nomm&eacute;e&nbsp;<strong>add_action ()<\/strong>, avec au moins deux param&egrave;tres.<\/p><pre class=\"wp-block-preformatted\">\/\/ Hook to the 'init' action, which is called after WordPress is finished loading the core code\nadd_action( 'init', 'add_Cookie' );\n \n\/\/ Set a cookie with the current time of day\nfunction add_Cookie() {\n  setcookie(\"last_visit_time\", date(\"r\"), time()+60*60*24*30, \"\/\");\n}<\/pre><ul class=\"wp-block-list\">\n<li>Le premier param&egrave;tre requis est le nom du&nbsp;<strong>crochet d&rsquo;action<\/strong>&nbsp;auquel vous souhaitez attacher<\/li>\n\n\n\n<li>Le deuxi&egrave;me param&egrave;tre requis est le nom de la&nbsp;<strong>fonction<\/strong>&nbsp;que vous souhaitez ex&eacute;cuter<\/li>\n\n\n\n<li>Le troisi&egrave;me param&egrave;tre (optionnel) est la&nbsp;<strong>priorit&eacute;<\/strong>&nbsp;de la fonction que vous souhaitez ex&eacute;cuter.&nbsp;Vous pouvez accrocher n&rsquo;importe quel nombre de fonctions diff&eacute;rentes au m&ecirc;me crochet d&rsquo;action et les ranger de la mani&egrave;re que vous souhaitez.&nbsp;La priorit&eacute; par d&eacute;faut est 10, mettant votre fonction personnalis&eacute;e apr&egrave;s l&rsquo;utilisation des fonctions int&eacute;gr&eacute;es de WordPress.&nbsp;Une fonction avec une priorit&eacute; de 11 s&rsquo;ex&eacute;cute ensuite, et ainsi de suite.<\/li>\n\n\n\n<li>Le quatri&egrave;me param&egrave;tre (facultatif) est le&nbsp;<strong>nombre d&rsquo;arguments<\/strong>, c&rsquo;est-&agrave;-dire le nombre de param&egrave;tres que votre fonction personnalis&eacute;e peut prendre.&nbsp;La valeur par d&eacute;faut est 1.<\/li>\n<\/ul><h4 class=\"wp-block-heading\" id=\"h-exemple-de-code-de-plugin-pour-afficher-le-texte-apres-le-pied-de-page-de-chaque-page\"><strong>Exemple de code de plugin pour afficher le texte apr&egrave;s le pied de page de chaque page<\/strong><\/h4><p>Ce plugin<strong>&nbsp;<\/strong><strong>g&egrave;re le<\/strong>&nbsp;crochet d&rsquo;action&nbsp;<strong>wp_footer ()<\/strong>, qui est appel&eacute; juste avant la&nbsp;<strong>balise &lt;\/body&gt;<\/strong><strong>de<\/strong> fermeture&nbsp;de chaque page, et ajoute une nouvelle fonction nomm&eacute;e&nbsp;<strong>mfp_Add_Text ()<\/strong>.&nbsp;Comme cela fait partie d&rsquo;un plugin et non d&rsquo;un th&egrave;me, il continuera &agrave; fonctionner si vous activez un th&egrave;me enti&egrave;rement diff&eacute;rent.&nbsp;Vous pouvez enregistrer cet exemple en tant que fichier PHP, le t&eacute;l&eacute;charger dans le&nbsp;dossier&nbsp;<strong>wp\/plugins\/<\/strong>et l&rsquo;activer dans le Panneau d&rsquo;administration pour voir la modification.<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\nPlugin Name: Add Text To Footer\n*\/\n \n\/\/ Hook the 'wp_footer' action hook, add the function named 'mfp_Add_Text' to it\nadd_action(\"wp_footer\", \"mfp_Add_Text\");\n \n\/\/ Define 'mfp_Add_Text'\nfunction mfp_Add_Text()\n{\n  echo \"&lt;p style='color: black;'&gt;After the footer is loaded, my text is added!&lt;\/p&gt;\";\n}<\/pre><p>La capture d&rsquo;&eacute;cran suivante montre le plugin en action apr&egrave;s son activation via le panneau d&rsquo;administration de WordPress :<br><\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"900\" height=\"560\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/asynchronous-plugin-rendering-blocage-rendu.jpg\/public\" alt=\"Tutoriel  WordPress Plugin - Cr&eacute;er un  simple plugin \" class=\"wp-image-5812\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/asynchronous-plugin-rendering-blocage-rendu.jpg\/w=900,fit=scale-down 900w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/asynchronous-plugin-rendering-blocage-rendu.jpg\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/asynchronous-plugin-rendering-blocage-rendu.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/asynchronous-plugin-rendering-blocage-rendu.jpg\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure><\/div><p>\n\n<div><p class=\"important\"><strong>REMARQUE :<\/strong>&nbsp;vous pouvez appeler&nbsp;<strong>add_action()<\/strong>&nbsp;avant de d&eacute;finir votre propre fonction car PHP &eacute;value tout le script avant de l&rsquo;ex&eacute;cuter.&nbsp;L&rsquo;&eacute;criture des&nbsp;<strong>appels<\/strong><strong> add_action()<\/strong>&nbsp;en haut du fichier dans l&rsquo;ordre o&ugrave; ils sont ex&eacute;cut&eacute;s, puis la d&eacute;finition de vos fonctions dans le m&ecirc;me ordre ci-dessous rend le fichier plus facile &agrave; lire.<\/p><\/div>\n\n\n\n<\/p><h4 class=\"wp-block-heading\" id=\"h-suppression-de-fonctions-a-partir-d-un-crochet-d-action-a-l-aide-de-remove-action\"><strong>Suppression de fonctions &agrave; partir d&rsquo;un crochet d&rsquo;action &agrave; l&rsquo;aide de remove_action()<\/strong><\/h4><p>Pour&nbsp;<strong>supprimer<\/strong>&nbsp;une action d&rsquo;un crochet d&rsquo;action, vous devez &eacute;crire une nouvelle fonction qui appelle&nbsp;<strong>remove_action(),<\/strong>&nbsp;puis appeler la fonction que vous avez &eacute;crite &agrave; l&rsquo;aide de&nbsp;<strong>add_action()<\/strong>.&nbsp;L&rsquo;exemple ci-dessous rendra cela plus clair.<\/p><p>Vous devez donner &agrave;&nbsp;<strong>remove_action()<\/strong>&nbsp;&nbsp;au moins deux informations en tant que&nbsp;<strong>param&egrave;tres.<\/strong><\/p><pre class=\"wp-block-preformatted\">\/\/ Hook the 'init' action, which is called after WordPress is finished loading the core code, add the function 'remove_My_Meta_Tags'\nadd_action( 'init', 'remove_My_Meta_Tags' );\n\n\/\/ Remove the 'add_My_Meta_Tags' function from the wp_head action hook\nfunction remove_My_Meta_Tags()\n{\n  remove_action( 'wp_head', 'add_My_Meta_Tags');\n}<\/pre><ul class=\"wp-block-list\">\n<li>Le premier param&egrave;tre requis est le nom du&nbsp;<strong>crochet d&rsquo;action <\/strong><strong>auquel<\/strong>&nbsp;la fonction est accroch&eacute;e<\/li>\n\n\n\n<li>Le deuxi&egrave;me param&egrave;tre requis est le nom de la&nbsp;<strong>fonction<\/strong>&nbsp;que vous souhaitez supprimer<\/li>\n\n\n\n<li>Le troisi&egrave;me param&egrave;tre (optionnel) est la&nbsp;<strong>priorit&eacute;<\/strong>&nbsp;de la fonction d&rsquo;origine.&nbsp;Ce param&egrave;tre doit &ecirc;tre identique &agrave; la priorit&eacute; d&eacute;finie &agrave; l&rsquo;origine lors de l&rsquo;ajout de l&rsquo;action au crochet d&rsquo;action.&nbsp;Si vous n&rsquo;avez pas d&eacute;fini de priorit&eacute; dans votre fonction personnalis&eacute;e, n&rsquo;incluez pas le param&egrave;tre.<\/li>\n<\/ul><p><strong>Exemple :<\/strong>&nbsp;imaginez que vous ne voulez pas que le texte ajout&eacute; au pied de page dans l&rsquo;exemple pr&eacute;c&eacute;dent apparaisse un lundi.&nbsp;L&rsquo;une des fa&ccedil;ons de le faire est d&rsquo;utiliser la fonction de la date de PHP pour obtenir le jour en cours, suivie d&rsquo;une&nbsp;instruction conditionnelle&nbsp;<strong>si &hellip; puis &hellip;<\/strong>&nbsp;pour v&eacute;rifier si le jour en cours est lundi, puis appeler&nbsp;<strong>remove_action()&nbsp;<\/strong>s&rsquo;il s&rsquo;agit d&rsquo;un lundi.&nbsp;Vous appelez la fonction en utilisant&nbsp;<strong>add_action()<\/strong>, en accrochant tout crochet d&rsquo;action qui se produit avant l&rsquo;action que vous souhaitez affecter.&nbsp;Si vous essayez d&rsquo;accrocher un crochet d&rsquo;action qui se produit apr&egrave;s&nbsp;<strong>wp_footer<\/strong>&nbsp;dans cet exemple, l&rsquo;action ne sera pas supprim&eacute;e du crochet car elle a d&eacute;j&agrave; &eacute;t&eacute; ex&eacute;cut&eacute;e.<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n \n\/\/ Hook the 'wp_footer' action, run the function named 'mfp_Add_Text()'\nadd_action(\"wp_footer\", \"mfp_Add_Text\");\n \n\/\/ Hook the 'wp_head' action, run the function named 'mfp_Remove_Text()'\nadd_action(\"wp_head\", \"mfp_Remove_Text\");\n \n\/\/ Define the function named 'mfp_Add_Text('), which just echoes simple text\nfunction mfp_Add_Text()\n{\n  echo \"&lt;p style='color: #FFF;'&gt;After the footer is loaded, my text is added!&lt;\/p&gt;\";\n}\n \n\/\/ Define the function named 'mfp_Remove_Text()' to remove our previous function from the 'wp_footer' action\nfunction mfp_Remove_Text()\n{\n  if (date(\"l\") === \"Monday\") {\n    \/\/ Target the 'wp_footer' action, remove the 'mfp_Add_Text' function from it\n    remove_action(\"wp_footer\", \"mfp_Add_Text\");\n  }\n}<\/pre><h3 class=\"wp-block-heading\" id=\"h-filtres-et-crochets-filtrants\">Filtres et crochets filtrants<\/h3><p>Une&nbsp;<strong>fonction de filtre<\/strong>&nbsp;vous permet de modifier les donn&eacute;es r&eacute;sultantes qui sont renvoy&eacute;es par des fonctions existantes et doivent &ecirc;tre accroch&eacute;es &agrave; l&rsquo;un des&nbsp;<strong>crochets de filtre<\/strong>.&nbsp;Les crochets de filtre disponibles sont diff&eacute;rents des crochets d&rsquo;action.&nbsp;Ils se comportent de mani&egrave;re similaire aux crochets d&rsquo;action en ce sens qu&rsquo;ils sont appel&eacute;s &agrave; diff&eacute;rents points du script et sont contextuels.&nbsp;Une liste compl&egrave;te des crochets de filtre et le contexte dans lequel ils sont appel&eacute;s se trouvent sur la&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Filter_Reference\" target=\"_blank\" rel=\"noopener\">page de r&eacute;f&eacute;rence des API\/filtres pour les plugins WordPress.<\/a><\/p><h4 class=\"wp-block-heading\" id=\"h-ajout-de-filtres-a-l-aide-de-add-filter\">Ajout de filtres &agrave; l&rsquo;aide de add_filter()<\/h4><p>Pour&nbsp;<strong>ajouter<\/strong>&nbsp;une fonction de filtre &agrave; n&rsquo;importe quel crochet de filtre, votre plugin doit appeler la fonction WordPress nomm&eacute;e&nbsp;<strong>add_filter()<\/strong>, avec au moins deux param&egrave;tres.=<\/p><pre class=\"wp-block-preformatted\">\/\/ Hook the 'the_content' filter hook (content of any post), run the function named 'mfp_Fix_Text_Spacing'\nadd_filter(\"the_content\", \"mfp_Fix_Text_Spacing\");\n\n\/\/ Automatically correct double spaces from any post\nfunction mfp_Fix_Text_Spacing($the_Post)\n{\n $the_New_Post = str_replace(\"  \", \" \", $the_Post);\n \n return $the_New_Post;\n}<\/pre><ul class=\"wp-block-list\">\n<li>Le premier param&egrave;tre requis est le nom du&nbsp;<strong>crochet de filtre<\/strong>&nbsp;que vous souhaitez raccorder<\/li>\n\n\n\n<li>Le deuxi&egrave;me param&egrave;tre requis est le nom de la&nbsp;<strong>fonction de filtre<\/strong>&nbsp;que vous souhaitez ex&eacute;cuter<\/li>\n\n\n\n<li>Le troisi&egrave;me param&egrave;tre (optionnel) est la&nbsp;<strong>priorit&eacute;<\/strong>&nbsp;de la fonction que vous souhaitez ex&eacute;cuter.&nbsp;Vous pouvez attacher n&rsquo;importe quel nombre de fonctions de filtre diff&eacute;rentes &agrave; un crochet de filtre.&nbsp;La priorit&eacute; par d&eacute;faut est 10, mettant votre fonction personnalis&eacute;e apr&egrave;s toutes les fonctions int&eacute;gr&eacute;es.&nbsp;Une fonction avec une priorit&eacute; de 11 s&rsquo;ex&eacute;cute ensuite, et ainsi de suite.<\/li>\n\n\n\n<li>Le quatri&egrave;me param&egrave;tre (facultatif) est le&nbsp;<strong>nombre d&rsquo;arguments<\/strong>, c&rsquo;est-&agrave;-dire le nombre de param&egrave;tres que votre fonction de filtre personnalis&eacute; peut prendre.&nbsp;La valeur par d&eacute;faut est 1.<\/li>\n<\/ul><h4 class=\"wp-block-heading\" id=\"h-exemple-de-plugin-pour-modifier-l-extrait-d-une-publication\"><strong>Exemple de plugin pour modifier l&rsquo;extrait d&rsquo;une publication<\/strong><\/h4><p>WordPress a une fonction qui r&eacute;cup&egrave;re l&rsquo;extrait d&rsquo;une publication nomm&eacute;e&nbsp;<strong>get_the_excerpt ()<\/strong>, qui est &eacute;galement un crochet de filtre.&nbsp;La fonction pour&nbsp;<em>afficher<\/em>&nbsp;r&eacute;ellement&nbsp;l&rsquo;extrait appelle&nbsp;<strong>get_the_excerpt()<\/strong>&nbsp;&nbsp;pour le&nbsp;<em>r&eacute;cup&eacute;rer<\/em>, c&rsquo;est l&agrave; que le filtre est appliqu&eacute; et l&rsquo;extrait est modifi&eacute; avant d&rsquo;&ecirc;tre affich&eacute;.&nbsp;Ce plugin d&eacute;finit une fonction de filtre qui prend l&rsquo;extrait comme son seul param&egrave;tre d&rsquo;entr&eacute;e, ajoute du texte devant lui et renvoie la nouvelle valeur chaque fois que&nbsp;<strong>get_the_excerpt()&nbsp;<\/strong>&nbsp;est appel&eacute;.&nbsp;Comme la valeur de retour de la fonction&nbsp;<strong>get_the_excerpt()&nbsp;<\/strong>&nbsp;est le texte d&rsquo;extrait r&eacute;el, elle est automatiquement entr&eacute;e en tant que param&egrave;tre de fonctions&nbsp;<strong>$old_Excerpt&nbsp;<\/strong>&nbsp;lorsqu&rsquo;il est appel&eacute; en utilisant&nbsp;<strong>add_filter().&nbsp;<\/strong>La fonction que vous d&eacute;finissez&nbsp;<strong>doit renvoyer la nouvelle valeur<\/strong>.<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\nPlugin Name: Add Excerpt \n*\/\n\n\/\/ Hook the get_the_excerpt filter hook, run the function named mfp_Add_Text_To_Excerpt\nadd_filter(\"get_the_excerpt\", \"mfp_Add_Text_To_Excerpt\");\n\n\/\/ Take the excerpt, add some text before it, and return the new excerpt\nfunction mfp_Add_Text_To_Excerpt($old_Excerpt)\n{\n  $new_Excerpt = \"&lt;b&gt;Excerpt: &lt;\/b&gt;\" . $old_Excerpt;\n  return $new_Excerpt;\n}<\/pre><p>R&eacute;sultat final :&nbsp;suppression de filtres &agrave; l&rsquo;aide de remove_filter()<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/07\/wordpress-plugin-adding-text-to-footer.png\"><img decoding=\"async\" width=\"781\" height=\"223\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/creation-du-reseau.png\/public\" alt=\"le plugin de wordpress cr&eacute;&eacute; en action\" class=\"wp-image-5900\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/creation-du-reseau.png\/w=781,fit=scale-down 781w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/creation-du-reseau.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/creation-du-reseau.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/creation-du-reseau.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 781px) 100vw, 781px\" \/><\/a><\/figure><\/div><p>La suppression d&rsquo;un filtre est beaucoup plus simple que de supprimer une action car vous pouvez appeler la fonction&nbsp;<strong>remove_filter()&nbsp;<\/strong>&nbsp;sans d&eacute;finir une nouvelle fonction.&nbsp;Pour cet exemple, nous ajouterons une fois de plus une situation conditionnelle tr&egrave;s simple et supprimez le texte si le jour actuel est un jeudi.<\/p><pre class=\"wp-block-preformatted\">\/\/ Hook the get_the_excerpt filter hook, run the function named mfp_Add_Text_To_Excerpt\nadd_filter(\"get_the_excerpt\", \"mfp_Add_Text_To_Excerpt\");\n\n\/\/ If today is a Thursday, remove the filter from the_excerpt()\nif (date(\"l\") === \"Thursday\") {\n  remove_filter(\"get_the_excerpt\", \"mfp_Add_Text_To_Excerpt\");\n}\n\n\/\/ Take the excerpt, add some text before it, and return the new excerpt\nfunction mfp_Add_Text_To_Excerpt($old_Excerpt)\n{\n  $new_Excerpt = \"&lt;b&gt;Excerpt: &lt;\/b&gt;\" . $old_Excerpt;\n  return $new_Excerpt;\n}<\/pre><p>Maintenant que vous avez une compr&eacute;hension de base des crochets et des filtres, cr&eacute;ez un simple plugin WordPress qui ajoute un nouveau lien et une page au panneau de contr&ocirc;le Admin.<\/p><h2 class=\"wp-block-heading\" id=\"h-etape-1-enregistrement-de-votre-plugin\">&Eacute;tape 1 &ndash; Enregistrement de votre plugin<\/h2><p>La premi&egrave;re &eacute;tape pour cr&eacute;er votre plugin WordPress est de cr&eacute;er un dossier pour stocker tous vos fichiers.&nbsp;Les plugins sont enregistr&eacute;s dans le dossier suivant: \/<strong>wp-content\/plugins\/<\/strong>.&nbsp;Le dossier que vous cr&eacute;ez n&eacute;cessite un nom unique et descriptif pour s&rsquo;assurer qu&rsquo;il ne contredit aucun autre plugin.&nbsp;Connectez-vous &agrave; votre compte d&rsquo;h&eacute;bergement avec&nbsp;un client FTP&nbsp;.&nbsp;Dans le r&eacute;pertoire principal de WordPress, acc&eacute;dez au&nbsp;<strong>contenu wp<\/strong>, puis aux&nbsp;<strong>plugins<\/strong>.&nbsp;Dans le&nbsp;<strong>dossier des plugins,<\/strong>&nbsp;cr&eacute;ez un nouveau dossier nomm&eacute;&nbsp;<strong>my-first-plugin<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"646\" height=\"477\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/public\" alt=\"plugin filezilla\" class=\"wp-image-5892\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/w=646,fit=scale-down 646w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/w=74,fit=scale-down 74w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/plugin-filezilla.png\/w=111,fit=scale-down 111w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/figure><\/div><p>Pour rendre les choses beaucoup plus faciles pour vous-m&ecirc;me dans le futur, il est pr&eacute;f&eacute;rable de s&eacute;parer les diff&eacute;rents fichiers qui composent votre plugin WordPress et de leur donner leurs propres sous-dossiers plut&ocirc;t que d&rsquo;avoir tous les fichiers de votre plugin dans le dossier principal.&nbsp;Lorsqu&rsquo;un plugin se d&eacute;veloppe et devient complexe, il est beaucoup plus facile de trouver un fichier sp&eacute;cifique lorsque tout a sa propre place.&nbsp;Si votre plugin utilise un&nbsp;CSS personnalis&eacute;, vous cr&eacute;ez un&nbsp;dossier&nbsp;<strong>CSS<\/strong>&nbsp;et enregistrez tous les fichiers CSS.&nbsp;Si votre plugin utilise JavaScript personnalis&eacute;, vous cr&eacute;ez un&nbsp;dossier&nbsp;<strong>JavaScript<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-etape-2-creation-du-premier-fichier\">&Eacute;tape 2 &ndash; Cr&eacute;ation du premier fichier<\/h2><p>Le premier fichier de votre plugin est important.&nbsp;Il contient toutes les informations n&eacute;cessaires &agrave; WordPress pour afficher votre plugin dans la liste des plugins, ce qui vous permet d&rsquo;activer le plugin.<\/p><p>Dans votre&nbsp;dossier&nbsp;<strong>my-first-plugin<\/strong>, cr&eacute;ez un nouveau fichier PHP nomm&eacute;&nbsp;<strong>my-first-plugin.php.&nbsp;<\/strong>C&rsquo;est une bonne pratique de donner &agrave; ce premier fichier un nom similaire &agrave; celui que vous avez donn&eacute; &agrave; votre dossier, mais il peut avoir n&rsquo;importe quel nom que vous aimez.&nbsp;Ajoutez la balise PHP d&rsquo;ouverture&nbsp;<strong>&lt;?php<\/strong>&nbsp;&agrave; la premi&egrave;re ligne.&nbsp;Vous n&rsquo;avez pas besoin d&rsquo;ajouter une balise de fermeture &agrave; la fin du fichier (pour comprendre pourquoi, lire la note sur&nbsp;<a href=\"http:\/\/php.net\/basic-syntax.instruction-separation\" target=\"_blank\" rel=\"noopener\">cette page du manuel PHP<\/a>).&nbsp;Ce fichier contiendra principalement les &laquo; commentaires d&rsquo;en-t&ecirc;te &raquo; avec diverses informations qui seront lues\/affich&eacute;es par WordPress.&nbsp;Les commentaires de l&rsquo;en-t&ecirc;te vont dans un commentaire en ligne multi-lignes, un par ligne et chaque ligne commence par un texte sp&eacute;cifique pour d&eacute;finir &agrave; quoi se r&eacute;f&egrave;re la ligne.&nbsp;Ceux-ci doivent uniquement passer dans ce premier fichier et&nbsp;<strong>ne doivent pas &ecirc;tre<\/strong>&nbsp;dans un autre fichier.<\/p><p>Le premier commentaire que vous devez ajouter &agrave;&nbsp;<strong>my-first-plugin.php<\/strong>&nbsp;est le nom de votre plugin.&nbsp;Commencez par &eacute;crire l&rsquo;ouvreur de commentaire multi-lignes PHP<strong>\/*<\/strong>&nbsp;sur la deuxi&egrave;me ligne du fichier, juste en dessous de l&rsquo;&eacute;tiquette PHP d&rsquo;ouverture.&nbsp;Sur la troisi&egrave;me ligne, &eacute;crivez le&nbsp;<strong>Plugin Name: My First Plugin.&nbsp;<\/strong>Sur la quatri&egrave;me ligne, fermez la section de commentaire avec&nbsp;<strong>*\/<\/strong>.&nbsp;Votre fichier ressemble maintenant &agrave; ceci :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\nPlugin Name: Mon premier plugin\n*\/<\/pre><p>Enregistrez le fichier et t&eacute;l&eacute;chargez-le dans le&nbsp;dossier&nbsp;<strong>my-first-plugin<\/strong>.&nbsp;Acc&eacute;dez &agrave; la page Plugins du panneau d&rsquo;administration de WordPress.&nbsp;Vous verrez maintenant un plugin dans la liste nomm&eacute;e&nbsp;<strong>Mon premier plugin<\/strong>&nbsp;avec des liens vers&nbsp;<strong>Activer<\/strong>,&nbsp;<strong>Editer<\/strong>&nbsp;&nbsp;et&nbsp;<strong>Supprimer<\/strong>&nbsp;le plugin.&nbsp;Il existe quelques informations diff&eacute;rentes que vous pouvez ajouter &agrave; ce point, comme une description du plugin, votre propre nom, un lien vers votre site web, la version actuelle de votre plugin, etc. Pour l&rsquo;instant, nous n&rsquo;ajouterons qu&rsquo;une description et ton nom.Plugin Name h&eacute;berg&eacute;&nbsp;par&nbsp;<a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/p><p>&Eacute;ditez&nbsp;<strong>my-first-plugin.php<\/strong>&nbsp;afin qu&rsquo;il ressemble &agrave; l&rsquo;exemple ci-dessous, t&eacute;l&eacute;chargez-le et &eacute;crasez l&rsquo;ancien fichier lorsque demand&eacute; :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\nPlugin Name: Mon premier plugin\nDescription: Mon premier plugin !\nAuthor: Moi\n*\/<\/pre><p>Une fois qu&rsquo;il est t&eacute;l&eacute;charg&eacute;, actualisez la&nbsp;page&nbsp;<strong>Extensions <\/strong>de la&nbsp;zone d&rsquo;administration de WordPress&nbsp;et vous devriez maintenant voir votre plugin avec sa nouvelle description et&nbsp;<strong>Par votre nom<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"814\" height=\"253\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-premier-plugin.png\/public\" alt=\"Une capture d'&eacute;cran du tableau de bord WordPress montrant o&ugrave; trouver votre plugin \" class=\"wp-image-5891\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-premier-plugin.png\/w=814,fit=scale-down 814w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-premier-plugin.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-premier-plugin.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-premier-plugin.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-etape-3-ecriture-des-fonctions-de-votre-plugin\">&Eacute;tape 3 &ndash; &Eacute;criture des fonctions de votre plugin<\/h2><p>Comme mentionn&eacute; pr&eacute;c&eacute;demment, la meilleure pratique lors du d&eacute;veloppement d&rsquo;un plugin consiste &agrave; bien s&eacute;parer votre code en fichiers et dossiers appropri&eacute;s.&nbsp;&Eacute;tant donn&eacute; que le premier travail du premier fichier consiste &agrave; contenir les en-t&ecirc;tes de commentaires, il est logique de placer le reste du code du plugin dans des fichiers distincts dans leur propre sous-dossier, en utilisant les fonctions &laquo; include &raquo; de PHP pour y acc&eacute;der.&nbsp;Tous les fichiers stock&eacute;s dans les sous-dossiers sont appel&eacute;s directement par notre code et uniquement par notre code, de sorte que les noms de sous-dossiers n&rsquo;ont pas besoin de pr&eacute;fixe.&nbsp;Cependant, il est fortement recommand&eacute; de donner &agrave; tous vos fichiers, fonctions et variables un pr&eacute;fixe unique dans leur nom afin d&rsquo;&eacute;viter tout conflit avec d&rsquo;autres plugins.&nbsp;Dans ce cas, nous utilisons le&nbsp;<strong>mfp<\/strong>&nbsp;comme pr&eacute;fixe, ce qui signifie &laquo; My First Plugin &raquo;.<\/p><p>Dans le dossier principal de votre plugin, cr&eacute;ez un nouveau dossier nomm&eacute;&nbsp;<strong>inclus.&nbsp;<\/strong>Tout fichier qui est &laquo; inclus &raquo; par un autre fichier ira dans ce dossier.&nbsp;Cr&eacute;ez un nouveau fichier PHP dans le&nbsp;dossier&nbsp;<strong>inclus<\/strong>&nbsp;et enregistrez-le sous&nbsp;<strong>mfp-functions.php.&nbsp;<\/strong>Donnez-lui le tag d&rsquo;ouverture&nbsp;<strong>&lt;?php<\/strong>&nbsp; sur la premi&egrave;re ligne.&nbsp;Ce nouveau fichier est l&rsquo;endroit o&ugrave; toutes les fonctions de votre plugin seront stock&eacute;es.<\/p><p>Revenez maintenant &agrave;&nbsp;<strong>my-first-plugin.php<\/strong>&nbsp;dans le dossier principal de votre plugin.&nbsp;Nous devons inclure le&nbsp;fichier&nbsp;<strong>mfp-functions.php<\/strong>&nbsp;afin d&rsquo;utiliser les nouvelles fonctions.&nbsp;Puisque c&rsquo;est le fichier principal du plugin, y compris&nbsp;<strong>mfp-functions.php<\/strong>, les fonctions sont disponibles pour tout autre fichier de votre plugin.&nbsp;Utilisez&nbsp;<strong>require_once<\/strong>&nbsp;pour vous assurer que le plugin ne fonctionne que si le fichier de fonctions est disponible.&nbsp;La fa&ccedil;on la plus simple d&rsquo;inclure les fichiers de votre dossier de plugin est en utilisant la fonction WordPress&nbsp;<strong>plugin_dir_path(__ FILE__)<\/strong>, qui donne le chemin d&rsquo;acc&egrave;s complet au r&eacute;pertoire o&ugrave; notre plugin est stock&eacute;, puis utilisez un&nbsp;<strong>.&nbsp;<\/strong>(point) pour ajouter le nom du sous-dossier que nous avons cr&eacute;&eacute; plus t&ocirc;t (<strong>inclus<\/strong>), suivi du nom du fichier que nous avons cr&eacute;&eacute; (<strong>mfp-functions.php<\/strong>).<\/p><p>Modifiez&nbsp;<strong>my-first-plugin.php<\/strong>&nbsp;comme indiqu&eacute; ci-dessous, puis enregistrez-le et t&eacute;l&eacute;chargez-le une fois de plus, &eacute;crasant la version pr&eacute;c&eacute;dente lorsque on vous pose la question.<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\nPlugin Name: My First Plugin\nDescription: This is my first plugin! It makes a new admin menu link!\nAuthor: Your Name\n*\/\n\n\/\/ Include mfp-functions.php, use require_once to stop the script if mfp-functions.php is not found\nrequire_once plugin_dir_path(__FILE__) . 'includes\/mfp-functions.php';<\/pre><p>Retour &agrave;&nbsp;<strong>mfp-functions.php<\/strong>&nbsp;dans le&nbsp; sous&ndash;dossier <strong>inclus<\/strong>.<\/p><p>C&rsquo;est une excellente id&eacute;e de regrouper des fonctions similaires et d&rsquo;&eacute;crire un commentaire multi-lignes au-dessus de chaque groupe d&eacute;crivant le groupe, suivi d&rsquo;un court commentaire d&rsquo;une seule ligne au-dessus de chaque fonction, le d&eacute;crivant bri&egrave;vement.&nbsp;De cette fa&ccedil;on, vous n&rsquo;avez pas &agrave; lire le code entier pour trouver une fonction et comprendre ce qu&rsquo;il fait.&nbsp;Nous&nbsp;<strong>nommerons <\/strong>la fonction&nbsp;<strong>mfp_Add_My_Admin_Link().&nbsp;<\/strong>La fonction ajoutera un nouveau lien de niveau sup&eacute;rieur au menu de navigation du panneau de contr&ocirc;le administrateur.<\/p><p>Pour r&eacute;capituler &ndash; l&rsquo;&eacute;criture d&rsquo;une nouvelle fonction implique les &eacute;tapes suivantes :<\/p><ul class=\"wp-block-list\">\n<li>&Eacute;crivez un commentaire d&eacute;crivant la fonction<\/li>\n\n\n\n<li>Nommez la fonction<\/li>\n\n\n\n<li>&Eacute;crivez la fonction<\/li>\n<\/ul><p>Dans&nbsp;<strong>mfp-functions.php,<\/strong>&nbsp;&eacute;crivez ce qui suit :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\n * Add my new menu to the Admin Control Panel\n *\/\n \n\/\/ Add a new top level menu link to the ACP\nfunction mfp_Add_My_Admin_Link()\n{\n  \/\/ My code goes here\n}<\/pre><p>Dans notre fonction, nous devons utiliser la fonction&nbsp;<strong>int&eacute;gr&eacute;e<\/strong> <strong>de<\/strong>&nbsp;WordPress&nbsp;<strong>add_menu_page()<\/strong>pour donner &agrave; notre menu un nom, un titre et d&eacute;cider qui est autoris&eacute; &agrave; le voir.&nbsp;Ensuite, nous lui disons ce qu&rsquo;il faut afficher lorsque vous acc&eacute;dez &agrave; la page.&nbsp;Vous pouvez &eacute;galement donner au menu une ic&ocirc;ne et d&eacute;finir sa position dans le menu de navigation du panneau d&rsquo;administration &ndash; ces deux options sont facultatives, donc nous les laisserons hors de ce tutoriel.&nbsp;L&rsquo;ic&ocirc;ne courante par d&eacute;faut sera affich&eacute;e sur le lien vers notre page.&nbsp;Notre lien appara&icirc;tra au bas du menu de navigation du panneau d&rsquo;administration.&nbsp;Toutes ces informations sont entr&eacute;es en tant que param&egrave;tres de&nbsp;&nbsp;<strong>add_menu_page()<\/strong>.<\/p><p>Les quatre param&egrave;tres requis de&nbsp;<strong>add_menu_page()<\/strong>&nbsp;apparaissent sur leur propre ligne pour am&eacute;liorer la lisibilit&eacute;, dans cet ordre :<\/p><ol class=\"wp-block-list\">\n<li>Le titre de la page que vous voyez apr&egrave;s avoir cliqu&eacute; sur le lien (affich&eacute; dans l&rsquo;onglet de votre navigateur)<\/li>\n\n\n\n<li>Le texte &agrave; afficher en tant que lien de menu (affich&eacute; dans la liste de navigation du panneau d&rsquo;administration), ce devrait &ecirc;tre le nom de votre plugin<\/li>\n\n\n\n<li>La capacit&eacute; pour l&rsquo;utilisateur d&rsquo;afficher le menu, dans cet exemple, seuls les utilisateurs disposant de la fonctionnalit&eacute; &lsquo;manage_options&rsquo; peuvent acc&eacute;der &agrave; la page (ne vous inqui&eacute;tez pas pour le moment)<\/li>\n\n\n\n<li>Le fichier &agrave; utiliser lors de l&rsquo;affichage de la page r&eacute;elle (nous allons cr&eacute;er cette suite), qui sera stock&eacute; dans le&nbsp;sous-dossier&nbsp;<strong>inclus<\/strong>&nbsp;et nomm&eacute;&nbsp;<strong>mfp-first-acp-page.php.&nbsp;<\/strong>L&rsquo;URL saisie ici est appel&eacute;e &laquo; slug &raquo;.<\/li>\n<\/ol><p>Avant de continuer, il est important de noter qu&rsquo;il existe une autre fa&ccedil;on d&rsquo;utiliser cette fonction.&nbsp;Le quatri&egrave;me param&egrave;tre peut simplement &ecirc;tre une cha&icirc;ne de texte qui s&rsquo;affiche dans l&rsquo;url apr&egrave;s &lsquo;&nbsp;<strong>wp-admin\/admin.php?Page=&rsquo;<\/strong>.&nbsp;Si vous saissiez &lsquo;my-plugin-page&rsquo;, l&rsquo;URL devient&nbsp;<strong>&lsquo;wp-admin\/admin.php&rsquo;page=my-plugin-page&rsquo;<\/strong>.&nbsp;Le cinqui&egrave;me param&egrave;tre doit alors &ecirc;tre le nom d&rsquo;une fonction qui produit quelque chose.&nbsp;Vous pouvez &eacute;crire une fonction qui se traduit par &laquo; Bienvenue sur la page 1 &raquo; par exemple.&nbsp;Il est beaucoup plus facile de cr&eacute;er un fichier PHP pour contenir votre page.<\/p><p>Modifiez&nbsp;<strong>mfp-functions.php,<\/strong>&nbsp;supprimez&nbsp;<strong>\/\/ Mon code va ici, <\/strong><strong>remplacez-le<\/strong> par&nbsp;<strong>add_menu_page()<\/strong>&nbsp;et donnez-lui les param&egrave;tres comme indiqu&eacute; ci-dessous :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\n * Add my new menu to the Admin Control Panel\n *\/\n \n\/\/ Add a new top level menu link to the ACP\nfunction mfp_Add_My_Admin_Link()\n{\n      add_menu_page(\n        'My First Page', \/\/ Title of the page\n        'My First Plugin', \/\/ Text to show on the menu link\n        'manage_options', \/\/ Capability requirement to see the link\n        'includes\/mfp-first-acp-page.php' \/\/ The 'slug' - file to display when clicking the link\n    );\n}<\/pre><p>Pour que cette fonction soit effectivement ex&eacute;cut&eacute;e, nous devons utiliser la fonction WordPress nomm&eacute;e&nbsp;<strong>add_action()<\/strong>&nbsp;avec deux param&egrave;tres, comme d&eacute;crit dans la section &laquo; Ajouter des fonctions &agrave; un crochet d&rsquo;action &raquo; de ce didacticiel.&nbsp;Vous voudrez peut-&ecirc;tre lire cette section avant de continuer.<\/p><ul class=\"wp-block-list\">\n<li>Le premier param&egrave;tre est le&nbsp;<strong>crochet d&rsquo;action <\/strong><strong>que<\/strong>&nbsp;vous souhaitez cibler.&nbsp;Dans notre cas, le crochet d&rsquo;action est&nbsp;<strong>admin_menu<\/strong>&nbsp;&ndash; cela signifie que notre fonction est ex&eacute;cut&eacute;e lorsque le menu Admin est g&eacute;n&eacute;r&eacute;.<\/li>\n\n\n\n<li>Le deuxi&egrave;me param&egrave;tre est simplement le nom de la fonction &agrave; ex&eacute;cuter.&nbsp;La fonction que nous avons &eacute;crite s&rsquo;appelle&nbsp;<strong>mfp_Add_My_Admin_Link<\/strong>.&nbsp;Notez que les parenth&egrave;ses ne sont PAS utilis&eacute;es ici.&nbsp;N&rsquo;oubliez pas que PHP &eacute;value le script entier avant de l&rsquo;ex&eacute;cuter, vous permettant d&rsquo;utiliser add_action() avant de d&eacute;finir la fonction nomm&eacute;e dans le param&egrave;tre 2.<\/li>\n<\/ul><p>Notre fichier final ressemble &agrave; ceci :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\/*\n * Add my new menu to the Admin Control Panel\n *\/\n \n\/\/ Hook the 'admin_menu' action hook, run the function named 'mfp_Add_My_Admin_Link()'\nadd_action( 'admin_menu', 'mfp_Add_My_Admin_Link' );\n \n\/\/ Add a new top level menu link to the ACP\nfunction mfp_Add_My_Admin_Link()\n{\n      add_menu_page(\n        'My First Page', \/\/ Title of the page\n        'Mon plugin', \/\/ Text to show on the menu link\n        'manage_options', \/\/ Capability requirement to see the link\n        'includes\/mfp-first-acp-page.php' \/\/ The 'slug' - file to display when clicking the link\n    );\n}<\/pre><p>T&eacute;l&eacute;chargez&nbsp;<strong>mfp-functions.php<\/strong>&nbsp;dans le&nbsp;dossier&nbsp;<strong>inclus<\/strong>&nbsp;et &eacute;crasez l&rsquo;ancien.<\/p><h2 class=\"wp-block-heading\" id=\"h-etape-4-creation-de-la-nouvelle-page-d-administration\">&Eacute;tape 4 &ndash; Cr&eacute;ation de la nouvelle page d&rsquo;administration<\/h2><p>Maintenant, nous pouvons cr&eacute;er la page &agrave; afficher lorsque vous cliquez sur le lien de votre panneau d&rsquo;administration.&nbsp;Revenez dans le&nbsp;sous-dossier&nbsp;<strong>inclus<\/strong>&nbsp;et cr&eacute;ez un nouveau fichier PHP nomm&eacute;&nbsp;<strong>mfp-first-acp-page.php.&nbsp;<\/strong>Les tags d&rsquo;ouverture de PHP ne sont pas n&eacute;cessaires dans ce fichier car nous n&rsquo;utilisons que le HTML.&nbsp;&Eacute;crivez le code HTML ci-dessous et t&eacute;l&eacute;chargez le fichier.<\/p><pre class=\"wp-block-preformatted\">&lt;div class=\"wrap\"&gt;\n  &lt;h1&gt;Salut!&lt;\/h1&gt;\n  &lt;p&gt;Ceci est mon plugin&lt;\/p&gt;\n&lt;\/div&gt;<\/pre><p>Lors de la cr&eacute;ation de pages d&rsquo;administration, WordPress recommande d&rsquo;inclure votre propre HTML avec un div et de lui donner la classe &laquo;&nbsp;wrap&nbsp;&raquo;, comme indiqu&eacute; ci-dessus.&nbsp;Cela garantit que tout votre contenu appara&icirc;t au bon endroit, tout comme n&rsquo;importe quelle autre page d&rsquo;administration.&nbsp;Si vous ne l&rsquo;enveloppez pas comme &ccedil;a, la page peut devenir tr&egrave;s d&eacute;sordonn&eacute;e.<\/p><p>Revenez &agrave; votre liste de plugins dans le panneau d&rsquo;administration de WordPress et activez le plugin.&nbsp;Une fois la page charg&eacute;e, regardez le bas du menu de navigation du panneau d&rsquo;administration.&nbsp;Il y a le nouveau lien intitul&eacute; &laquo; Mon premier plugin &raquo;.&nbsp;Cliquez dessus, et vous avez votre propre page de panneau d&rsquo;administration !<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"578\" height=\"258\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-plugin.png\/public\" alt=\"une capture d'&eacute;cran montrant votre plugin sur le menu de navigation du tableau de bord de WordPress\" class=\"wp-image-5890\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-plugin.png\/w=578,fit=scale-down 578w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-plugin.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/09\/mon-plugin.png\/w=300,fit=scale-down 300w\" sizes=\"(max-width: 578px) 100vw, 578px\" \/><\/figure><\/div><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>F&eacute;licitations, vous venez de cr&eacute;er votre premier plugin WordPress, vous avez ajout&eacute; un nouveau lien au menu admin, et vous avez affich&eacute; une toute nouvelle page dans le panneau d&rsquo;administration.&nbsp;Il ne fait pas encore grand-chose, mais c&rsquo;est un bon d&eacute;but.&nbsp;&Agrave; partir de l&agrave;, vous pouvez tirer parti de ce que vous avez appris et &eacute;tendre WordPress comme vous le souhaitez.&nbsp;Pour plus de tutoriels,&nbsp;<a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wordpress\">consultez notre section de tutoriels WordPress<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans ce tutoriel de plugin WordPress, vous apprendrez comment cr&eacute;er un plugin WordPress complet avec sa propre page d&rsquo;administration.&nbsp;La raison la plus importante pour cr&eacute;er un plugin est qu&rsquo;il vous permet de s&eacute;parer votre propre code du code principal WordPress.&nbsp;Si quelque chose ne va pas avec votre plugin, le reste du site continuera g&eacute;n&eacute;ralement &agrave; [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/creer-un-plugin-wordpress\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":212,"featured_media":12875,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"%title%","rank_math_description":"Vous voulez apprendre \u00e0 cr\u00e9er un plugin WordPress ? Nous vous montrons comment faire dans notre guide facile \u00e0 suivre !","rank_math_focus_keyword":"cr\u00e9er un plugin wordpress","footnotes":""},"categories":[4777],"tags":[5190,5191,5189,5188,5046],"class_list":["post-5846","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-create-plugin-wordpress","tag-create-wordpress-plugin","tag-creer-plugin-wordpress","tag-creer-un-plugin-wordpress","tag-tuto-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/criar-plugin-wordpress","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/creer-un-plugin-wordpress","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/membuat-plugin-wordpress","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/wordpress-plugin-erstellen","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/joomla-vs-wordpress-cms-utilizar-4","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/joomla-vs-wordpress-cms-utilizar-4","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/criar-plugin-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-create-wordpress-plugin","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-create-wordpress-plugin","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5846","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\/212"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=5846"}],"version-history":[{"count":19,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5846\/revisions"}],"predecessor-version":[{"id":37327,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5846\/revisions\/37327"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/12875"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=5846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=5846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=5846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}