Títulos en MAYÚSCULAS (legacy Joomla) → sentence case en todo el front (single, SEO, RSS) — solo presentación #87
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Labels: area:aesthetic, area:plugin, improvement
Resumen
Los títulos de los artículos se ven en TODO MAYÚSCULAS, heredado de Joomla. Hay que mostrarlos en formato normal (sentence case: "Una relación de amor, no comercial"), de forma coherente con la portada.
Enfoque elegido: solo presentación (no se toca la BD). Se aplica una transformación en render; el dato crudo sigue en mayúsculas pero nunca se ve en el front. Reversible y sin riesgo de pérdida de datos.
Estado actual verificado
post_titleen TODO MAYÚSCULAS en la BD (BINARY post_title = BINARY UPPER(post_title)). Origen: migración FG Joomla → WP.fea_title()enwordpress/wp-content/mu-plugins/fea-homepage.php:675:the_title(fea-homepage.php:51) que aplicafea_title(), pero solo en listados/archivos/búsqueda y excluye explícitamente single, portada y admin:fea_title()directamente en su código (cards, hero, secciones), por eso ahí ya se ve bien.Dónde SIGUE viéndose en mayúsculas (lo que hay que cubrir)
is_singular()está excluido → el<h1>del post sale en MAYÚSCULAS. Es el caso principal que reporta el usuario.<title>del documento / SEO — lo genera Yoast /document_title_parts, no pasa porthe_title.the_title_rss.Qué hacer (solo presentación)
the_titlepara que cubra también el single: quitaris_singular()de la exclusión (manteneris_admin()excluido). Revisar la guardain_the_loop()— el bloque post-title de la plantilla FSE (single,wp_templateID 42359) debe quedar cubierto; si el título principal no está "in the loop" en ese contexto, ajustar la condición para incluiris_singular() && in_the_main_query().<title>del documento y SEO:document_title_parts(núcleo WP).wpseo_title,wpseo_opengraph_title,wpseo_twitter_title(y metadescription si procede). Aplicarfea_title()a la parte del título del post.the_title_rss→fea_title().fea_title()ya funciona en FR/IT/PT (solo capitaliza la inicial). No requiere lógica por idioma.is_admin()excluido.Mejora opcional de
fea_title()(casos peligrosos)Al pasar el single por
fea_title(), se hace más visible un defecto del sentence case naïve con títulos compuestos, sobre todo citas bíblicas que son el propio título:ISAÍAS 5, 1-7 / FILIPENSES 4, 6-9→ hoy quedaríaIsaías 5, 1-7 / filipenses 4, 6-9(la 2ª parte tras/en minúscula).MARIA CLARA BINGEMER→Maria clara bingemer), pero es el mismo criterio que ya se aplica y aprueba en la portada, así que se acepta salvo que se quiera afinar.Mejora recomendable (no bloqueante): que
fea_title()capitalice también la primera letra tras separadores (/,:,–,«,¿,¡,"). Eso arregla las citas bíblicas dobles sin meterse en detección de nombres propios. Si se quiere ir más allá, mantener una lista corta de siglas/acrónimos a preservar — pero eso ya es opcional.Plan de implementación
the_titleenfea-homepage.phppara incluir el single (mantener admin fuera).document_title_parts,the_title_rssy loswpseo_*aplicandofea_title().fea_title()para capitalizar tras separadores./feed/),<title>de la pestaña, y un título con cita bíblica doble./web/wp-nuevo): subir el mu-plugin (scp NO va →ssh '... cat > ruta'; sinproc_open). Verificar server-side o con Rafa (Cloudflare bloquea headless).Ficheros y referencias
wordpress/wp-content/mu-plugins/fea-homepage.php— filtrothe_title(L51),fea_title()(L675).wp_postsID 42359.Criterios de aceptación
<title>de la pestaña / SEO y los feeds RSS también en sentence case.ISAÍAS 5,1 / FILIPENSES 4,6se capitalizan bien en ambas partes.