+33
-12
@@ -1,24 +1,45 @@
|
||||
# Portada y shortcodes
|
||||
|
||||
Todo el render de la portada vive en el mu-plugin `fea-homepage.php`.
|
||||
El render de la portada vive en mu-plugins:
|
||||
|
||||
- **Local:** `wordpress/wp-content/mu-plugins/fea-homepage.php` (trackeado en git)
|
||||
- **En el container:** `/var/www/html/wp-content/mu-plugins/fea-homepage.php`
|
||||
- **Producción:** `/web/wp-content/mu-plugins/fea-homepage.php`
|
||||
| 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](../issues/38) |
|
||||
| `fea-slider-sync.php` | Sincroniza Smart Slider 3 con `uploads/home/` (modelo Joomla `images/home/`) — ver [#43](../issues/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 |
|
||||
|---|---|
|
||||
| `[fea_carta_semana_hero]` | Hero principal con la carta de la semana actual |
|
||||
| `[fea_articulos_semana]` | Grid de artículos vinculados a la carta de la semana |
|
||||
| `[fea_evangelio]` | Bloque de evangelio del domingo |
|
||||
| `[fea_eucaristia]` | Bloque de eucaristía |
|
||||
| `[fea_multimedia]` | Bloque de multimedia reciente |
|
||||
| `[fea_noticia_centro]` | Bloque de "Noticias de alcance" del footer (template part ID 42370) |
|
||||
| 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](Carta-de-la-semana) y [#38](../issues/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 = [])`
|
||||
|
||||
Reference in New Issue
Block a user