diff --git a/docs/guia-publicacion-carta-inma.md b/docs/guia-publicacion-carta-inma.md index 9122bbb..3710886 100644 --- a/docs/guia-publicacion-carta-inma.md +++ b/docs/guia-publicacion-carta-inma.md @@ -407,14 +407,22 @@ traducción inmediata, avisar a Rafa directamente además de pedírselo a Hermes | Asignar `_carta_id` a un artículo | `POST /wp-json/fea/v1/carta-id/{id}` con body `{"carta_id": N}` | | Borrar `_carta_id` de un artículo | `DELETE /wp-json/fea/v1/carta-id/{id}` | -## Regla para la sección Evangelio y comentarios al Evangelio +## Evangelio y comentarios: regla y paso obligatorio para Mixbot La sección empieza siempre con el enlace al post del evangelio de esa semana (por ejemplo, `MATEO 14, 22-33`) y después van los comentarios. Si ese post no existe, avisad antes de publicar la carta: no empecéis la sección por un comentario. -No hay que completar ningún campo nuevo. A partir de ese enlace, el sitio asigna la -cita bíblica automáticamente a los comentarios nuevos. +Primero guarda la carta (puede quedar como borrador) con esa sección ya completa y +anota su ID. Después asigna ese ID a **cada comentario al evangelio** de la semana con +el endpoint `POST /wp-json/fea/v1/carta-id/` y el cuerpo +`{"carta_id": }`. + +No hay que escribir la cita ni el texto bíblico a mano: al asignar `_carta_id`, el +plugin localiza la única lectura bíblica enlazada en la sección y añade +`_cita_evangelio` automáticamente, incluso si el comentario ya estaba publicado. Si +la carta tiene cero o varias lecturas, el plugin no adivina: corrige la sección y +vuelve a asignar el ID de carta. Campos útiles del post: `title`, `content` (HTML), `status` (`draft`/`publish`/`future`), `date` (ISO 8601 para programar), `categories` (array de IDs), `featured_media` (ID de adjunto). diff --git a/mu-plugins/fea-evangelio-comentarios.php b/mu-plugins/fea-evangelio-comentarios.php index 5294a37..a874dbd 100644 --- a/mu-plugins/fea-evangelio-comentarios.php +++ b/mu-plugins/fea-evangelio-comentarios.php @@ -126,6 +126,14 @@ add_action('transition_post_status', function($new_status, $old_status, $post) { if ($new_status === 'publish' && $old_status !== 'publish') fea_evangelio_capture_meta($post->ID); }, 20, 3); +/** Completa la cita cuando llega la carta, aunque el comentario ya estuviera publicado. */ +function fea_evangelio_capture_meta_on_carta_assignment($meta_id, $post_id, $meta_key, $meta_value) { + if ($meta_key !== '_carta_id' || !(int) $meta_value) return; + fea_evangelio_capture_meta((int) $post_id); +} +add_action('added_post_meta', 'fea_evangelio_capture_meta_on_carta_assignment', 20, 4); +add_action('updated_post_meta', 'fea_evangelio_capture_meta_on_carta_assignment', 20, 4); + /** Añade referencia y texto plegado, cerrado por defecto, antes del comentario. */ add_filter('the_content', function($content) { if (!is_single() || is_admin()) return $content;