fix(2meet-data-optimizer): refuse aeav_only and cleanup on HivePress / WooCommerce sites
- Add TMDO_Promotion_Guard: HivePress models read every meta key with an empty-key get_*_meta() and WooCommerce does the same for products (and writes stock/sales with direct SQL), so on those sites native meta must stay authoritative. Promotion to aeav_only is refused in TMDO_Mode_Manager::set() (covers REST, CLI, phases, auto-promoter) for post/user/term/comment with HivePress and post/user with WooCommerce; TMDO_Post_Migration::cleanup() and the cleanup phase refuse too. Demotion stays open; filter tmdo_promotion_guard_allow overrides. - Admin notice lists guarded entities already in aeav_only with the restore-native command (no forced demotion on read). - Verify: PromotionGuardTest 8 OK; unit 668 OK, integration 480 OK, phpcs (phpcs.xml) 0, stan OK; dev36 live: 4 promotions + post-cleanup refused, wpdo_bridge_modes unchanged - PR: PR-053
This commit is contained in:
@@ -234,6 +234,7 @@ require_once TMDO_PATH . 'includes/class-tmdo-rest-api.php';
|
||||
// ── v2.0.0 Engine + Adapters + Modules ───────────────────────────────────
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-type-caster.php';
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-mode-manager.php';
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-promotion-guard.php';
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-audit-logger.php';
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-shadow-diff-logger.php';
|
||||
require_once TMDO_PATH . 'includes/engine/class-tmdo-conflict-detector.php';
|
||||
@@ -292,6 +293,8 @@ if ( is_admin() ) {
|
||||
TMDO_Deprecated_Addons_Notice::register();
|
||||
require_once TMDO_PATH . 'admin/class-tmdo-missing-addons-notice.php';
|
||||
TMDO_Missing_Addons_Notice::register();
|
||||
require_once TMDO_PATH . 'admin/class-tmdo-promotion-guard-notice.php';
|
||||
TMDO_Promotion_Guard_Notice::register();
|
||||
}
|
||||
|
||||
// ── WP-CLI ─────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user