| @@ -76,8 +76,12 @@ | ||
| 76 | 76 | // Per-post cache rules (Phase 3.4) — registers postmeta with |
| 77 | 77 | // REST + meta box on edit screens. |
| 78 | 78 | Cache_Meta_Box::boot(); |
| 79 | 79 | |
| 80 | + // Single-URL purge entry points — row actions, the edit-screen | |
| 81 | + // button and the admin-post handler the admin-bar item also uses. | |
| 82 | + Purge_Ui::boot(); | |
| 83 | + | |
| 80 | 84 | // Phase 0 architecture — managers + Free modules. v1 services |
| 81 | 85 | // (Cache/Minifier/Gzip) are NOT yet Modules; they'll be refactored |
| 82 | 86 | // in a follow-up PR with parity tests. |
| 83 | 87 | Conflict_Registry::boot(); |
| @@ -89,8 +93,16 @@ | ||
| 89 | 93 | // Integrations that clear OTHER plugins' caches of rendered output |
| 90 | 94 | // (Elementor's element cache + generated CSS). Registers a listener |
| 91 | 95 | // only; nothing runs until Cache::purge_render_caches() asks. |
| 92 | 96 | Render_Caches::boot(); |
| 97 | + // Server_Caches needs no boot(): Cache::dispatch_purge_event() calls it | |
| 98 | + // directly so a throwing third-party listener cannot skip it. | |
| 99 | + | |
| 100 | + // Forward a full purge to a full-page cache owned by the WEB SERVER | |
| 101 | + // (nginx FastCGI, via the host's Nginx Helper install). Registers a | |
| 102 | + // listener on xspeed_after_purge_all only; it stands down unless | |
| 103 | + // that cache is actually configured. | |
| 104 | + Host_Page_Caches::boot(); | |
| 93 | 105 | |
| 94 | 106 | // Register Free modules via the same action xspeed-pro uses, so |
| 95 | 107 | // the bootstrap path is symmetric across tiers. |
| 96 | 108 | add_action( 'xspeed_register_modules', array( $this, 'register_free_modules' ) ); |