- AJAX returns structured log array (type + text per step)
- Checks: all system files, PHP extension, drop-in status,
WP_CACHE_KEY_SALT, versioned cache, object cache, transients
- Drop-in auto-copy with success/fail/permission diagnostics
- JS renders log as color-coded list with summary line
- Fix for previous commit: plugin memcached not found typo
- is_page_template() was called at top level of functions.php
(before query setup) → always returned false
- CSS podgotovka-k-shkole.css and JS never loaded → page unstyled
- Moved enqueue into enqueue_template_specific_styles() (hooked
to wp_enqueue_scripts) where is_page_template() works correctly
- Also moved front-page.css enqueue (same bug)
- Also removed stray extra closing brace
- Root cause: two prod sites share one Memcached, no WP_CACHE_KEY_SALT
→ cache keys collide → data mixes between sites
- Primary fix: WP_CACHE_KEY_SALT defined via DB_NAME in wp-config.php
(manual on each prod, file is in .gitignore)
- MU-plugin restored: auto-detect backend, versioned keys, auto-invalidation
- Added re-salt fallback via salt_keys(DB_NAME) on muplugins_loaded
- Removed duplicate admin_notice hooks
- WP_CACHE_KEY_SALT defined in MU-plugin is too late:
object-cache.php (Memcached drop-in) loads before MU-plugins
- Add muplugins_loaded hook: call salt_keys(DB_NAME) directly
on the initialized Memcached object cache instance
- Each site gets unique key prefix from its database name
- Prevents cross-site cache collision when multiple WP sites
share one Memcached server
- Кнопки на странице /gorodskoj-lager/ используют класс
btn-write-camp, но footer.js слушал только .btn-write
- Добавлен .btn-write-camp в селектор делегированного события
- Форма B24 теперь открывается с кнопок лагеря
- Использует DB_NAME как соль для ключей кеша
- Предотвращает коллизию когда schelkovo и pushkino
используют один Memcached/Redis на сервере
- Без соли siteurl/home из кеша одного сайта читаются другим
- dekart_try_install_memcached_dropin() removed — no more auto-copy
on plugins_loaded (causes PHP errors if memcached server not running)
- Admin notice shows: 'Install manually' when server is reachable,
'Start Memcached server' when extension installed but no connect,
'Install PHP extension' when missing
- Plugin action link shows 'install manually' instead of 'Activate'
- WP-CLI: wp dekart cache-memcached still works for manual install
- dekart_try_install_memcached_dropin(): auto-copy object-cache.php
from memcached plugin to wp-content/ on plugins_loaded
- Remove 'Activate' link for memcached plugin (prevents fatal error)
- Admin notice with instructions when PHP extension is missing
- WP-CLI command: wp dekart cache-memcached