2
Portada y shortcodes
rafa edited this page 2026-05-25 12:22:30 -04:00

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 al images/home/ de Joomla)
  • Operativa del editor: subir/borrar ficheros .jpg/.png/.webp en esa carpeta
  • Sincronización automática: fea-slider-sync.php detecta cambios (mtime) y reescribe los slides del slider 2 en wp_nextend2_smartslider3_slides. Cero clicks en wp-admin.
  • Disparadores: hook template_redirect en front (primera visita a portada tras cambio) + admin_init en 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-radius
  • list-style
  • height: auto en 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