Table of Contents
Categorías y términos
Listado de term_ids y slugs relevantes para el código y para operaciones de mantenimiento.
Categorías principales
| term_id | Slug | Nombre / uso |
|---|---|---|
| 6 | cartasemana |
Carta de esta semana (exactamente 1 post — ver Carta de la semana) |
| 22 | carta-semana-pasada |
Carta de la semana anterior (exactamente 1 post) |
| 21 | cartas-de-otras-semanas |
Archivo histórico (~738 cartas) |
| 28 | evangelios-y-comentarios |
Posts de los 4 evangelios (Jn/Lc/Mt/Mc) |
| 63 | effa |
EFFA (categoría padre) |
| 64 | proyecat |
Artículos del hub EFFA (8 items) |
| 71 | feadulta |
Categoría-autor por defecto de Feadulta (todos los posts editoriales) |
| 1645–1652 | (cats derivadas) | Ver sección "Cats derivadas de cartas" más abajo |
Cats derivadas de cartas (1645–1652)
Estas categorías no vienen de Joomla (donde casi todo el contenido vive en la única cat 29 "Feadulta"). Se derivan automáticamente del análisis de las cartas semanales históricas: cuando el editor enlaza un post bajo cierto encabezado en una carta, ese post adquiere la cat correspondiente.
| term_id | Slug | Sección en la carta que la genera |
|---|---|---|
| 1645 | lecturas-biblicas |
Lecturas bíblicas (subgrupo dentro de eucaristía) |
| 1646 | comentario-editorial |
Comentario editorial (primer comentario no-lectura por carta) |
| 1647 | comentarios-al-evangelio |
"Evangelio y comentarios al Evangelio" |
| 1648 | eucaristia |
"Para unas eucaristías más participativas y actuales" |
| 1649 | multimedia |
"Material multimedia" |
| 1650 | articulos |
"Artículos seleccionados para la semana" |
| 1651 | noticias |
(subgrupo poco usado) |
| 1652 | otros |
catch-all |
Fuente de verdad
clasificacion_articulos.csv en la raíz del repo (16.921 filas, marzo 2026). Columnas: post_id, post_title, categoria_propuesta, seccion_original, carta_id, carta_titulo, carta_fecha.
Multipertenencia legítima
Un post puede tener varias de estas cats si ha sido linkado bajo distintos encabezados en distintas cartas a lo largo de los años. Ejemplo: gracias-padre-por-el-espiritu (WP id 5027) está en 1647 Y 1648 porque aparece 3 veces como eucaristía (2017, 2020, 2023) y 1 vez como comentario (Pentecostés 2014). No es un error.
Regeneración
scripts/regenerar_clasificacion_csv.py (ver Scripts de migración) reproduce el modelo procesando todas las cartas + resolviendo links a WP post_id.
Sub-clasificación posicional dentro de "Evangelio y comentarios al Evangelio" (regla del editor, siempre):
- Pos 1 →
lectura(cita del evangelio) - Pos 2 →
comentario_editorial - Pos 3+ →
comentario
Cobertura no implementada todavía: lectura dentro de eucaristía (las lecturas bíblicas se agrupan con eucaristia), cat otro (catch-all), noticia, y encabezados de fiestas especiales (Domingo Resurrección, Navidad, Vigilia Pascual, etc.).
Issue de diseño: #42. Mecanismo de portada que consume estos datos en runtime: mu-plugin fea-carta-portada.php (#38, wiki Portada y shortcodes).
Subcategorías EFFA
| term_id | Slug |
|---|---|
| 1653 | effa-espiritualidad |
| 1654 | effa-biblia-at |
| 1655 | effa-biblia-nt |
| 1656 | effa-cristologia |
| 1657 | effa-nuestras-creencias |
| 1658 | effa-fe-y-cultura |
Idiomas (Polylang)
| Idioma | term_taxonomy_id |
|---|---|
| ES | 1404 (constante FEA_LANG_ES_TTID en fea-homepage.php) |
| EN | (consultar en wp_term_taxonomy con taxonomy='language') |
| FR | … |
| IT | … |
| PT | … |
Bug crítico: wp post term set con IDs numéricos
wp post term set 12345 category 28
❌ No asigna term_id 28. wp-cli interpreta 28 como nombre de término — si no existe, crea un término nuevo llamado literalmente "28". (Confirmado en su día con term_id=3299 creado por error).
wp post term set 12345 category evangelios-y-comentarios
✅ Correcto. Usar siempre el slug.
Mapeo idioma EN/FR/IT/PT × get_term_by
get_term_by('slug', $slug, 'category') devuelve false cuando el idioma actual es EN/FR/IT/PT.
Workaround: $wpdb directo. Ver Polylang multiidioma.
Exclusiones de autores
FEA_AUTORES_EXCLUIR = [1, 890, 1049, 1540]
| ID | Usuario |
|---|---|
| 1 | Fe Adulta |
| 890 | Fe Adulta (duplicado) |
| 1049 | Ediciones Feadulta |
| 1540 | José Chicharro |
Adicionalmente para [fea_autores_habituales]:
fea_autores_query(30, [948, 1048]) → excluye IDs 948 y 1048 (Inma Calvo duplicada).
Cómo verificar un term_id
# Local
docker exec wordpress-mysql mysql -uwordpress_user -pwordpress_pass wordpress_db -e "
SELECT t.term_id, t.name, t.slug, tt.taxonomy, tt.count
FROM wp_terms t
JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id
WHERE tt.taxonomy = 'category'
ORDER BY t.term_id;"
# Prod
ssh feadultada@feadulta.org "mysql -h127.0.0.1 -umyfeadultaa5 -pKjyGU29h \
278025353wordpress20260112013937 -e \"SELECT t.term_id, t.name, t.slug, tt.count FROM wp_terms t JOIN wp_term_taxonomy tt USING(term_id) WHERE tt.taxonomy='category' ORDER BY t.term_id;\""