Se gestisci decine di feed, esegui un sito headless o di staging, o hai bisogno che gli aggiornamenti dei feed vengano attivati da un cron job a livello di server invece che da una visita alla pagina, passare attraverso la schermata di amministrazione per ogni feed diventa rapidamente lento. Product Feed Pro include una suite completa di comandi WP-CLI in modo da poter elencare, creare, aggiornare e aggiornare i feed direttamente dal terminale. Ciò significa che puoi automatizzare la gestione dei feed, integrarla in una pipeline di distribuzione o attivare un aggiornamento da un cron job di sistema senza toccare la dashboard di WordPress.
Prerequisiti
| Requisito | Dettagli |
|---|---|
| Versione di Product Feed Pro | 13.5.4 o successivo |
| WP-CLI | Installato e funzionante sul tuo server. I comandi di Product Feed Pro si registrano con la tua installazione WP-CLI esistente. Non lo installano per te |
| Stato del plugin | Product Feed Pro attivo sul sito. Nessuna licenza Elite o piano a pagamento è richiesta; questi comandi fanno parte del livello gratuito/Pro |
| Accesso | Accesso Shell o SSH al server, o un pannello di hosting che fornisce un terminale WP-CLI |
Riferimento ai comandi
Ogni comando si trova sotto lo spazio dei nomi adt-feed. Esegui wp adt-feed <command> per la gestione dei feed, wp adt-feed channel list per vedere i canali disponibili e wp adt-feed format list per vedere i formati di file supportati.
Elenca feed
Mostra i feed già presenti sul tuo sito. Usalo per controllare lo stato, trovare l'ID di un feed o esportare l'elenco completo.
| Bandiera | Predefinito | Note |
|---|---|---|
--status=<stato> | qualsiasi | publish, draft, o any |
--channel=<canale> | nessuno | Filtra per nome o hash del canale, non fa distinzione tra maiuscole e minuscole |
--per-page=<n> | 100 | Massimo feed da restituire |
--page=<n> | 1 | Numero di pagina per la paginazione |
--format=<formato> | tabella | table, csv, json, yaml, ids, o count |
--fields=<campi> | id,titolo,post_status,status,canale,file_format,products_count,last_updated | Elenco separato da virgole delle colonne da visualizzare |
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
L'ultimo esempio stampa solo gli ID numerici dei feed, il che è utile quando si desidera reindirizzarli a un altro comando, come l'aggiornamento di ogni feed pubblicato in una sola riga.
Ottieni i dettagli di un feed
Mostra la configurazione completa di un feed, incluse le sue mappature degli attributi, i filtri e le regole.
wp adt-feed get 4945
wp adt-feed get 4945 --format=yaml
Sostituisci 4945 con l'ID numerico del feed, o con il suo hash del progetto legacy se non conosci l'ID. --format accetta json (predefinito), yaml o table. Nel formato table, i dati nidificati come mappature e regole vengono appiattiti in una stringa JSON in ogni riga in modo che rimangano leggibili in un terminale.
Crea un feed
Crea un nuovo feed. Come minimo, è necessario un titolo, un canale, un paese e un formato di file.
Un feed creato solo con flag non ha mappatura degli attributi. L'interfaccia di amministrazione riempie gli attributi richiesti del canale quando crei un feed lì. La CLI no. Un feed creato dai flag viene comunque segnalato come ready dopo la generazione e il suo conteggio di prodotti è diverso da zero, ma il file che scrive non contiene alcun prodotto. Nulla ti avvisa. Verificato su Product Feed Pro 13.5.7: un feed creato con flag è terminato con stato ready e un conteggio di prodotti di 18, mentre l'XML generato conteneva solo l'intestazione del canale e zero nodi item.
Per creare un feed utilizzabile, passa la configurazione completa in --from-file. Il modo più rapido per costruire quel JSON è configurare un feed nell'interfaccia di amministrazione, eseguire wp adt-feed get <id> --format=json, quindi modificare il risultato. Nota che le definizioni dei canali memorizzano un suffisso {{CURRENCY}} sugli attributi di prezzo, e solo la schermata di mappatura dei campi dell'amministratore sostituisce quel segnaposto con la valuta del tuo negozio. Se scrivi a mano il JSON, sostituisci tu stesso il codice valuta o il feed emetterà il testo letterale {{CURRENCY}}.
| Bandiera | Note |
|---|---|
--title=<titolo> | Titolo del feed |
--channel=<canale> | Nome o hash del canale. Esegui wp adt-feed channel list per vedere i valori validi. Passare --country limita la corrispondenza del nome ai canali generici, poiché l'elenco dei canali è indicizzato per nome completo del paese mentre create accetta un codice di due lettere, e fornire un paese salta anche la scansione di fallback per tutti i paesi. Lascia --country disattivato e la corrispondenza del nome scansiona ogni paese. Un hash del canale viene sempre risolto, qualunque cosa tu passi, quindi se create riporta "Canale sconosciuto" per un canale che puoi vedere nell'elenco, passa invece l'hash. |
--country=<paese> | Codice paese di due lettere, ad esempio AU o US |
--file-format=<formato> | Uno dei formati da wp adt-feed format list |
--refresh-interval=<intervallo> | hourly, twicedaily, o daily. Ometti il flag per lasciare il feed non pianificato. Il valore non viene convalidato. Qualsiasi altra stringa viene memorizzata così com'è: passare empty memorizza la parola letterale e, una volta pubblicato il feed, registra un'azione una tantum datata 1970-01-01 invece di un aggiornamento ricorrente, quindi il feed non si aggiorna mai secondo una pianificazione. |
--post-status=<stato> | draft (predefinito) o publish |
--from-file=<percorso> | Percorso di un file JSON con le proprietà del feed. Qualsiasi flag che passi sovrascrive il valore corrispondente nel file |
--porcelain | Stampa solo l'ID del nuovo feed, utile per lo 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
Se non specifichi un intervallo di aggiornamento, il feed non si aggiornerà automaticamente finché non ne imposti uno. Impostare --post-status=publish registra anche immediatamente la pianificazione di aggiornamento del feed, allo stesso modo di cliccare su Attiva nell'interfaccia utente di amministrazione.
Per istruzioni dettagliate sull'esclusione o inclusione di prodotti per condizione, vedi Come creare filtri per il tuo product feed. Per istruzioni dettagliate sulla modifica dei valori degli attributi prima che raggiungano il feed, vedi Come creare regole.
Aggiorna un feed
Modifica una o più proprietà su un feed esistente. Accetta gli stessi flag di proprietà di create, più --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
Devi passare almeno un flag o --from-file, altrimenti il comando esce con un errore. Se modifichi --refresh-interval o --post-status, Product Feed Pro registra o annulla automaticamente la pianificazione di aggiornamento per corrispondere.
Elimina feed
Rimuove permanentemente uno o più feed.
wp adt-feed delete 4945
wp adt-feed delete 4945 4955 --yes
Puoi passare più ID contemporaneamente. Per impostazione predefinita, WP-CLI chiede Eliminare 1 feed? [y/n] prima di eliminare. Aggiungi --yes per saltare la richiesta, utile negli script.
Duplica un feed
Clona un feed esistente, inclusi il suo canale, le mappature, i filtri e le regole. La nuova copia viene creata come bozza, ma eredita l'intervallo di aggiornamento del feed di origine e la sua pianificazione viene registrata immediatamente. Esegui wp adt-feed deactivate <new-id> se non vuoi che la copia si aggiorni ancora.
wp adt-feed duplicate 4945
La copia si chiama Copia di <titolo originale>. Aggiungi --porcelain per stampare solo l'ID del nuovo feed invece di un messaggio di conferma.
Aggiorna feed
Rigenera uno o più feed. Questo è l'equivalente da riga di comando di cliccare su Aggiorna nella schermata Gestisci feed.
wp adt-feed refresh 4945
wp adt-feed refresh 4945 4955 --async
refresh non crea il feed nel tuo terminale. Avvia un'esecuzione e accoda il primo batch su Action Scheduler, quindi ritorna. Aggiungere --async accoda l'intera esecuzione, quindi il feed non inizia finché un worker di Action Scheduler non lo preleva. In entrambi i casi il lavoro avviene sulla coda di Action Scheduler, quindi quella coda deve essere in esecuzione affinché il feed venga completato. In un cron job del server, segui l'aggiornamento con wp action-scheduler run per svuotare la coda nella stessa sessione. I feed vengono generati in background.
Annulla la generazione di un feed
Interrompe un feed che si sta generando.
wp adt-feed cancel 4945
Usalo se un aggiornamento è bloccato o hai avviato una generazione per errore. Lo stato del feed cambia subito in stopped e i batch in sospeso vengono annullati. Il ricalcolo dei prodotti è in coda su Action Scheduler, quindi i numeri si aggiornano una volta eseguita la coda, non nel momento in cui il comando restituisce. cancel non rimuove un aggiornamento che hai messo in coda con refresh --async se non è ancora iniziato.
Attiva e disattiva i feed
Pubblica o bozza uno o più feed, il che attiva o disattiva anche la loro pianificazione di aggiornamento.
wp adt-feed activate 4945 4955
wp adt-feed deactivate 4945
activate imposta il feed su pubblica e registra la sua pianificazione di aggiornamento. deactivate lo imposta su bozza e annulla la pianificazione, quindi il feed smette di aggiornarsi finché non lo riattivi.
Aggiorna le statistiche del feed
Ricalcola i prodotti nel file generato di un feed senza rigenerarlo.
wp adt-feed update-stats 4945
Questo è utile se le statistiche mostrate nell'interfaccia di amministrazione sembrano non essere sincronizzate con il file effettivo, ad esempio dopo una modifica manuale del file o un problema del server durante la generazione.
Elenca i canali
Mostra i canali supportati da Product Feed Pro, con nome, hash, tassonomia e tipo di ciascuno. Usa --fields= per selezionare altre colonne. Le colonne disponibili sono name, channel_hash, fields, taxonomy, type e 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
Lasciando --country fuori, vengono mostrati solo i canali generici, che sono Feed personalizzato più i canali disponibili in tutti i paesi. Aggiungendo --country si aggiungono i canali specifici per quel paese. Usa il nome completo del paese qui, non un codice di due lettere: --country=Australia, non --country=AU. Il codice di due lettere è corretto su create e update, dove viene memorizzato sul feed.
Elenca i formati di file supportati
Mostra tutti i formati di file che puoi passare a --file-format quando crei o aggiorni un feed.
wp adt-feed format list
Quando usare la CLI invece dell'interfaccia di amministrazione
Cron job a livello di server. Se il tuo host limita lo scheduler integrato di WordPress, puoi attivare wp adt-feed refresh direttamente da un cron job di sistema. Per una guida completa all'installazione, vedi Come aggiornare i feed di prodotti usando i cron job.
Cataloghi di grandi dimensioni. Aggiornare diversi feed di grandi dimensioni tramite l'interfaccia di amministrazione significa mantenere aperta una scheda del browser e attendere. wp adt-feed refresh affida il lavoro ad Action Scheduler e restituisce immediatamente il tuo terminale.
Siti headless o di staging. Se stai gestendo un sito senza accesso regolare all'amministrazione, o stai scriptando la creazione di un ambiente di staging, la CLI ti consente di creare e configurare feed senza aprire affatto un browser.
Configurazione in blocco o ripetibile. Combinando --from-file con un modello JSON salvato, puoi ricreare la stessa configurazione del feed in modo coerente su più siti o ambienti.
Per un feed una tantum, modifiche occasionali, o se non ti senti a tuo agio con un terminale, l'interfaccia di amministrazione è ancora la scelta più semplice.
Risoluzione dei problemi
wp adt-feed list --format=ids per ottenere un elenco confermato di ID validi.--channel deve corrispondere esattamente a un nome o hash di canale e la corrispondenza non è sensibile alle maiuscole/minuscole ma non è approssimativa. Esegui prima wp adt-feed channel list per copiare il nome o l'hash esatto di cui hai bisogno.create richiede almeno title, channel_hash (risolto da --channel), country e file-format. Con --from-file, il file viene letto per primo e quindi tutte le flag che passi vengono applicate sopra, quindi una flag può fornire una chiave che il file omette. Se l'errore persiste, il valore manca sia dal file che dalle flag.wp adt-feed get <id> e leggi il campo status. Se lo stato è error, apri WooCommerce > Stato > Log e leggi le voci con origine Product Feed Pro by AdTribes.io. Se lo stato rimane processing e il file non cresce, la coda di Action Scheduler non è in esecuzione, quindi svuotala con wp action-scheduler run. Il terminale non riporta mai l'esito di un aggiornamento, solo che uno è iniziato, quindi concedigli qualche istante e controlla di nuovo lo stato.Domande frequenti
wp non è configurato sul tuo server, installalo prima.wp adt-feed refresh <id> --async per qualsiasi feed che desideri controllare al di fuori delle opzioni orarie, due volte al giorno o giornaliere del plugin. Vedi Come aggiornare i feed di prodotti utilizzando i cron job per la configurazione completa.Serve ulteriore aiuto?
Se stai utilizzando un piano premium e riscontri problemi con i comandi CLI, apri un ticket di supporto e il nostro team ti aiuterà a risolvere i problemi.
Se stai utilizzando la versione gratuita di Product Feed Pro, pubblica la tua domanda sul forum di supporto di WordPress.org e il nostro team ti risponderà lì.

