diff --git a/scripts/fea_translate_helper.php b/scripts/fea_translate_helper.php index 74c6b97..dd35ec3 100644 --- a/scripts/fea_translate_helper.php +++ b/scripts/fea_translate_helper.php @@ -19,7 +19,7 @@ // Bootstrap portable. Si WP no está cargado (modo standalone), cargar wp-load. // Local (docker): /var/www/html/wp-load.php (por defecto). -// Prod: export FEA_WP_LOAD=/web/wp-nuevo/wp-load.php +// Prod: export FEA_WP_LOAD=/web/wp-load.php // (Si se ejecuta vía `wp eval-file`, ABSPATH ya está definido y no se recarga.) if (!defined('ABSPATH')) { $_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI'] ?? '/'; @@ -262,6 +262,18 @@ switch ($cmd) { break; } + case 'carta_sections': { + // Descubre el cluster de una carta parseando sus propios enlaces internos + // (misma lógica que pinta la portada, fea-carta-portada.php). No depende + // de _carta_id -> sirve aunque ese meta todavía no se haya puesto. + $id = (int) ($argv[2] ?? 0); + if (!$id || !function_exists('fea_parse_carta_sections')) { + fwrite(STDERR, "fea_parse_carta_sections no disponible o id inválido\n"); exit(9); + } + out_json(fea_parse_carta_sections($id)); + break; + } + case 'save_translations': { $payload = json_decode(file_get_contents('php://stdin'), true); if (!is_array($payload) || empty($payload['translations']) || !is_array($payload['translations'])) {