Filtros
Los filtros permiten modificar valores que el plugin usa internamente sin tocar su código. Se conectan con add_filter() y deben devolver el valor modificado.
Todos los filtros documentados aquí están verificados contra el código fuente (apply_filters(...)). Si un filtro no aparece en esta página, el plugin no lo dispara.
Chequeos de salud del servidor (health checks)
Antes de iniciar la sincronización, el plugin verifica memoria, carga (load average) y disco. Estos filtros ajustan los umbrales y permiten desactivar chequeos individuales.
thi_server_health_check_enabled
Habilita o deshabilita por completo los chequeos de salud antes de sincronizar.
$enabled = apply_filters('thi_server_health_check_enabled', true);
| Propiedad | Valor |
|---|
| Valor predeterminado | true |
| Tipo de retorno | boolean |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_allow_image_sync_when_unhealthy
Permite continuar la sincronización de imágenes aun cuando los chequeos detectan presión de recursos.
$allow = apply_filters('thi_allow_image_sync_when_unhealthy', false, $health_result);
| Propiedad | Valor |
|---|
| Valor predeterminado | false |
| Argumentos | $allow (bool), $health_result (array con detalles por sistema) |
| Ubicación | includes/ajax/ajax-handlers.php |
Devolver true en servidores con recursos al límite puede causar timeouts o fallas OOM. Úsalo sólo cuando sepas que los umbrales por defecto son demasiado conservadores para tu entorno.
thi_server_health_check_memory_enabled
Habilita o deshabilita específicamente el chequeo de memoria.
$enabled = apply_filters('thi_server_health_check_memory_enabled', true);
| Propiedad | Valor |
|---|
| Valor predeterminado | true |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_memory_warning_threshold
Porcentaje de memoria a partir del cual el chequeo emite un warning.
$threshold = apply_filters('thi_memory_warning_threshold', 85.0);
| Propiedad | Valor |
|---|
| Valor predeterminado | 85.0 (%) |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_memory_critical_threshold
Porcentaje de memoria a partir del cual el chequeo bloquea la sincronización.
$threshold = apply_filters('thi_memory_critical_threshold', 95.0);
| Propiedad | Valor |
|---|
| Valor predeterminado | 95.0 (%) |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_server_health_check_load_enabled
Habilita o deshabilita el chequeo de load average.
$enabled = apply_filters('thi_server_health_check_load_enabled', true);
| Propiedad | Valor |
|---|
| Valor predeterminado | true |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_load_warning_threshold_normalized
Umbral de advertencia para el load average normalizado por CPU (load average / número de núcleos).
$threshold = apply_filters('thi_load_warning_threshold_normalized', 1.2);
| Propiedad | Valor |
|---|
| Valor predeterminado | 1.2 |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_load_critical_threshold_normalized
Umbral crítico para el load average normalizado por CPU.
$threshold = apply_filters('thi_load_critical_threshold_normalized', 2.0);
| Propiedad | Valor |
|---|
| Valor predeterminado | 2.0 |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_server_health_check_load_hard_fail
Indica si superar el umbral crítico de load debe bloquear la sincronización (hard fail) o solo advertir.
$hard_fail = apply_filters('thi_server_health_check_load_hard_fail', !$is_docker);
| Propiedad | Valor |
|---|
| Valor predeterminado | true en hosts normales, false cuando se detecta Docker (donde el load puede ser engañoso) |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_server_health_check_disk_enabled
Habilita o deshabilita el chequeo de espacio en disco.
$enabled = apply_filters('thi_server_health_check_disk_enabled', true);
| Propiedad | Valor |
|---|
| Valor predeterminado | true |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_disk_warning_gb
GB libres a partir de los cuales el chequeo emite warning de disco.
$gb = apply_filters('thi_disk_warning_gb', 5.0);
| Propiedad | Valor |
|---|
| Valor predeterminado | 5.0 GB |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
thi_disk_critical_gb
GB libres a partir de los cuales el chequeo falla con error crítico.
$gb = apply_filters('thi_disk_critical_gb', 1.0);
| Propiedad | Valor |
|---|
| Valor predeterminado | 1.0 GB |
| Tipo | float |
| Ubicación | includes/ajax/ajax-handlers.php |
Notificaciones y reportes
thi_notifications_enabled
Controla si el plugin envía notificaciones por email (alertas de error + reporte periódico).
$enabled = apply_filters('thi_notifications_enabled', $is_premium);
| Propiedad | Valor |
|---|
| Valor predeterminado | true si el plan tiene premium code, false en caso contrario |
| Ubicación | includes/notifications/notification-functions.php |
En el plan Starter las notificaciones por email están deshabilitadas por defecto porque es una característica premium.
thi_error_alert_throttle_seconds
Tiempo mínimo (en segundos) entre dos correos de alerta de error consecutivos para evitar spam.
$seconds = apply_filters('thi_error_alert_throttle_seconds', 1800);
| Propiedad | Valor |
|---|
| Valor predeterminado | 1800 (30 minutos) |
| Ubicación | includes/notifications/class-thi-error-alert.php |
thi_sync_reports_retention_days
Días que se conservan los reportes de sincronización antes de ser purgados por el cron diario.
$days = apply_filters('thi_sync_reports_retention_days', 30);
| Propiedad | Valor |
|---|
| Valor predeterminado | 30 días |
| Ejecutado por | el evento WP-Cron thi_daily_sync_reports_cleanup |
| Ubicación | includes/sync/class-thi-sync-report-store.php |
Buenas prácticas
- Devuelve siempre el valor (modificado o no). Un filtro que no retorna dispara advertencias y rompe comportamiento.
- Usa prioridades distintas a
10 si quieres garantizar que tu filtro se ejecute después del default del plugin (si cambia en el futuro).
- No llames operaciones pesadas dentro del callback de un filtro: estos se evalúan en cada request relevante.
// ✅ Correcto
add_filter('thi_memory_warning_threshold', function($threshold) {
return 70.0; // retorna el nuevo valor
});
// ❌ Incorrecto (no retorna nada)
add_filter('thi_memory_warning_threshold', function($threshold) {
$new = 70.0;
// missing return
});