wiki: procedimiento semanal manual + invariante categorías (#38)

2026-05-25 10:40:51 -04:00
parent 3ee6938638
commit e0b6446469
+33 -2
@@ -22,11 +22,42 @@ Sección editorial principal del sitio. Cada semana se publica una "carta" + un
| term_id | Slug | Uso | | term_id | Slug | Uso |
|---|---|---| |---|---|---|
| 6 | `cartasemana` | Categoría principal de cartas | | 6 | `cartasemana` | **La carta de esta semana** (exactamente 1 post) |
| 21 / 22 | `carta-semana-pasada` | (revisar slugs exactos en BD) | | 22 | `carta-semana-pasada` | **La carta de la semana anterior** (exactamente 1 post) |
| 21 | `cartas-de-otras-semanas` | Archivo histórico de cartas anteriores |
**Invariante:** una carta vive en **exactamente una** de estas 3 categorías. Si una carta aparece en dos a la vez, `[fea_carta_semana_hero]` puede seguir pintando la correcta (ordena por fecha) pero el redirect de `/category/.../` se rompe (requiere `count==1`).
Ver [Categorías y términos](Categorias-y-terminos). Ver [Categorías y términos](Categorias-y-terminos).
## Procedimiento semanal manual (proceso editorial)
> Tras la decisión del [#38](../issues/38) en 2026-05-25, el cambio semanal **no se automatiza** — se hace a mano con esta receta. Limpieza histórica de duplicados ya aplicada.
Cuando se publica una carta nueva, hay que mover las anteriores. Pasos en WP Admin (en este orden):
1. **Publicar la nueva carta** en categoría `cartasemana` (cat 6) y **solo** en esa categoría.
2. **Mover la carta saliente** que estaba en `cartasemana`:
- Quitar de `cartasemana` (cat 6)
- Añadir a `carta-semana-pasada` (cat 22)
3. **Mover la carta saliente** que estaba en `carta-semana-pasada`:
- Quitar de `carta-semana-pasada` (cat 22)
- Añadir a `cartas-de-otras-semanas` (cat 21)
Tras esto, en cada categoría debe quedar el conteo esperado (1, 1, N+1). Verificar con:
```sql
SELECT t.slug, tt.count FROM wp_term_taxonomy tt
JOIN wp_terms t USING (term_id)
WHERE tt.term_id IN (6, 22, 21) AND tt.taxonomy='category';
```
Si en algún momento cat 6 o cat 22 tienen `count > 1`, el redirect deja de funcionar y la portada puede seguir siendo correcta pero las URLs `/category/cartasemana/` y `/category/carta-semana-pasada/` muestran archivo en vez del post — usar las SQL del [#38](../issues/38) para limpiar.
## Hero de portada (no requiere intervención)
`[fea_carta_semana_hero]` (`fea-homepage.php:682`) hace `get_posts(cat=6, orderby=date, limit=1)`. Es **dinámico**: basta publicar la nueva carta en cat 6 y el hero se actualiza solo. Es el paso 1 del procedimiento — si los pasos 2-3 se olvidan, la portada sigue OK pero las URLs de archivo se rompen.
## Relación carta ↔ artículos ## Relación carta ↔ artículos
Cada artículo de una semana lleva un meta `_carta_id` con el ID del post-carta al que pertenece. Esto permite renderizar `[fea_articulos_semana]` en la portada y los listados internos. Cada artículo de una semana lleva un meta `_carta_id` con el ID del post-carta al que pertenece. Esto permite renderizar `[fea_articulos_semana]` en la portada y los listados internos.