Empezar
Cómo actualizar feeds de productos usando trabajos cron - AdTribes
  1. Inicio
  2. Base de conocimientos
  3. Consejos generales sobre feeds
  4. Cómo actualizar feeds de productos usando trabajos cron

Cómo actualizar feeds de productos usando trabajos cron

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.

Si tus feeds no se actualizaban en las ejecuciones programadas en un servidor sensible a mayúsculas y minúsculas (Linux, Kinsta o similar), este era un error conocido corregido en la versión 13.5.4. Actualizar el plugin resuelve el problema sin necesidad de una configuración cron personalizada.

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

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

  1. Ve a Feed de productos → Gestionar feeds en tu administrador de WordPress.
  2. Haz clic en el feed que deseas actualizar.
  3. 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=123 significa que tu ID de feed es 123.

ID del feed visible en la barra de URL al editar un feed

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:

  1. Mientras editas el feed, ve a la pestaña General.
  2. Establece Intervalo de actualización en Sin actualización.
  3. Haz clic en Guardar Cambios.

Feed con intervalo de actualización "No actualizar"

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.

Si wp no está en el PATH predeterminado de tu servidor, usa la ruta completa al binario WP-CLI (por ejemplo, /usr/local/bin/wp) en lugar de solo wp.

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.

El script PHP inicia la generación del feed poniéndolo en cola a través de Action Scheduler. El procesamiento real ocurre en segundo plano; el feed no se actualizará en el mismo instante en que se ejecute el script. Asegúrate de que el cron de WordPress (o un cron de servidor separado que acceda a wp-cron.php) esté activo para que Action Scheduler pueda completar los lotes.

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:

El mejor plugin de feeds de productos de WooCommerce

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Producto
Recursos e información
Sitios asociados
Rymera