Si tu entorno de alojamiento limita el programador de tareas integrado de WordPress, o si necesitas que los feeds se actualicen a una hora precisa que los intervalos horarios, dos veces al día o diarios del plugin no cumplen, puedes controlar las actualizaciones de los feeds desde un trabajo cron a nivel de servidor. Esto te da un control exacto sobre el tiempo y evita depender del tráfico de visitantes para activar el programador de WordPress.
Síntomas comunes: feeds atascados en datos antiguos, tiempos de actualización que varían entre visitas, o entornos de alojamiento que deshabilitan wp-cron.
Product Feed Pro y Product Feed Elite admiten dos enfoques: un comando WP-CLI (recomendado) y un script PHP independiente para servidores sin WP-CLI.
Antes de empezar
- Instalado y activo Product Feed Pro o Product Feed Elite
- Al menos un feed de producto creado y configurado
- Acceso SSH o cPanel a tu servidor para añadir trabajos cron
- Tu ID de feed (ver Paso 1 en cualquiera de los métodos a continuación)
- Versión 13.5.4 o posterior para soporte WP-CLI
Método 1: WP-CLI (recomendado)
WP-CLI está disponible en la mayoría de los hosts de WordPress gestionados. Es la forma más sencilla y fiable de activar una actualización de feed desde un trabajo cron del servidor: sin archivos PHP que gestionar, sin necesidad de inicializar WordPress.
Paso 1: Encuentra tu ID de feed
- Ve a Feed de productos → Gestionar feeds en tu administrador de WordPress.
- Haz clic en el feed que deseas actualizar.
- Mira la barra de direcciones del navegador. El ID del feed es el valor del parámetro
id; por ejemplo,admin.php?page=adt-edit-feed&id=123significa que tu ID de feed es123.
Paso 2: Deshabilita el intervalo de actualización integrado
Para evitar que el programador del plugin ejecute una actualización duplicada junto con tu trabajo cron:
- Mientras editas el feed, ve a la pestaña General.
- Establece Intervalo de actualización en Sin actualización.
- Haz clic en Guardar Cambios.
Paso 3: Añade el trabajo cron del servidor
En tu servidor, añade una entrada cron que ejecute wp adt-feed refresh en el horario que elijas. Reemplaza /ruta-a-wordpress con el directorio raíz real de tu sitio y 123 con tu ID de feed:
0 2 * * * cd /path-to-wordpress && wp adt-feed refresh 123 >> /tmp/feed-refresh-123.log 2>&1
Este ejemplo se ejecuta a las 2:00 AM todos los días. Ajusta la expresión de programación para que coincida con tus necesidades.
Para actualizar varios feeds en un solo trabajo cron, enumera sus IDs separados por espacios:
0 2 * * * cd /path-to-wordpress && wp adt-feed refresh 123 456 789
Método 2: Script PHP
Usa este método si tu servidor no admite WP-CLI.
Paso 1: Encuentra tu ID de feed
Sigue los mismos pasos que en el Método 1, Paso 1 anterior: haz clic en tu feed para editarlo y lee el valor id= de la URL.
Paso 2: Crea el script PHP
Crea un nuevo archivo llamado feed-refresh-123.php (reemplaza 123 con el ID de tu feed) y guárdalo en el directorio de tu tema hijo; por ejemplo, wp-content/themes/tu-tema-hijo/feed-refresh-123.php.
Añade este código al archivo, reemplazando 123 con el ID real de tu feed:


