feat: sitio CV completo v1.0.0

- 4 temas WordPress: persona-cv (activo), lumina, apex-cv, cvolio
- Plugin pflores-cv-fields con CMB2 (100% gratuito) — admin editable
- Generador PDF dinámico con Chromium headless (?cv_pdf=1)
- Datos del CV de Patricia Flores cargados en CMB2
- URL dinámica con soporte proxy SSL (NPM/X-Forwarded-Proto)
- WP Mail SMTP instalado (pendiente config SMTP)
- Documentación completa: PROMPT_IA.md, DEPLOY_WEB.md, PRODUCCION.md, VERSIONADO.md
This commit is contained in:
2026-06-05 11:21:30 -05:00
parent cc6545604c
commit 5846c515f3
77 changed files with 9567 additions and 220 deletions
+26 -3
View File
@@ -25,11 +25,34 @@ define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
if (getenv('WP_URL')) {
define('WP_HOME', getenv('WP_URL'));
define('WP_SITEURL', getenv('WP_URL'));
// Desactivar actualizaciones automáticas para proteger archivos de temas y plugins locales
define('AUTOMATIC_UPDATER_DISABLED', true);
define('WP_AUTO_UPDATE_CORE', false);
// URL dinámica con soporte de reverse proxy (NPM, Nginx, Traefik…).
// NPM termina SSL y reenvía como HTTP, pero manda X-Forwarded-Proto: https.
$_wpIsHttps = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|| (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https')
|| (!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on');
// X-Forwarded-Host contiene el dominio público cuando hay proxy.
// Fallback a HTTP_HOST (que NPM también pasa correctamente).
$_wpHost = $_SERVER['HTTP_X_FORWARDED_HOST']
?? $_SERVER['HTTP_HOST']
?? '127.0.0.1:8081';
$_wpProto = $_wpIsHttps ? 'https' : 'http';
define('WP_HOME', $_wpProto . '://' . $_wpHost);
define('WP_SITEURL', $_wpProto . '://' . $_wpHost);
// Necesario para que WordPress confíe en el header del proxy
// y no entre en bucle de redirección HTTP→HTTPS.
if ($_wpIsHttps) {
$_SERVER['HTTPS'] = 'on';
}
unset($_wpIsHttps, $_wpHost, $_wpProto);
if (! defined('ABSPATH')) {
define('ABSPATH', __DIR__ . '/');
}