Table of Contents
Portada y shortcodes
El render de la portada vive en mu-plugins:
| Fichero | Qué hace |
|---|---|
fea-homepage.php |
Shortcodes de portada, CSS, helpers (fea_card, fea_title, fea_is_front_page) |
fea-carta-portada.php |
Parser de la carta semanal (sección → posts) que alimenta los shortcodes — ver #38 |
fea-slider-sync.php |
Sincroniza Smart Slider 3 con uploads/home/ (modelo Joomla images/home/) — ver #43 |
Paths:
- Local:
wordpress/wp-content/mu-plugins/(trackeado en git) - Container:
/var/www/html/wp-content/mu-plugins/ - Producción:
/web/wp-content/mu-plugins/
Shortcodes de portada
| Shortcode | Qué muestra | Fuente principal | Fallback |
|---|---|---|---|
[fea_carta_semana_hero] |
Hero con la carta de la semana actual | Carta más reciente de cat 6 | — |
[fea_articulos_semana] |
Grid de artículos | Sección "Artículos seleccionados" de la carta | ACF portada_articulos → últimos cat 1650 |
[fea_evangelio] |
Comentarios al evangelio | Sección "Evangelio y comentarios" de la carta | Cat 1646 + 1647 por fecha |
[fea_eucaristia] |
Eucaristía participativa | Sección "Para unas eucaristías…" de la carta | Cat 1648 por fecha |
[fea_multimedia] |
Multimedia | Sección "Material multimedia" de la carta | ACF portada_multimedia → últimos cats 1649/26/58 |
[fea_noticia_centro] |
Bloque footer "Noticias de alcance" (template part 42370) | Cat 41 | — |
Modelo "carta → portada": ver Carta de la semana y #38. El parser de cartas (fea_extract_sections_from_html, fea_carta_section_posts) extrae los links agrupados por encabezado.
Todos los artículos de portada se renderizan con la helper fea_card() para que el card sea consistente (avatar + autor + título + extracto).
Carrusel (Smart Slider 3, slider id 2 "Slider_home")
El carrusel de la portada NO se edita en wp-admin sino directamente en filesystem:
- Carpeta fuente:
wp-content/uploads/home/(paralelo alimages/home/de Joomla) - Operativa del editor: subir/borrar ficheros
.jpg/.png/.webpen esa carpeta - Sincronización automática:
fea-slider-sync.phpdetecta cambios (mtime) y reescribe los slides del slider 2 enwp_nextend2_smartslider3_slides. Cero clicks en wp-admin. - Disparadores: hook
template_redirecten front (primera visita a portada tras cambio) +admin_initen backend - Forzar resync vía CLI:
wp eval "fea_slider_home_sync_now(true);"
Limpieza del cache SS3: el sync incrementa wp_nextend2_section_storage.sliderChanged para forzar regeneración del manifest. Si se rompe la regeneración (slider vacío en portada), restaurar manualmente desde backup/wp-db/wp_nextend_pre_issue43_*.sql.gz.
Helpers
fea_card($post_id, $opts = [])
Renderiza una tarjeta con imagen, título, autor y excerpt. Es la unidad visual común de la portada.
fea_title($str)
Convierte títulos de MAYÚSCULAS de la BD a sentence case (primera letra mayúscula, resto minúsculas). Comportamiento intencional: los títulos legacy de Joomla/K2 estaban en TODO CAPS y se normalizan al renderizar.
fea_is_front_page()
Detecta si estamos en la portada (cualquiera de los 5 idiomas). Usado para inyectar el CSS de portada solo donde toca.
CSS de portada
Inyectado en wp_head solo cuando fea_is_front_page() es true. No es CSS estático ni en el tema — vive en fea-homepage.php.
Clases relevantes
| Clase | Uso |
|---|---|
.fea-section-title |
Etiqueta uppercase pequeña con borde izquierdo carmesí #8b1a2e (color marca) |
.n2-ss-slide--focus |
visually-hidden para evitar que los nombres de fichero del Smart Slider 3 aparezcan como texto leído por pantallas |
.fea-card-* |
Variantes de tarjeta |
Regla crítica
El tema Astra ignora CSS externo para ciertas propiedades de imagen y radios. Usar inline styles para:
border-radiuslist-styleheight: autoen imágenes
Detalle completo en CSS y bugs del tema Astra.
5 portadas (multiidioma)
Cada idioma tiene su propia página de portada en Polylang. El mismo shortcode fea_is_front_page() las reconoce todas.
| Idioma | Page ID |
|---|---|
| ES | 26542 |
| EN | 43889 |
| FR | 42756 |
| IT | 42757 |
| PT | 42758 |
Otros shortcodes definidos en fea-homepage.php
| Shortcode | Sección | Documentado en |
|---|---|---|
[effa_proyecto] |
Hub EFFA | EFFA (Escuela) |
[effa_seccion cat="..."] |
Subpáginas EFFA | EFFA (Escuela) |
[fea_autores_habituales] |
Listado autores | Autores |
[fea_autores_completo] |
Listado autores | Autores |
[fea_citas_evangelio libro="..."] |
Posts evangelios | Evangelios y comentarios |