Inizia
Come usare WP-CLI per gestire i feed di prodotti - AdTribes
  1. Casa
  2. Knowledge Base
  3. Suggerimenti generali per il feed
  4. Come usare WP-CLI per gestire i feed di prodotti

Come usare WP-CLI per gestire i feed di prodotti

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

RequisitoDettagli
Versione di Product Feed Pro13.5.4 o successivo
WP-CLIInstallato 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 pluginProduct Feed Pro attivo sul sito. Nessuna licenza Elite o piano a pagamento è richiesta; questi comandi fanno parte del livello gratuito/Pro
AccessoAccesso Shell o SSH al server, o un pannello di hosting che fornisce un terminale WP-CLI

WP-CLI viene eseguito con privilegi completi, quindi questi comandi saltano i controlli di permessi e nonce utilizzati dall'interfaccia di amministrazione. Chiunque abbia accesso shell per eseguire comandi wp può gestire ogni feed sul sito, quindi tratta l'accesso al server allo stesso modo in cui tratteresti un account amministratore.

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.

BandieraPredefinitoNote
--status=<stato>qualsiasipublish, draft, o any
--channel=<canale>nessunoFiltra per nome o hash del canale, non fa distinzione tra maiuscole e minuscole
--per-page=<n>100Massimo feed da restituire
--page=<n>1Numero di pagina per la paginazione
--format=<formato>tabellatable, csv, json, yaml, ids, o count
--fields=<campi>id,titolo,post_status,status,canale,file_format,products_count,last_updatedElenco 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}}.

BandieraNote
--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
--porcelainStampa 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

“Feed non trovato” quando so che il feed esiste
Ricontrolla l'ID o l'hash che hai passato. I comandi accettano l'ID numerico del post del feed o il suo hash di progetto legacy, ma un errore di battitura in entrambi restituirà questo errore. Esegui wp adt-feed list --format=ids per ottenere un elenco confermato di ID validi.
“Canale sconosciuto” durante la creazione o l'aggiornamento di un feed
Il valore --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.
“Proprietà richieste mancanti” durante la creazione di un feed
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.
Un aggiornamento non sembra essere in esecuzione
Controlla il risultato con 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

Ho bisogno di Product Feed Elite o di un piano a pagamento per utilizzare questi comandi?
No. I comandi WP-CLI fanno parte della versione gratuita/Pro di Product Feed Pro. Non hai bisogno di una licenza Elite o di un abbonamento attivo per utilizzarli.
Posso usare questi comandi su un sito dove WP-CLI non è installato?
No. I comandi CLI di Product Feed Pro si registrano con un'installazione WP-CLI esistente; non installano WP-CLI per te. Se wp non è configurato sul tuo server, installalo prima.
Cosa succede se eseguo un comando senza argomenti?
La maggior parte dei comandi richiede almeno un ID o un set di flag. L'esecuzione di uno senza l'input richiesto restituisce un errore WP-CLI che spiega cosa manca, piuttosto che non fare nulla silenziosamente.
Posso pianificare gli aggiornamenti del feed con WP-CLI allo stesso modo della pianificazione integrata del plugin?
Sì. Punta un cron job di sistema su 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ì.

Questo articolo è stato utile?

Articoli Correlati

Completa il tuo acquisto
Feed Prodotti WooCommerce AdTribes

Il miglior plugin per i feed di prodotti WooCommerce

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Prodotto
Risorse e Informazioni
Siti Partner
Rymera