WPT Hub Plugin
Multi-tenant WordPress platform - Hub Plugin
★ 1stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/wptechy/hub-plugin/archive/refs/heads/main.zipPlugin HUB pentru ecosistemul WPT OpticaPRO - folosit pe OpticaMedicala.ro pentru gestionarea tenants și distribuție module.
Descriere
Acest plugin este destinat exclusiv pentru site-ul HUB central (OpticaMedicala.ro) și oferă:
- Tenant Management: Gestionare clienți (optical shops) cu plans și module
- API Server: REST API pentru sincronizare date cu site-urile tenant
- Module Manager: Catalog module disponibile și gestionare activări
- Release Manager: Distribuție actualizări pentru themes și plugins
- Provisioning: Creare automată tenants și configurare inițială
- Analytics Dashboard: Monitorizare tenants și utilizare resurse
Componente
Core Classes (inc/core/)
class-wpt-database.php- Creare tabele database (HUB tables)class-wpt-custom-post-types.php- Înregistrare CPT-uriclass-wpt-taxonomies.php- Înregistrare taxonomiiclass-wpt-acf.php- Integrare ACF JSONclass-wpt-helpers.php- Funcții helperclass-wpt-roles.php- Roluri și capabilities (HUB roles)class-wpt-default-data.php- Date default (plans, modules, categories)
Hub Components (inc/hub/)
API Server (inc/hub/api/)
class-wpt-api-server.php- REST API pentru tenants
Admin Interface (inc/hub/admin/)
class-wpt-release-manager.php- Gestionare releasesclass-wpt-sync-config-admin.php- Configurare sincronizare
Admin Views (inc/hub/admin/views/)
dashboard.php- Dashboard principaltenants.php- Lista tenantsmodules.php- Catalog modulereleases.php- Versiuni disponibileanalytics.php- Statistici și rapoartesettings.php- Setări HUBsync-config.php- Configurare syncsync-config-v2.php- Configurare sync v2tenant-sync-config-section.php- Secțiune config per tenant
Core HUB Classes
class-wpt-admin-menus.php- Meniuri adminclass-wpt-module-manager.php- Manager moduleclass-wpt-provisioning.php- Creare automată tenantsclass-wpt-tenant-manager.php- Gestionare tenants
Instalare
- Încarcă plugin-ul în
/wp-content/plugins/wpt-hub-plugin/ - Activează plugin-ul din WordPress admin
- La activare se vor crea automat:
- Tabelele database necesare
- Rolurile custom (optica, medic, furnizor, candidat)
- Plans default (Starter, Business, Enterprise)
- Module categories și module disponibile
Cerințe
- WordPress 6.0+
- PHP 7.4+
- MySQL 5.7+ sau MariaDB 10.3+
- Advanced Custom Fields PRO
Constante
Plugin-ul definește următoarele constante:
WPT_IS_HUB = true // Întotdeauna TRUE pe HUB
WPT_HUB_VERSION // Versiunea plugin-ului
WPT_HUB_DIR // Path către director plugin
WPT_HUB_URL // URL către plugin
Database Tables
Plugin-ul creează următoarele tabele (prefix: wp_):
HUB Tables
wpt_tenants- Clienți înregistrațiwpt_plans- Plans de abonamentwpt_tenant_addons- Addon-uri activate per tenantwpt_available_modules- Catalog module disponibilewpt_module_categories- Categorii modulewpt_tenant_modules- Module activate per tenantwpt_releases- Versiuni plugins/themeswpt_site_versions- Versiuni instalate per tenantwpt_recommendations- Reviews cliențiwpt_analytics- Statistici utilizare
Common Tables
wpt_sync_queue- Queue sincronizarewpt_error_logs- Log-uri erori
API Endpoints
Authentication
Toate request-urile necesită:
- Header:
X-Tenant-Key: {tenant_key} - Header:
X-API-Key: {api_key}
Endpoints disponibile
GET /wp-json/wpt/v1/sync/check- Verificare conexiuneGET /wp-json/wpt/v1/sync/config- Obținere configurare syncGET /wp-json/wpt/v1/sync/pull- Pull date de la HUBPOST /wp-json/wpt/v1/sync/push- Push date către HUBGET /wp-json/wpt/v1/modules/list- Lista module disponibilePOST /wp-json/wpt/v1/modules/activate- Activare modul
Roles & Capabilities
HUB Roles
optica- Proprietar optica (access limitat la propriul brand)medic- Doctor (acces la profil și program)furnizor- Supplier (acces la produse)candidat- Job applicant (acces la propriul profil)
Admin Capabilities
manage_website_config- Configurare websitepurchase_modules- Achiziție moduleview_wpt_logs- Vizualizare logsview_wpt_transactions- Vizualizare tranzacții
Development
Hooks disponibile
// După creare tenant
do_action('wpt_tenant_created', $tenant_id, $tenant_data);
// După activare modul
do_action('wpt_module_activated', $tenant_id, $module_slug);
// Înainte de push sync
do_action('wpt_before_sync_push', $post_id, $post_type);
Filtre disponibile
// Modificare date sync înainte de trimitere
apply_filters('wpt_sync_data', $data, $post_id, $post_type);
// Modificare configurare sync
apply_filters('wpt_sync_config', $config, $tenant_id);
Securitate
- Toate API calls sunt autentificate cu tenant_key + api_key
- Rate limiting: 100 requests/min per tenant
- SQL injection protection via $wpdb->prepare()
- XSS protection via esc_* functions
- Nonce verification pentru admin forms
Support
Pentru suport tehnic: tech@opticamedicala.ro
License
GPL v2 or later