638f5b70c7a6d63919cf3ede32a12347c799b74a
Los tres scripts asumian el CDMON viejo (134.0.10.170, sin Docker): host y password hardcodeados, y el helper PHP ejecutandose directamente en el host. Desde el cutover a Hetzner (Coolify/Docker, 2026-08-03) eso ya no aplica. - FEA_PROD_HOST/FEA_PROD_PASS pasan a FEA_PROD_SSH_HOST/FEA_PROD_SSH_PASS (mismo nombre en los tres scripts; sync_carta_from_prod.py ya los usaba). - Nueva FEA_PROD_DOCKER_CONTAINER: si esta definida, el helper se sube y se ejecuta con "docker exec -i" dentro del contenedor en vez de en el host. - Auth por clave (ed25519 claude-code@feadulta): sshpass solo se usa si FEA_PROD_SSH_PASS no esta vacia. - Fix del gotcha de "docker exec CONTENEDOR cmd < ruta": esa redireccion la resuelve el HOST, no el contenedor. El wrapping va dentro de "sh -c" para que la redireccion se resuelva en el sitio correcto (afecta a la subida del helper y a la verificacion de tamano del mp3 en audio). Verificado: dry-run de los tres contra el WP local, y una lectura real de prod (sync_carta_from_prod.py --carta 55487 --dry-run) que recupero correctamente el cluster de la carta 738 y el contenido de un post concreto. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
feadulta — WordPress
Código del sitio WordPress de feadulta.com. Plugins personalizados (mu-plugins) y scripts de migración y mantenimiento.
Estructura
mu-plugins/ — plugins WordPress cargados automáticamente (sin activar)
scripts/ — scripts Python/PHP de migración, traducción, TTS y mantenimiento
mu-plugins principales
| Plugin | Función |
|---|---|
fea-carta-portada.php |
Parser de la carta semanal → portada |
fea-homepage.php |
Tarjetas de portada |
fea-share.php |
Sección "Comparte FeAdulta" (Facebook, Instagram, Imprimir) |
fea-ui.php |
Estilos globales, menú, fondo cálido en artículos |
fea-beta-feedback.php |
Barra de feedback beta + endpoint /fea/v1/lang/{id} |
fea-search.php |
Buscador móvil nativo |
fea-pensamientos.php |
Widget de pensamientos |
carta-semana-plugin.php |
Redirects carta vigente/semana pasada |
Scripts principales
| Script | Función |
|---|---|
import_new_k2_items.py |
Importar artículos nuevos desde Joomla/K2 |
import_new_cartas.py |
Importar cartas semanales nuevas |
translate_haiku.py |
Traducción automática vía Claude Haiku |
tts_produce.py |
Generación de audio TTS (MiniMax) |
sync_translations_to_prod.py |
Sincronizar traducciones local → producción |
detect_untranslated.php |
Detectar posts sin traducir |
Servidor local de desarrollo
WordPress corre en Docker local, accesible vía Tailscale:
https://farmer.taild3aaf6.ts.net/fea/
Admin: eqpyk / NuevaFeAdulta2024!
Description
Languages
PHP
61%
Python
35.7%
Shell
3.3%