Skip to main content

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);
PropiedadValor
Valor predeterminadotrue
Tipo de retornoboolean
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadofalse
Argumentos$allow (bool), $health_result (array con detalles por sistema)
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadotrue
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado85.0 (%)
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado95.0 (%)
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadotrue
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado1.2
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado2.0
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadotrue en hosts normales, false cuando se detecta Docker (donde el load puede ser engañoso)
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadotrue
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado5.0 GB
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado1.0 GB
Tipofloat
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminadotrue si el plan tiene premium code, false en caso contrario
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado1800 (30 minutos)
Ubicaciónincludes/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);
PropiedadValor
Valor predeterminado30 días
Ejecutado porel evento WP-Cron thi_daily_sync_reports_cleanup
Ubicaciónincludes/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
});