Aan de slag
Hoe WP-CLI te gebruiken om productfeeds te beheren - AdTribes
  1. Home
  2. Kennisbank
  3. Algemene Feed Tips
  4. Hoe WP-CLI te gebruiken om productfeeds te beheren

Hoe WP-CLI te gebruiken om productfeeds te beheren

Als u tientallen feeds beheert, een headless of staging-site draait, of feedvernieuwingen wilt laten uitvoeren vanuit een cronjob op serverniveau in plaats van een paginabezoek, wordt het klikken door het admin-scherm voor elke feed snel langzaam. Product Feed Pro bevat een volledige set WP-CLI-commando's, zodat u feeds rechtstreeks vanuit de terminal kunt weergeven, maken, bijwerken en vernieuwen. Dat betekent dat u feedbeheer kunt scripten, kunt integreren in een implementatiepijplijn, of een vernieuwing kunt activeren vanuit een systeem-cronjob zonder het WordPress-dashboard aan te raken.

Vereisten

VereisteDetails
Product Feed Pro-versie13.5.4 of hoger
WP-CLIGeïnstalleerd en werkend op uw server. De commando's van Product Feed Pro registreren zich bij uw bestaande WP-CLI-installatie. Ze installeren het niet voor u
Plugin-statusProduct Feed Pro actief op de site. Geen Elite-licentie of betaald abonnement vereist; deze commando's maken deel uit van de gratis/Pro-laag
ToegangShell- of SSH-toegang tot de server, of een hostingpaneel dat een WP-CLI-terminal biedt

WP-CLI draait met volledige privileges, dus deze commando's slaan de permissie- en nonce-controles over die de admin-interface gebruikt. Iedereen met shell-toegang om wp-commando's uit te voeren, kan elke feed op de site beheren, dus behandel servertoegang op dezelfde manier als een beheerdersaccount.

Commando-referentie

Elk commando bevindt zich onder de adt-feed-namespace. Voer wp adt-feed <command> uit voor feedbeheer, wp adt-feed channel list om beschikbare kanalen te zien, en wp adt-feed format list om ondersteunde bestandsformaten te zien.

Feeds weergeven

Toont de feeds die al op uw site staan. Gebruik het om de status te controleren, de ID van een feed te vinden of de volledige lijst te exporteren.

VlagStandaardOpmerkingen
--status=<status>elkepublish, draft, of any
--channel=<channel>geenFilteren op kanaalnaam of hash, hoofdletterongevoelig
--per-page=<n>100Maximaal terug te geven feeds
--page=<n>1Paginanummer voor paginering
--format=<format>tabeltable, csv, json, yaml, ids, of count
--fields=<fields>id,titel,post_status,status,channel,file_format,products_count,last_updatedDoor komma's gescheiden lijst met kolommen om weer te geven
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

Het laatste voorbeeld toont alleen de numerieke feed-ID's, wat handig is als je ze wilt doorsturen naar een andere opdracht, zoals het vernieuwen van elke gepubliceerde feed in één regel.

Details van een feed ophalen

Toont de volledige configuratie van één feed, inclusief de attribuutkoppelingen, filters en regels.

wp adt-feed get 4945
wp adt-feed get 4945 --format=yaml

Vervang 4945 door de numerieke ID van de feed, of de legacy project hash als je de ID niet weet. --format accepteert json (standaard), yaml, of table. In table-formaat wordt geneste data zoals koppelingen en regels uitgevlakt tot een JSON-string in elke rij, zodat het leesbaar blijft in een terminal.

Maak een feed

Maakt een nieuwe feed aan. Je hebt minimaal een titel, kanaal, land en bestandsformaat nodig.

Een feed die alleen met vlaggen is aangemaakt, heeft geen attribuutkoppeling. De admin UI vult de vereiste attributen van het kanaal in wanneer je daar een feed aanmaakt. De CLI doet dat niet. Een feed die is aangemaakt vanuit vlaggen, rapporteert nog steeds ready nadat deze is gegenereerd en het productaantal is niet nul, maar het bestand dat het schrijft, bevat helemaal geen producten. Niets waarschuwt je. Geverifieerd op Product Feed Pro 13.5.7: een feed met alleen vlaggen werd voltooid met status ready en een productaantal van 18, terwijl de gegenereerde XML alleen de kanaalkop en nul item nodes bevatte.

Om een bruikbare feed te maken, geef je de volledige configuratie mee in --from-file. De snelste manier om die JSON te bouwen is door één feed te configureren in de admin UI, wp adt-feed get <id> --format=json uit te voeren, en vervolgens het resultaat te bewerken. Merk op dat kanaaldefinities een {{CURRENCY}}-suffix op prijsattributen opslaan, en alleen het admin-veldkoppelingsscherm vervangt die placeholder door je winkelvaluta. Als je de JSON met de hand schrijft, vervang dan zelf de valutacode of de feed geeft de letterlijke {{CURRENCY}}-tekst weer.

VlagOpmerkingen
--titel=<titel>Feed titel
--channel=<channel>Kanaalnaam of hash. Voer wp adt-feed channel list uit om geldige waarden te zien. Het doorgeven van --country beperkt de naamafstemming tot de generieke kanalen, omdat de kanaallijst is gesleuteld op volledige landnaam, terwijl create een tweeledige code gebruikt, en het opgeven van een land ook de fallback-scan voor alle landen overslaat. Laat --country weg en de naamafstemming scant elk land. Een kanaalhash wordt altijd opgelost, wat je ook doorgeeft, dus als create "Onbekend kanaal" rapporteert voor een kanaal dat je in de lijst kunt zien, geef dan in plaats daarvan de hash door.
--land=<land>Tweeletterige landcode, bijvoorbeeld AU of US
--bestandsformaat=<formaat>Een van de formaten uit wp adt-feed format list
--vernieuwingsinterval=<interval>hourly, twicedaily, of daily. Laat het vlag weg om de feed niet in te plannen. De waarde wordt niet gevalideerd. Elke andere tekenreeks wordt opgeslagen zoals deze is: het doorgeven van empty slaat het letterlijke woord op en registreert, zodra de feed is gepubliceerd, een eenmalige actie gedateerd 1970-01-01 in plaats van een terugkerende vernieuwing, zodat de feed nooit volgens een schema wordt vernieuwd.
--post-status=<status>draft (standaard) of publish
--from-file=<path>Pad naar een JSON-bestand met feed-eigenschappen. Alle vlaggen die u ook doorgeeft, hebben voorrang op de overeenkomstige waarde in het bestand
--porcelainDruk alleen de ID van de nieuwe feed af, handig voor 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

Als u geen vernieuwingsinterval opgeeft, wordt de feed niet automatisch vernieuwd totdat u er een instelt. Het instellen van --post-status=publish registreert ook onmiddellijk het vernieuwingsschema van de feed, hetzelfde als klikken op Activeren in de admin UI.

Zie Hoe u filters voor uw productfeed maakt voor gedetailleerde instructies over het uitsluiten of opnemen van producten op voorwaarde. Zie Hoe u regels maakt voor gedetailleerde instructies over het wijzigen van attribuutwaarden voordat ze de feed bereiken.

Een feed bijwerken

Wijzigt een of meer eigenschappen van een bestaande feed. Accepteert dezelfde eigenschapsvlaggen als create, plus --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

U moet ten minste één vlag of --from-file doorgeven, anders wordt de opdracht beëindigd met een fout. Als u --refresh-interval of --post-status wijzigt, registreert Product Feed Pro automatisch het vernieuwingsschema opnieuw of annuleert het om overeen te komen.

Feeds verwijderen

Verwijdert permanent een of meer feeds.

wp adt-feed delete 4945
wp adt-feed delete 4945 4955 --yes

U kunt meerdere ID's tegelijk doorgeven. Standaard vraagt WP-CLI Verwijder 1 feed(s)? [j/n] voordat u verwijdert. Voeg --yes toe om de prompt over te slaan, wat handig is in scripts.

Een feed dupliceren

Kopieert een bestaande feed, inclusief het kanaal, de mappings, filters en regels. De nieuwe kopie wordt gemaakt als een concept, maar erft het vernieuwingsinterval van de bronfeed en het schema wordt onmiddellijk geregistreerd. Voer wp adt-feed deactivate <new-id> uit als u nog niet wilt dat de kopie wordt vernieuwd.

wp adt-feed duplicate 4945

De kopie heet Kopie van <originele titel>. Voeg --porcelain toe om alleen de ID van de nieuwe feed af te drukken in plaats van een bevestigingsbericht.

Feeds vernieuwen

Genereert een of meer feeds opnieuw. Dit is het CLI-equivalent van klikken op Vernieuwen op het scherm Feeds beheren.

wp adt-feed refresh 4945
wp adt-feed refresh 4945 4955 --async

refresh bouwt de feed niet in uw terminal. Het start een uitvoering en plaatst de eerste batch in de wachtrij van Action Scheduler, en retourneert dan. Het toevoegen van --async plaatst de hele uitvoering in de wachtrij, zodat de feed pas begint wanneer een Action Scheduler-worker deze oppikt. Hoe dan ook gebeurt het werk in de wachtrij van Action Scheduler, dus die wachtrij moet draaien om de feed te voltooien. In een server cron-taak, volg de vernieuwing met wp action-scheduler run om de wachtrij in dezelfde sessie leeg te maken. De feeds worden op de achtergrond gegenereerd.

Een feedgeneratie annuleren

Stopt een feed die momenteel wordt gegenereerd.

wp adt-feed cancel 4945

Gebruik dit als een vernieuwing vastloopt of als u per ongeluk een generatie bent gestart. De status van de feed verandert onmiddellijk in stopped en de wachtende batches worden geannuleerd. De producttelling wordt in de wachtrij geplaatst bij Action Scheduler, dus de aantallen worden bijgewerkt zodra de wachtrij draait, niet op het moment dat het commando terugkeert. cancel verwijdert geen vernieuwing die u met refresh --async in de wachtrij hebt geplaatst als deze nog niet is gestart.

Feeds publiceren en deactiveren

Publiceert of stelt een of meer feeds in als concept, wat ook hun vernieuwingsschema in- of uitschakelt.

wp adt-feed activate 4945 4955
wp adt-feed deactivate 4945

activate stelt de feed in op publiceren en registreert het vernieuwingsschema. deactivate stelt deze in op concept en annuleert het schema, zodat de feed stopt met vernieuwen totdat u deze opnieuw activeert.

Feedstatistieken bijwerken

Telt de producten in het gegenereerde bestand van een feed opnieuw, zonder deze opnieuw te genereren.

wp adt-feed update-stats 4945

Dit is handig als de statistieken die in de admin-interface worden weergegeven niet overeenkomen met het werkelijke bestand, bijvoorbeeld na een handmatige bewerking van het bestand of een serverprobleem tijdens de generatie.

Kanalen weergeven

Toont de kanalen die Product Feed Pro ondersteunt, met de naam, hash, taxonomie en het type van elk kanaal. Gebruik --fields= om andere kolommen te selecteren. De beschikbare kolommen zijn name, channel_hash, fields, taxonomy, type en 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

Als u --country weglaat, worden alleen de algemene kanalen weergegeven, namelijk Custom Feed plus de kanalen die in alle landen beschikbaar zijn. Als u --country toevoegt, worden de specifieke kanalen voor dat land toegevoegd. Gebruik hier de volledige landnaam, niet een tweecijferige code: --country=Australië, niet --country=AU. De tweecijferige code is correct bij create en update, waar deze in de feed wordt opgeslagen.

Ondersteunde bestandsformaten weergeven

Toont elk bestandsformaat dat u kunt doorgeven aan --file-format bij het maken of bijwerken van een feed.

wp adt-feed format list

Wanneer u de CLI gebruikt in plaats van de admin-interface

Cronjobs op serverniveau. Als uw host de ingebouwde scheduler van WordPress beperkt, kunt u wp adt-feed refresh rechtstreeks vanuit een systeems cronjob activeren. Zie Hoe productfeeds te vernieuwen met cronjobs voor een volledige installatiehandleiding.

Grote catalogi. Het vernieuwen van verschillende grote feeds via de admin-interface betekent dat u een browsertabblad open moet houden en moet wachten. wp adt-feed refresh delegeert het werk aan Action Scheduler en retourneert uw terminal onmiddellijk.

Headless of staging-sites. Als u een site beheert zonder reguliere admin-toegang, of een staging-omgeving bouwt met scripts, kunt u met de CLI feeds maken en configureren zonder überhaupt een browser te openen.

Bulk- of herhaalbare installatie. Door --from-file te combineren met een opgeslagen JSON-sjabloon, kunt u dezelfde feedconfiguratie consistent op meerdere sites of omgevingen opnieuw maken.

Voor een eenmalige feed, incidentele bewerkingen, of als u zich niet prettig voelt bij een terminal, is de admin-interface nog steeds de eenvoudigere keuze.

Probleemoplossing

“Feed niet gevonden” terwijl ik weet dat de feed bestaat
Controleer de ID of hash die je hebt doorgegeven. Commando's accepteren de numerieke post-ID van de feed of de legacy project hash, maar een typefout in beide resulteert in deze fout. Voer wp adt-feed list --format=ids uit om een bevestigde lijst met geldige ID's te krijgen.
“Onbekend kanaal” bij het aanmaken of bijwerken van een feed
De waarde --channel moet exact overeenkomen met een kanaalnaam of hash, en de overeenkomst is hoofdletterongevoelig, maar niet vaag. Voer eerst wp adt-feed channel list uit om de exacte naam of hash te kopiëren die je nodig hebt.
“Vereiste eigenschappen ontbreken” bij het aanmaken van een feed
create heeft minimaal title, channel_hash (opgelost vanuit --channel), country en file-format nodig. Met --from-file wordt eerst het bestand gelezen en vervolgens worden de door jou opgegeven vlaggen daarbovenop toegepast, zodat een vlag een sleutel kan leveren die het bestand weglaat. Als de fout aanhoudt, ontbreekt de waarde zowel in het bestand als in de vlaggen.
Een vernieuwing lijkt niet te worden uitgevoerd
Controleer het resultaat met wp adt-feed get <id> en lees het veld status. Als de status error is, open dan WooCommerce > Status > Logs en lees de vermeldingen met bron Product Feed Pro by AdTribes.io. Als de status processing blijft en het bestand niet groeit, wordt de Action Scheduler-wachtrij niet uitgevoerd, dus leeg deze met wp action-scheduler run. De terminal rapporteert nooit de uitkomst van een vernieuwing, alleen dat er een is gestart, dus geef het een paar momenten en controleer de status opnieuw.

Veelgestelde vragen

Heb ik Product Feed Elite of een betaald abonnement nodig om deze commando's te gebruiken?
Nee. De WP-CLI-commando's maken deel uit van de gratis/Pro-versie van Product Feed Pro. Je hebt geen Elite-licentie of een actief abonnement nodig om ze te gebruiken.
Kan ik deze commando's gebruiken op een site waar WP-CLI niet is geïnstalleerd?
Nee. De CLI-commando's van Product Feed Pro registreren zich bij een bestaande WP-CLI-installatie; ze installeren WP-CLI niet voor je. Als wp niet op je server is ingesteld, installeer het dan eerst.
Wat gebeurt er als ik een commando uitvoer zonder argumenten?
De meeste commando's vereisen minimaal een ID of een set vlaggen. Het uitvoeren van een commando zonder de vereiste invoer geeft een WP-CLI-foutmelding die uitlegt wat er ontbreekt, in plaats van stilzwijgend niets te doen.
Kan ik feed-vernieuwingen plannen met WP-CLI op dezelfde manier als de ingebouwde planning van de plugin?
Ja. Wijs een systeem cron-taak toe aan wp adt-feed refresh <id> --async voor de feeds die je buiten de eigen uurlijkse, tweemaal daagse of dagelijkse opties van de plugin wilt beheren. Zie Hoe productfeeds te vernieuwen met cronjobs voor de volledige installatie.

Meer hulp nodig?

Als je een premium abonnement hebt en problemen ondervindt met de CLI-commando's, open dan een supportticket, en ons team zal je helpen bij het oplossen van problemen.

Als je de gratis versie van Product Feed Pro gebruikt, plaats dan je vraag op het WordPress.org supportforum, en ons team zal je daar antwoorden.

Was dit artikel nuttig?

Gerelateerde artikelen

Voltooi uw aankoop
AdTribes WooCommerce Productfeed

De beste WooCommerce productfeedplugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Product
Bronnen & Info
Partnerwebsites
Rymera