{
    "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\/fr\/wpmastertoolkit-ouvre-ses-portes-a-la-creation-daddons\/",
    "title": {
        "rendered": "WPMasterToolKit Ouvre Ses Portes \u00e0 la Cr\u00e9ation d&rsquo;Addons"
    },
    "content": {
        "rendered": "<h2 class=\"wp-block-heading\">Une Nouvelle Opportunit\u00e9 pour les D\u00e9veloppeurs<\/h2>\n\n\n\n<p>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>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>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>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>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><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>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>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>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>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>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><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Le dossier modules\/<\/h3>\n\n\n\n<p>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><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>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><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>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>Rejoignez la communaut\u00e9 et commencez d\u00e8s aujourd\u2019hui \u00e0 d\u00e9velopper votre propre addon pour WPMasterToolKit !&nbsp;<\/p>",
        "protected": false
    },
    "excerpt": {
        "rendered": "<p>WPMasterToolKit \u00e9volue et s&rsquo;ouvre aux d\u00e9veloppeurs en permettant la cr\u00e9ation d&rsquo;addons personnalis\u00e9s. D\u00e9couvrez comment \u00e9tendre ses fonctionnalit\u00e9s avec un exemple d\u2019addon disponible sur GitHub, incluant son installation, sa structure et ses possibilit\u00e9s. Profitez de cette nouvelle opportunit\u00e9 pour enrichir l\u2019\u00e9cosyst\u00e8me WordPress en d\u00e9veloppant vos propres 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_robots_primary_cat": "",
        "_seopress_titles_title": "",
        "_seopress_titles_desc": "",
        "_seopress_robots_index": "",
        "_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\/fr\/wp-json\/wp\/v2\/posts\/4194",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts"
            }
        ],
        "about": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/types\/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/comments?post=4194"
            }
        ],
        "version-history": [
            {
                "count": 4,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts\/4194\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 4198,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts\/4194\/revisions\/4198"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/media?parent=4194"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/categories?post=4194"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/tags?post=4194"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}