{"name":"Reemplazar Texto Frontend","version":"1.0.13","download_url":"https://carlosraffe.sensatoweb.com/actualizaciones/traductor/traductorfrontend_v1.0.13.zip","requires":"6.0","tested":"6.9","requires_php":"8.0","author":"Carlos Raffe","last_updated":"2026-08-28 23:03:01","changelog":"## 1.0.13 — 2026-08-29\n\n- **El aviso de actualización ya no desaparece al vaciar la caché de objetos.** `RTF_Updater::inject_update()` abortaba si el transient `update_plugins` llegaba como `false` (lo que ocurre con Redis/Memcached tras el `wp_cache_flush()` que 1.0.12 añadió al guardar). Ahora construye el objeto con la forma que espera el núcleo en vez de salirse.\n- **Detección inmediata en Plugins y en Escritorio > Actualizaciones.** La caché interna de 1 h se salta también en `plugins.php`, `update-core.php` y `update.php`, no solo con `?force-check=1`. Una versión recién publicada se ve al entrar, sin esperar hasta 60 minutos.\n- **`update.php`: el changelog volvió a mostrarse.** Buscaba `CHANGELOG.txt` y el plugin distribuye `CHANGELOG.md`. Ahora acepta ambos y, si no hay ninguno en la carpeta del repositorio, lo lee de dentro del propio ZIP publicado.\n- **`update.php`: `download_url` en HTTPS detrás de proxy/CDN.** `$_SERVER['HTTPS']` no viene definido con LiteSpeed, Cloudflare o balanceadores; se añaden `X-Forwarded-Proto`, `X-Forwarded-SSL`, `REQUEST_SCHEME` y el puerto 443.\n- Pie de página en el backend: versión a la izquierda (desde `RTF_VERSION`) y «Carlos Raffe – <año>» a la derecha, con el año calculado con `wp_date()`. Se retira el rótulo «VERSIÓN» del encabezado.\n\n## 1.0.12 — 2026-08-29\n\n- **Borrar un reemplazo parecía no surtir efecto.** El guardado siempre fue correcto (verificado), pero el mapa de reemplazos viaja dentro del HTML de cada página: con una caché de página activa se seguía sirviendo el HTML anterior, con la regla ya borrada todavía aplicada.\n- `RTF_Admin::purge_caches()` vacía al guardar las cachés de WP Rocket, LiteSpeed, W3TC, WP Super Cache, WP Fastest Cache, SiteGround Optimizer, Autoptimize, Cache Enabler, Breeze, Swift y Kinsta, más `wp_cache_flush()` y la caché de archivos de Elementor. Cada llamada está protegida, así que no afecta si el plugin no está instalado.\n- Nuevo hook `rtf_rules_saved` para purgas adicionales propias.\n\n## 1.0.11 — 2026-08-29\n\n- Se retira `info.php` de los archivos consultados en el repositorio: era el nombre que usa biPANEL, no este plugin. Quedan `update.php` y, como respaldo, `update.json`."}