{"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\/es\/wpmastertoolkit-abre-sus-puertas-a-la-creacion-de-daddons\/","title":{"rendered":"WPMasterToolKit abre sus puertas a la creaci\u00f3n de addons"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Una nueva oportunidad para los promotores<\/h2>\n\n\n\n<p>WPMasterToolKit da un paso m\u00e1s al ofrecer a los desarrolladores la posibilidad de crear sus propios complementos. Esto ampliar\u00e1 la funcionalidad del plugin todo en uno y proporcionar\u00e1 soluciones personalizadas a los usuarios de WordPress.<\/p>\n\n\n\n<p>Esta opci\u00f3n se ha a\u00f1adido en la versi\u00f3n 2.3.0 de WPMasterToolKit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un ecosistema en expansi\u00f3n<\/h2>\n\n\n\n<p>Gracias a este nuevo enfoque, los desarrolladores pueden ahora dise\u00f1ar e integrar sus propios m\u00f3dulos en l\u00ednea con la arquitectura de WPMasterToolKit. El objetivo de esta iniciativa es mejorar la experiencia del usuario y satisfacer necesidades espec\u00edficas sin sobrecargar el n\u00facleo del plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un ejemplo de addon disponible en GitHub<\/h2>\n\n\n\n<p>Para acompa\u00f1ar esta apertura, hemos puesto a disposici\u00f3n un addon de muestra en GitHub : <strong>WPMasterToolKit Addon Ejemplo<\/strong>. Este m\u00f3dulo ilustra c\u00f3mo desarrollar e integrar un addon a WPMasterToolKit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Funciones adicionales Ejemplo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gesti\u00f3n de la activaci\u00f3n y desactivaci\u00f3n<\/strong> El m\u00f3dulo registra su activaci\u00f3n y desactivaci\u00f3n a trav\u00e9s del archivo de registro.<\/li>\n\n\n\n<li><strong>A\u00f1adir un submen\u00fa<\/strong> Se a\u00f1ade autom\u00e1ticamente un nuevo submen\u00fa a la interfaz de administraci\u00f3n de WordPress.<\/li>\n\n\n\n<li><strong>P\u00e1gina de administraci\u00f3n espec\u00edfica<\/strong> Existe una p\u00e1gina especial para consultar la informaci\u00f3n de los m\u00f3dulos.<\/li>\n\n\n\n<li><strong>Estructura optimizada<\/strong> La arquitectura del plugin respeta las mejores pr\u00e1cticas de desarrollo de WordPress.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Instalaci\u00f3n del m\u00f3dulo de muestra<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Descargue el archivo ZIP del m\u00f3dulo desde el repositorio <a href=\"https:\/\/github.com\/Ludwig44\/wpmastertoolkit-addon-exemple\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a>.<\/li>\n\n\n\n<li>Vaya al panel de control de WordPress y haga clic en \"Extensiones\".<\/li>\n\n\n\n<li>Seleccione \"A\u00f1adir\" y luego \"Cargar una extensi\u00f3n\".<\/li>\n\n\n\n<li>Seleccione el archivo ZIP y haga clic en \"Instalar ahora\".<\/li>\n\n\n\n<li>Active el m\u00f3dulo de la lista de extensiones.<\/li>\n\n\n\n<li>Una vez activado, aparecer\u00e1 un nuevo m\u00f3dulo en WPMasterToolKit.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Esto es lo que encontrar\u00e1 en este ejemplo<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">El archivo principal wpmastertoolkit-addon-example.php<\/h3>\n\n\n\n<p>Este archivo es el coraz\u00f3n del plugin y contiene las definiciones principales que permiten al addon trabajar con WPMasterToolKit. Tambi\u00e9n define las constantes esenciales como la ruta y la URL del 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\">Ejemplo del archivo principal en github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">La declaraci\u00f3n del plugin<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\" data-no-auto-translation=\"\">\/**\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>Se trata de una declaraci\u00f3n de plugin cl\u00e1sica. Puede obtener m\u00e1s informaci\u00f3n en <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\">documentaci\u00f3n oficial de WordPress<\/a>.<\/p>\n\n\n\n<p>Una cosa importante a tener en cuenta es la l\u00ednea de la declaraci\u00f3n <code data-no-auto-translation=\"\">Requires Plugins: wpmastertoolkit<\/code> es importante para evitar posibles errores si el plugin principal se elimina y\/o desactiva.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Declaraci\u00f3n de datos para sus m\u00f3dulos<\/h4>\n\n\n\n<p>A continuaci\u00f3n se declaran los m\u00f3dulos de ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\" data-no-auto-translation=\"\">\/**\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>En este ejemplo, he aqu\u00ed a qu\u00e9 corresponden los distintos valores:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code data-no-auto-translation=\"\">Exemple_Of_New_Module<\/code> : Corresponde al nombre de la clase en su fichero. Es muy importante no cometer ning\u00fan error, de lo contrario el m\u00f3dulo no funcionar\u00e1; es gracias a esta clave de array que la instanciaci\u00f3n de la clase del m\u00f3dulo es posible.<\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">original_name<\/code> es el nombre en ingl\u00e9s legible por humanos de su m\u00f3dulo. Tenga cuidado de no poner una cadena traducible aqu\u00ed, ya que este c\u00f3digo es llamado antes del init de WordPress. Para m\u00e1s informaci\u00f3n, lea : <a href=\"https:\/\/make.wordpress.org\/core\/2024\/10\/21\/i18n-improvements-6-7\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Mejoras de internacionalizaci\u00f3n en 6.7<\/a>.<\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">group<\/code> Esta es una lista de los grupos existentes (que pueden ampliarse utilizando el filtro <code data-no-auto-translation=\"\">wpmastertoolkit_modules_groups<\/code>): \n<ul class=\"wp-block-list\">\n<li><code data-no-auto-translation=\"\">'administration'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'content-media'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'custom-code'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'disable-features'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'security'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'speed-optimizations'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'woocommerce'<\/code><\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">'other-features'<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code data-no-auto-translation=\"\">path<\/code> La ruta a su archivo de clase php.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Declaraci\u00f3n de textos descriptivos para sus m\u00f3dulos<\/h4>\n\n\n\n<p>Para cada m\u00f3dulo que a\u00f1ada, debe declarar un t\u00edtulo y una descripci\u00f3n para sus m\u00f3dulos (traducible).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\" data-no-auto-translation=\"\">\/**\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\">La carpeta modules\/<\/h3>\n\n\n\n<p>Esta carpeta contiene las clases dedicadas a los m\u00f3dulos. En este ejemplo, encontramos las clases <code data-no-auto-translation=\"\">class-exemple-of-new-module.php<\/code>que ilustra c\u00f3mo crear un m\u00f3dulo que cumpla con los est\u00e1ndares 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\">Consulte la carpeta de m\u00f3dulos de ejemplo en github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">La clase Example_Of_New_Module<\/h3>\n\n\n\n<p>Esta clase define la funcionalidad de los archivos :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gesti\u00f3n de activaciones y desactivaciones con registros para un seguimiento detallado.<\/li>\n\n\n\n<li>Inicializando los hooks de WordPress.<\/li>\n\n\n\n<li>Submen\u00fa a\u00f1adido en la administraci\u00f3n.<\/li>\n\n\n\n<li>Visualizaci\u00f3n de una p\u00e1gina dedicada al m\u00f3dulo.<\/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\">Ver la clase de ejemplo en github<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Con posibilidad de crear complementos, <strong>WPMasterToolKit<\/strong> se ha transformado en una plataforma a\u00fan m\u00e1s flexible y escalable. Este nuevo enfoque ofrece a los desarrolladores total libertad para crear soluciones adaptadas a las necesidades de los usuarios de WordPress.<\/p>\n\n\n\n<p>\u00danete a la comunidad y empieza a desarrollar tu propio addon para WPMasterToolKit hoy mismo.&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>WPMasterToolKit evoluciona y se abre a los desarrolladores permitiendo la creaci\u00f3n de addons personalizados. Descubre c\u00f3mo ampliar su funcionalidad con un addon de ejemplo disponible en GitHub, incluyendo su instalaci\u00f3n, estructura y posibilidades. \u00a1Aprovecha esta nueva oportunidad de enriquecer el ecosistema de WordPress desarrollando tus propios m\u00f3dulos!<\/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\/es\/wp-json\/wp\/v2\/posts\/4194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/comments?post=4194"}],"version-history":[{"count":4,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/posts\/4194\/revisions"}],"predecessor-version":[{"id":4198,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/posts\/4194\/revisions\/4198"}],"wp:attachment":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/media?parent=4194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/categories?post=4194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/tags?post=4194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}