Sincronizar mu-plugins/ y scripts/ con el estado real del sitio (2026-07-16)

Este repo llevaba desde el 28-jun sin actualizarse (salvo sync_carta_from_prod.py).
Se pone al dia con 3 semanas de trabajo que solo vivian en el checkout local
completo del proyecto:

- Fix del buscador (issue #178): AND obligatorio en FULLTEXT (antes devolvia
  practicamente todo el sitio con cualquier busqueda), exclusion de paginas
  indice residuales de la migracion K2, soporte de frase exacta entre comillas.
- Nuevos mu-plugins ya desplegados a prod: fea-carta-id-api, fea-cloudflare-realip,
  fea-crear-autor-api, fea-gsc-verification, fea-legacy-redirect (cutover
  Joomla->WP, ver issue #162).
- TTS multi-voz por autor, scripts de traduccion, sync de audio a prod,
  homenajes Mardones/Galarreta.

Se mantiene la estructura plana del repo (mu-plugins/ + scripts/, sin el
wordpress/wp-content/ del checkout completo) tal y como documenta el README:
es la convencion establecida para este repo, mas limpia para quien solo
necesita leer el codigo. Anadido .gitignore (cache de Python que no debia
commitearse).

Fuente: checkout local completo del proyecto, rama main (commit 69e849d).
This commit is contained in:
2026-07-15 20:26:43 -04:00
parent d044e229dc
commit 6b61250b0b
35 changed files with 1482 additions and 45 deletions
+15 -3
View File
@@ -140,9 +140,21 @@ function fea_url_to_post_id($url) {
// Enlace interno WP: deriva el slug del path, relativo al home. Agnóstico al
// entorno → funciona en local (home en .../fea) y en prod (home en la raíz).
// No depende de un prefijo /fea/ hardcodeado (issue #91).
$host = wp_parse_url($url, PHP_URL_HOST);
$home_host = wp_parse_url(home_url(), PHP_URL_HOST);
if ($host && $home_host && strcasecmp($host, $home_host) !== 0) {
//
// Durante el cutover de dominio (issue #158) el `home_url()` de WP sigue en
// wp-nuevo.feadulta.com pero el contenido ya enlaza a www.feadulta.com. Para
// no romper la resolución mientras el cutover no esté cerrado, se acepta
// también una lista fija de hosts propios del sitio, no solo home_url().
// TODO: cuando #158 quede resuelto y home_url() sea www.feadulta.com, esta
// lista se puede simplificar a solo home_url().
$own_hosts = array_filter(array_unique([
strtolower((string) wp_parse_url(home_url(), PHP_URL_HOST)),
'www.feadulta.com',
'feadulta.com',
'wp-nuevo.feadulta.com',
]));
$host = wp_parse_url($url, PHP_URL_HOST);
if ($host && !in_array(strtolower($host), $own_hosts, true)) {
return null; // host externo → no es un artículo nuestro
}