| @@ -4,9 +4,9 @@ | ||
| 4 | 4 | class Pressable extends berqIntegrations { |
| 5 | 5 | |
| 6 | 6 | function __construct() { |
| 7 | 7 | add_action('berqwp_flush_all_cache', [$this, 'flush_cache']); |
| 8 | - add_action('berqwp_stored_page_cache', [$this, 'flush_cache']); | |
| 8 | + add_action('berqwp_stored_page_cache', [$this, 'flush_page_cache']); | |
| 9 | 9 | add_action('berqwp_flush_page_cache', [$this, 'flush_cache']); |
| 10 | 10 | add_action('init', [$this, 'bypass_cache']); |
| 11 | 11 | } |
| 12 | 12 | |
| @@ -32,9 +32,23 @@ | ||
| 32 | 32 | return; |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | wp_cache_flush(); |
| 36 | + berqReverseProxyCache::flush_all(); | |
| 37 | + } | |
| 38 | + | |
| 39 | + function flush_page_cache($slug) { | |
| 40 | + | |
| 41 | + if (!$this->is_pressable()) { | |
| 42 | + return; | |
| 43 | + } | |
| 44 | + | |
| 45 | + if (empty($slug)) { | |
| 46 | + $slug = '/'; | |
| 47 | + } | |
| 48 | + | |
| 49 | + berqReverseProxyCache::purge_cache(home_url($slug)); | |
| 36 | 50 | } |
| 37 | 51 | |
| 38 | 52 | } |
| 39 | 53 | |
| 40 | 54 | new Pressable(); |