{"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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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\"><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                   Comment cr&eacute;er un plugin WordPress ?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">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><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">&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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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>\n<\/div><p>\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>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.\n            <\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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>\n<\/div><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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>\n<\/div><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">&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 class=\"wp-block-paragraph\">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>\n<\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Retour &agrave;&nbsp;<strong>mfp-functions.php<\/strong>&nbsp;dans le&nbsp; sous&ndash;dossier <strong>inclus<\/strong>.<\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 &ldquo;wrap&rdquo;, 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 class=\"wp-block-paragraph\">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>\n<\/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>\n<\/div><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p class=\"wp-block-paragraph\">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":1},{"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-PH","link":"https:\/\/www.hostinger.com\/ph\/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-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-create-wordpress-plugin\/","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},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/tutorial-wordpress-plugins-crear-plugin-wordpress\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/criar-plugin-wordpress\/","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}]}}