feat: sync_carta_from_prod.py para copiar el cluster de una carta prod->local (#174)
This commit is contained in:
@@ -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'])) {
|
||||
|
||||
Reference in New Issue
Block a user