Si administras docenas de feeds, ejecutas un sitio headless o de staging, o necesitas que las actualizaciones de feeds se activen desde un cron job a nivel de servidor en lugar de una visita a la página, hacer clic en la pantalla de administración para cada feed se vuelve lento rápidamente. Product Feed Pro incluye un conjunto completo de comandos WP-CLI para que puedas listar, crear, actualizar y actualizar feeds directamente desde la terminal. Eso significa que puedes automatizar la administración de feeds, integrarla en un pipeline de implementación o activar una actualización desde un cron job del sistema sin tocar el panel de WordPress.
Prerrequisitos
| Requisito | Detalles |
|---|---|
| Versión de Product Feed Pro | 13.5.4 o posterior |
| WP-CLI | Instalado y funcionando en tu servidor. Los comandos de Product Feed Pro se registran con tu instalación existente de WP-CLI. No lo instalan por ti. |
| Estado del plugin | Product Feed Pro activo en el sitio. No se requiere licencia Elite ni plan de pago; estos comandos forman parte del nivel gratuito/Pro. |
| Acceso | Acceso Shell o SSH al servidor, o un panel de hosting que proporcione una terminal WP-CLI. |
Referencia de comandos
Cada comando se encuentra bajo el espacio de nombres adt-feed. Ejecuta wp adt-feed <comando> para la administración de feeds, wp adt-feed channel list para ver los canales disponibles y wp adt-feed format list para ver los formatos de archivo compatibles.
Listar feeds
Muestra los feeds que ya están en tu sitio. Úsalo para verificar el estado, encontrar el ID de un feed o exportar la lista completa.
| Marca | Predeterminado | Notas |
|---|---|---|
--status=<estado> | cualquiera | publicado, borrador o cualquiera |
--channel=<canal> | ninguno | Filtrar por nombre o hash del canal, sin distinción de mayúsculas y minúsculas. |
--por-pagina=<n> | 100 | Máximo de feeds a devolver |
--pagina=<n> | 1 | Número de página para paginación |
--format=<formato> | tabla | tabla, csv, json, yaml, ids o count |
--fields=<campos> | id,título,estado_post,estado,canal,formato_archivo,cantidad_productos,última_actualización | Lista de columnas separadas por comas para mostrar |
wp adt-feed list
wp adt-feed list --status=publish --format=json
wp adt-feed list --channel="Google Shopping"
wp adt-feed list --format=ids
El último ejemplo imprime solo los IDs numéricos de los feeds, lo cual es útil cuando quieres pasarlos a otro comando, como actualizar todos los feeds publicados en una sola línea.
Obtener los detalles de un feed
Muestra la configuración completa de un feed, incluyendo sus mapeos de atributos, filtros y reglas.
wp adt-feed get 4945
wp adt-feed get 4945 --format=yaml
Reemplaza 4945 con el ID numérico del feed, o su hash de proyecto heredado si no conoces el ID. --format acepta json (predeterminado), yaml o table. En el formato table, los datos anidados como mapeos y reglas se aplanan en una cadena JSON en cada fila para que siga siendo legible en una terminal.
Crear un feed
Crea un nuevo feed. Como mínimo, necesitas un título, canal, país y formato de archivo.
Un feed creado solo con flags no tiene mapeo de atributos. La interfaz de administración completa los atributos requeridos del canal cuando creas un feed allí. La CLI no lo hace. Un feed creado a partir de flags todavía informa ready después de generarse, y su recuento de productos no es cero, pero el archivo que escribe no contiene ningún producto. Nada te advierte. Verificado en Product Feed Pro 13.5.7: un feed de flags desnudo finalizó con el estado ready y un recuento de productos de 18, mientras que el XML generado solo contenía la cabecera del canal y cero nodos de elementos.
Para crear un feed utilizable, pasa la configuración completa en --from-file. La forma más rápida de construir ese JSON es configurar un feed en la interfaz de administración, ejecutar wp adt-feed get <id> --format=json, y luego editar el resultado. Ten en cuenta que las definiciones de canal almacenan un sufijo {{CURRENCY}} en los atributos de precio, y solo la pantalla de mapeo de campos del administrador reemplaza ese marcador de posición con la moneda de tu tienda. Si escribes el JSON a mano, sustituye tú mismo el código de moneda o el feed emitirá el texto literal {{CURRENCY}}.
| Marca | Notas |
|---|---|
--title=<título> | Título del feed |
--channel=<canal> | Nombre o hash del canal. Ejecuta wp adt-feed channel list para ver los valores válidos. Pasar --country restringe la coincidencia de nombres a los canales genéricos, ya que la lista de canales se indexa por nombre de país completo mientras que create toma un código de dos letras, y el suministro de un país también omite el escaneo de respaldo de todos los países. Deja --country desactivado y la coincidencia de nombres escanea todos los países. Un hash de canal siempre se resuelve, lo que sea que pases, por lo que si create informa "Canal desconocido" para un canal que puedes ver en la lista, pasa el hash en su lugar. |
--country=<país> | Código de país de dos letras, por ejemplo AU o US |
--file-format=<formato> | Uno de los formatos de wp adt-feed format list |
--refresh-interval=<intervalo> | hourly, twicedaily, o daily. Omite la bandera para dejar el feed sin programar. El valor no se valida. Cualquier otra cadena se almacena tal cual: pasar empty almacena la palabra literal y, una vez publicado el feed, registra una acción única con fecha 1970-01-01 en lugar de una actualización recurrente, por lo que el feed nunca se actualiza según un horario. |
--post-status=<estado> | draft (predeterminado) o publish |
--from-file=<ruta> | Ruta a un archivo JSON con las propiedades del feed. Cualquier bandera que también pases anula el valor coincidente en el archivo. |
--porcelain | Imprime solo el ID del nuevo feed, útil para scripting. |
wp adt-feed create --title="My Feed" --channel="Google Shopping" --country=AU --file-format=xml
wp adt-feed create --from-file=./feed.json --post-status=publish
Si no especificas un intervalo de actualización, el feed no se actualizará automáticamente hasta que establezcas uno. Establecer --post-status=publish también registra el horario de actualización del feed inmediatamente, lo mismo que hacer clic en Activar en la interfaz de administración.
Para obtener instrucciones detalladas sobre cómo excluir o incluir productos por condición, consulta Cómo crear filtros para tu feed de productos. Para obtener instrucciones detalladas sobre cómo modificar valores de atributos antes de que lleguen al feed, consulta Cómo crear reglas.
Actualizar un feed
Cambia una o más propiedades en un feed existente. Acepta las mismas banderas de propiedad que create, más --from-file.
wp adt-feed update 4945 --title="Renamed feed"
wp adt-feed update 4945 --refresh-interval=hourly
wp adt-feed update 4945 --from-file=./partial.json
Debes pasar al menos una bandera o --from-file, de lo contrario, el comando saldrá con un error. Si cambias --refresh-interval o --post-status, Product Feed Pro vuelve a registrar o cancela el horario de actualización automáticamente para que coincida.
Eliminar feeds
Elimina permanentemente uno o más feeds.
wp adt-feed delete 4945
wp adt-feed delete 4945 4955 --yes
Puedes pasar varios IDs a la vez. Por defecto, WP-CLI pregunta ¿Eliminar 1 feed(s)? [y/n] antes de eliminar. Añade --yes para omitir la solicitud, lo cual es útil en scripts.
Duplicar un feed
Clona un feed existente, incluyendo su canal, mapeos, filtros y reglas. La nueva copia se crea como un borrador, pero hereda el intervalo de actualización del feed de origen y su horario se registra de inmediato. Ejecuta wp adt-feed deactivate <new-id> si no quieres que la copia se actualice todavía.
wp adt-feed duplicate 4945
La copia se llama Copia de <título original>. Añade --porcelain para imprimir solo el ID del nuevo feed en lugar de un mensaje de confirmación.
Actualizar feeds
Regenera uno o más feeds. Este es el equivalente en CLI de hacer clic en Actualizar en la pantalla Administrar Feeds.
wp adt-feed refresh 4945
wp adt-feed refresh 4945 4955 --async
refresh no genera el feed en tu terminal. Inicia una ejecución y pone en cola el primer lote en Action Scheduler, luego regresa. Añadir --async pone en cola toda la ejecución en su lugar, por lo que el feed no comienza hasta que un trabajador de Action Scheduler lo recoge. De cualquier manera, el trabajo se realiza en la cola de Action Scheduler, por lo que esa cola tiene que ejecutarse para que el feed finalice. En un cron job del servidor, sigue la actualización con wp action-scheduler run para vaciar la cola en la misma sesión. Los feeds se generan en segundo plano.
Cancelar la generación de un feed
Detiene un feed que se está generando actualmente.
wp adt-feed cancel 4945
Úselo si una actualización está atascada o si inició una generación por error. El estado del feed cambia a stopped de inmediato y los lotes pendientes se desprograman. El recuento de productos se pone en cola en Action Scheduler, por lo que los números se actualizan una vez que se ejecuta la cola, no en el momento en que el comando regresa. cancel no elimina una actualización que programó con refresh --async si aún no ha comenzado.
Activar y desactivar feeds
Publica o borra uno o más feeds, lo que también activa o desactiva su programación de actualización.
wp adt-feed activate 4945 4955
wp adt-feed deactivate 4945
activate establece el feed en publicar y registra su programación de actualización. deactivate lo establece en borrador y cancela la programación, por lo que el feed deja de actualizarse hasta que lo active de nuevo.
Actualizar estadísticas del feed
Recuenta los productos en el archivo generado de un feed sin regenerarlo.
wp adt-feed update-stats 4945
Esto es útil si las estadísticas que se muestran en la interfaz de administración parecen no estar sincronizadas con el archivo real, por ejemplo, después de una edición manual del archivo o un problema del servidor durante la generación.
Listar canales
Muestra los canales que admite Product Feed Pro, con el nombre, hash, taxonomía y tipo de cada uno. Use --fields= para seleccionar otras columnas. Las columnas disponibles son name, channel_hash, fields, taxonomy, type y utm_source.
wp adt-feed channel list
wp adt-feed channel list --country=Australia
wp adt-feed channel list --format=json --fields=name,channel_hash
Dejar --country fuera muestra solo los canales genéricos, que son Feed Personalizado más los canales disponibles en todos los países. Agregar --country anexa los canales específicos de ese país. Use el nombre completo del país aquí, no un código de dos letras: --country=Australia, no --country=AU. El código de dos letras es correcto en create y update, donde se almacena en el feed.
Listar formatos de archivo compatibles
Muestra todos los formatos de archivo que puede pasar a --file-format al crear o actualizar un feed.
wp adt-feed format list
Cuándo usar la CLI en lugar de la interfaz de administración
Trabajos cron a nivel de servidor. Si su host limita el programador integrado de WordPress, puede activar wp adt-feed refresh directamente desde un trabajo cron del sistema en su lugar. Para una guía de configuración completa, consulte Cómo actualizar feeds de productos usando trabajos cron.
Catálogos grandes. Actualizar varios feeds grandes a través de la interfaz de administración significa mantener una pestaña del navegador abierta y esperar. wp adt-feed refresh entrega el trabajo a Action Scheduler y devuelve su terminal de inmediato.
Sitios headless o de staging. Si está administrando un sitio sin acceso de administración regular, o si está creando scripts para la compilación de un entorno de staging, la CLI le permite crear y configurar feeds sin abrir un navegador en absoluto.
Configuración masiva o repetible. Combinar --from-file con una plantilla JSON guardada le permite recrear la misma configuración de feed en múltiples sitios o entornos de manera consistente.
Para un feed único, ediciones ocasionales, o si no se siente cómodo con una terminal, la interfaz de administración sigue siendo la opción más sencilla.
Solución de problemas
wp adt-feed list --format=ids para obtener una lista confirmada de IDs válidos.--channel tiene que coincidir exactamente con un nombre o hash de canal, y la coincidencia no distingue entre mayúsculas y minúsculas, pero no es aproximada. Ejecuta primero wp adt-feed channel list para copiar el nombre o hash exacto que necesitas.create necesita como mínimo title, channel_hash (resuelto desde --channel), country y file-format. Con --from-file, el archivo se lee primero y luego se aplican las banderas que pases, por lo que una bandera puede suministrar una clave que el archivo omite. Si el error persiste, el valor falta tanto en el archivo como en las banderas.wp adt-feed get <id> y lee el campo status. Si el estado es error, abre WooCommerce > Estado > Registros y lee las entradas con origen Product Feed Pro by AdTribes.io. Si el estado sigue siendo processing y el archivo no crece, la cola de Action Scheduler no se está ejecutando, así que vacíala con wp action-scheduler run. La terminal nunca informa del resultado de una actualización, solo de que una comenzó, así que dale unos momentos y comprueba el estado de nuevo.Preguntas frecuentes
wp no está configurado en tu servidor, instálalo primero.wp adt-feed refresh <id> --async para los feeds que quieras controlar fuera de las opciones horarias, dos veces al día o diarias del propio plugin. Consulta Cómo actualizar feeds de productos usando trabajos cron para la configuración completa.¿Necesitas más ayuda?
Si estás en un plan premium y tienes problemas con los comandos CLI, abre un ticket de soporte y nuestro equipo te ayudará a solucionar el problema.
Si estás usando la versión gratuita de Product Feed Pro, publica tu pregunta en el foro de soporte de WordPress.org y nuestro equipo te responderá allí.

