{"id":4194,"date":"2025-02-14T18:32:00","date_gmt":"2025-02-14T17:32:00","guid":{"rendered":"https:\/\/wpmastertoolkit.com\/?p=4194"},"modified":"2025-02-06T18:40:19","modified_gmt":"2025-02-06T17:40:19","slug":"wpmastertoolkit-ouvre-ses-portes-a-la-creation-daddons","status":"publish","type":"post","link":"https:\/\/wpmastertoolkit.com\/en\/wpmastertoolkit-opens-its-doors-to-daddons-creation\/","title":{"rendered":"WPMasterToolKit Opens Doors to Addon Creation"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Une Nouvelle Opportunit\u00e9 pour les D\u00e9veloppeurs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WPMasterToolKit franchit une nouvelle \u00e9tape en offrant aux d\u00e9veloppeurs la possibilit\u00e9 de cr\u00e9er leurs propres addons. Cette ouverture permet d&rsquo;\u00e9tendre les fonctionnalit\u00e9s du plugin tout-en-un et de proposer des solutions sur mesure pour les utilisateurs de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette possibilit\u00e9 a \u00e9t\u00e9 ajout\u00e9 dans la version 2.3.0 de WPMasterToolKit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un \u00c9cosyst\u00e8me en Expansion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gr\u00e2ce \u00e0 cette nouvelle approche, les d\u00e9veloppeurs peuvent d\u00e9sormais concevoir et int\u00e9grer leurs propres modules en respectant l\u2019architecture de WPMasterToolKit. Cette initiative vise \u00e0 enrichir l&rsquo;exp\u00e9rience utilisateur et \u00e0 r\u00e9pondre \u00e0 des besoins sp\u00e9cifiques sans alourdir le noyau du plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un Exemple d&rsquo;Addon Disponible sur GitHub<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour accompagner cette ouverture, nous avons mis \u00e0 disposition un exemple d&rsquo;addon sur GitHub : <strong>WPMasterToolKit Addon Exemple<\/strong>. Ce module illustre comment d\u00e9velopper et int\u00e9grer un addon \u00e0 WPMasterToolKit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fonctionnalit\u00e9s de l\u2019Addon Exemple<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gestion de l\u2019activation et de la d\u00e9sactivation<\/strong> : Le module enregistre son activation et sa d\u00e9sactivation via le fichier de log.<\/li>\n\n\n\n<li><strong>Ajout d&rsquo;un sous-menu<\/strong> : Un nouveau sous-menu est automatiquement ajout\u00e9 dans l&rsquo;interface d&rsquo;administration de WordPress.<\/li>\n\n\n\n<li><strong>Page d\u2019administration d\u00e9di\u00e9e<\/strong> : Une page sp\u00e9cifique permet de visualiser les informations du module.<\/li>\n\n\n\n<li><strong>Structure optimis\u00e9e<\/strong> : L&rsquo;architecture du plugin respecte les meilleures pratiques de d\u00e9veloppement WordPress.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Installation du Module Exemple<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>T\u00e9l\u00e9chargez le fichier ZIP du module depuis le d\u00e9p\u00f4t <a href=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a>.<\/li>\n\n\n\n<li>Acc\u00e9dez au tableau de bord WordPress et cliquez sur \u00ab\u00a0Extensions\u00a0\u00bb.<\/li>\n\n\n\n<li>S\u00e9lectionnez \u00ab\u00a0Ajouter\u00a0\u00bb puis \u00ab\u00a0T\u00e9l\u00e9verser une extension\u00a0\u00bb.<\/li>\n\n\n\n<li>Choisissez le fichier ZIP et cliquez sur \u00ab\u00a0Installer maintenant\u00a0\u00bb.<\/li>\n\n\n\n<li>Activez le module depuis la liste des extensions.<\/li>\n\n\n\n<li>Une fois activ\u00e9, un nouveau module appara\u00eetra dans WPMasterToolKit.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Voici en d\u00e9tail ce que vous trouverez dans cet exemple<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Le fichier principal wpmastertoolkit-addon-exemple.php<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce fichier constitue le c\u0153ur du plugin et contient les d\u00e9finitions principales permettant \u00e0 l\u2019addon de fonctionner avec WPMasterToolKit. Il d\u00e9finit \u00e9galement les constantes essentielles telles que le chemin et l&rsquo;URL du plugin.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/blob\/main\/wpmastertoolkit-addon-exemple.php\" data-type=\"link\" data-id=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/blob\/main\/wpmastertoolkit-addon-exemple.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Exemple de fichier principal sur le github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">La d\u00e9claration du plugin<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/**\n * @wordpress-plugin\n * Plugin Name:       WPMasterToolKit Addon Exemple\n * Requires Plugins:  wpmastertoolkit\n * Plugin URI:        https:\/\/wpmastertoolkit.com\/\n * Description:       WPMasterToolKit Addon Exemple is created to show you how to create an addon for WPMasterToolKit.\n * Version:           1.0.0\n * Author:            Webdeclic\n * Author URI:        https:\/\/webdeclic.com\n * License:           GPL-2.0+\n * License URI:       https:\/\/www.gnu.org\/licenses\/gpl-2.0.txt\n * Text Domain:       wpmastertoolkit-addon-exemple\n * Domain Path:       \/languages\n *\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il s&rsquo;agit d&rsquo;une d\u00e9claration tout \u00e0 fait classique de plugin. Vous pouvez vous documenter sur la <a href=\"https:\/\/developer.wordpress.org\/plugins\/plugin-basics\/header-requirements\/\" data-type=\"link\" data-id=\"https:\/\/developer.wordpress.org\/plugins\/plugin-basics\/header-requirements\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">documentation officielle de WordPress<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chose tout de m\u00eame importante \u00e0 noter la ligne la d\u00e9claration <code>Requires Plugins: wpmastertoolkit<\/code> est importante pour \u00e9viter d&rsquo;\u00e9ventuels bugs en cas de suppression et \/ ou d\u00e9sactivation du plugin principal.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">D\u00e9claration des donn\u00e9es de vos modules<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite vient la d\u00e9claration de vos modules exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/**\n * Add modules data to WPMasterToolKit.\n *\/\nadd_filter( 'wpmastertoolkit_modules_data', function($modules){\n    $modules['Exemple_Of_New_Module'] = array(\n        'original_name' => \"Exemple Of New Module\",\n        'group'         => 'other-features',\n        'path'          => WPMASTERTOOLKIT_ADDON_EXEMPLE_PLUGIN_PATH . 'modules\/class-exemple-of-new-module.php',\n    );\n    return $modules;\n});<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet exemple voici \u00e0 quoi correspond les diff\u00e9rentes valeurs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Exemple_Of_New_Module<\/code> : Correspond au nom de la class dans votre fichier il est tr\u00e8s important de ne pas faire d&rsquo;erreur sinon le module ne fonctionnera pas, c&rsquo;est gr\u00e2ce \u00e0 cette cl\u00e9 de tableau que l&rsquo;instanciation de la class du module est possible.<\/li>\n\n\n\n<li><code>original_name<\/code> : correspond au nom humainement lisible en anglais de votre module. Attention ne pas mettre de chaine traduisible ici, car ce code est appel\u00e9 avant l&rsquo;init de WordPress. Pour plus d&rsquo;info lire : <a href=\"https:\/\/make.wordpress.org\/core\/2024\/10\/21\/i18n-improvements-6-7\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Internationalization improvements in 6.7<\/a>.<\/li>\n\n\n\n<li><code>group<\/code> : l&rsquo;id du groupe o\u00f9 ranger votre fonctionnalit\u00e9, voici la liste des groupes existants (liste extensible via le filtre <code>wpmastertoolkit_modules_groups<\/code>): \n<ul class=\"wp-block-list\">\n<li><code>'administration'<\/code><\/li>\n\n\n\n<li><code>'content-media'<\/code><\/li>\n\n\n\n<li><code>'custom-code'<\/code><\/li>\n\n\n\n<li><code>'disable-features'<\/code><\/li>\n\n\n\n<li><code>'security'<\/code><\/li>\n\n\n\n<li><code>'speed-optimizations'<\/code><\/li>\n\n\n\n<li><code>'woocommerce'<\/code><\/li>\n\n\n\n<li><code>'other-features'<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>path<\/code> : Le chemin vers le fichier de votre class php.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">D\u00e9claration des textes descriptifs pour vos modules<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Vous devez pour chaque module ajouter, d\u00e9clarer un titre et une description pour vos modules (traduisibles).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/**\n * Add modules labels to WPMasterToolKit.\n *\/\nadd_filter( 'wpmastertoolkit_modules_labels', function($modules){\n    $modules['Exemple_Of_New_Module'] = array(\n        'name' => esc_html_x( \"Exemple Of New Module\", \"Module name\", 'wpmastertoolkit-addon-exemple' ),\n\t\t'desc' => esc_html_x( \"Description of the module\", \"Module description\", 'wpmastertoolkit-addon-exemple' ),\n    );\n    return $modules;\n});<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Le dossier modules\/<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce dossier contient les classes d\u00e9di\u00e9es aux modules. Dans cet exemple, on retrouve la classe <code>class-exemple-of-new-module.php<\/code>, qui illustre comment cr\u00e9er un module conforme aux standards de WPMasterToolKit.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/tree\/main\/modules\" data-type=\"link\" data-id=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/tree\/main\/modules\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Voir l&rsquo;exemple de dossier modules sur github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">La classe Exemple_Of_New_Module<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette classe d\u00e9finit les fonctionnalit\u00e9s de l&rsquo;addon :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gestion de l&rsquo;activation et de la d\u00e9sactivation avec des logs pour un suivi d\u00e9taill\u00e9.<\/li>\n\n\n\n<li>Initialisation des hooks WordPress.<\/li>\n\n\n\n<li>Ajout du sous-menu dans l\u2019administration.<\/li>\n\n\n\n<li>Affichage d\u2019une page d\u00e9di\u00e9e pour le module.<\/li>\n\n\n\n<li>etc.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/blob\/main\/modules\/class-exemple-of-new-module.php\" data-type=\"link\" data-id=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\/blob\/main\/modules\/class-exemple-of-new-module.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Voir l&rsquo;exemple de class sur github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avec l\u2019ouverture \u00e0 la cr\u00e9ation d\u2019addons, <strong>WPMasterToolKit<\/strong> se transforme en une plateforme encore plus flexible et \u00e9volutive. Cette nouvelle approche donne aux d\u00e9veloppeurs une libert\u00e9 totale pour cr\u00e9er des solutions adapt\u00e9es aux besoins des utilisateurs WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rejoignez la communaut\u00e9 et commencez d\u00e8s aujourd\u2019hui \u00e0 d\u00e9velopper votre propre addon pour WPMasterToolKit !&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WPMasterToolKit is evolving and opening up to developers by enabling the creation of custom addons. Find out how to extend its functionality with a sample addon available on GitHub, including its installation, structure and possibilities. Take advantage of this new opportunity to enrich the WordPress ecosystem by developing your own modules!<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"_surecart_dashboard_logo_width":"180px","_surecart_dashboard_show_logo":true,"_surecart_dashboard_navigation_orders":true,"_surecart_dashboard_navigation_invoices":true,"_surecart_dashboard_navigation_subscriptions":true,"_surecart_dashboard_navigation_downloads":true,"_surecart_dashboard_navigation_billing":true,"_surecart_dashboard_navigation_account":true,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4194","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/posts\/4194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/comments?post=4194"}],"version-history":[{"count":0,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/posts\/4194\/revisions"}],"wp:attachment":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/media?parent=4194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/categories?post=4194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/tags?post=4194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}