From c2125d7dcc877ef13dc9e6fa0ba5efdc04c6b39a Mon Sep 17 00:00:00 2001 From: Dekart Deploy Bot Date: Fri, 17 Jul 2026 20:28:36 +0000 Subject: [PATCH] feat: add flush cache button to branch settings page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Button 'Сбросить кэш' under Настройки филиала - AJAX handler dekart_ajax_flush_cache(): - my_cache_bump_version() (MU-plugin versioned cache) - wp_cache_flush() (Memcached/Redis drop-in) - DELETE all _transient_* options - Shows success/error notice inline, no page reload --- wp-content/themes/dekart/functions.php | 94 ++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/wp-content/themes/dekart/functions.php b/wp-content/themes/dekart/functions.php index 0148d86..74d93be 100644 --- a/wp-content/themes/dekart/functions.php +++ b/wp-content/themes/dekart/functions.php @@ -2301,6 +2301,62 @@ function dekart_branch_settings_page() { + +
+ +
+

🗄️ Кеширование

+

Сброс кеша полностью очищает объектный кеш (Memcached/Redis), инвалидирует versioned cache ключи и сбрасывает все буферы плагинов.

+ + +
+ + + + 'Нет прав' ) ); + } + + $messages = array(); + + // 1. Versioned cache bump (MU-плагин) + if ( function_exists( 'my_cache_bump_version' ) ) { + my_cache_bump_version(); + $messages[] = 'version bumped'; + } + + // 2. WP object cache flush (Memcached/Redis drop-in) + if ( function_exists( 'wp_cache_flush' ) ) { + wp_cache_flush(); + $messages[] = 'wp_cache_flush'; + } + + // 3. Transients — все сразу + global $wpdb; + $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%' OR option_name LIKE '_transient_timeout_%'" ); + + $messages[] = 'transients clean'; + + // 4. CSS/JS кеш — сброс через filemtime (версии ассетов обновятся сами) + + wp_send_json_success( array( + 'message' => 'Кэш сброшен: ' . implode( ', ', $messages ), + 'actions' => $messages, + ) ); +}