Hooks de Acción
Los hooks de acción permiten ejecutar código personalizado en momentos específicos del ciclo de vida del plugin. Utilizaadd_action() para conectarse a estos hooks.
Hooks de sincronización
thi_scheduled_sync
Se dispara durante la sincronización programada del plugin./src/Sync/SyncManager.php
thi_continue_image_sync
Se dispara para continuar el procesamiento de imágenes en lotes.$context(array) - Contexto de sincronización con información del lote actual
/src/Images/ImageProcessor.php
thi_bulk_update_titles_batch
Se dispara durante el procesamiento de un lote de actualización de títulos.$batch(array) - Información del lote actual$total_processed(int) - Total de elementos procesados hasta ahora
/src/Mapping/PropertyMapper.php
thi_cron_sync_continue
Se dispara como continuación de una sincronización cron.$sync_state(array) - Estado actual de la sincronización
/src/Sync/CronScheduler.php
Hooks de integración
tp_fs_loaded
Se dispara cuando el SDK de Freemius se ha cargado completamente./tokko-plugins.php
houzez_after_agent_form_submission
Se dispara después del envío de un formulario de agente en Houzez (usado para CRM).$form_data(array) - Datos enviados en el formulario$agent_id(int) - ID del agente
tokko_contact_form_submission
Se dispara al enviar un formulario de contacto personalizado de Tokko.$submission_data(array) - Datos del formulario de contacto$property_id(int) - ID de la propiedad asociada
/src/Forms/ContactForm.php
Hooks de AJAX
Estos hooks se disparan mediante acciones AJAX del plugin. Son útiles para extender el comportamiento de sincronización desde el panel de administración.thi_unified_sync_detect
Inicia la detección de cambios para sincronización.thi_unified_sync_execute_batch
Ejecuta un lote de sincronización.thi_unified_sync_finalize
Finaliza la sincronización AJAX.thi_sync_single_property
Sincroniza una propiedad individual.thi_sync_developments_only
Sincroniza únicamente desarrollos.thi_force_reprocess_properties
Fuerza reprocesamiento de todas las propiedades.Mejores prácticas
Siempre valida capacidades de usuario usando
current_user_can() en hooks de administración.Performance
- Mantén hooks ligeros; no ejecutes operaciones pesadas
- Usa
wp_remote_post()asincrónico para llamadas externas - Aprovecha el sistema de caché de WordPress
