Loslegen
WP-CLI zur Verwaltung von Produktfeeds verwenden - AdTribes
  1. Startseite
  2. Wissensdatenbank
  3. Allgemeine Feed-Tipps
  4. Wie man WP-CLI zur Verwaltung von Produkt-Feeds verwendet

Wie man WP-CLI zur Verwaltung von Produkt-Feeds verwendet

Wenn Sie Dutzende von Feeds verwalten, eine Headless- oder Staging-Site betreiben oder Feed-Aktualisierungen über einen serverseitigen Cron-Job statt über einen Seitenbesuch auslösen müssen, wird das Durchklicken des Admin-Bildschirms für jeden Feed schnell langsam. Product Feed Pro enthält einen vollständigen Satz von WP-CLI-Befehlen, sodass Sie Feeds direkt über das Terminal auflisten, erstellen, aktualisieren und aktualisieren können. Das bedeutet, dass Sie die Feed-Verwaltung skripten, in eine Bereitstellungspipeline integrieren oder eine Aktualisierung über einen System-Cron-Job auslösen können, ohne das WordPress-Dashboard zu berühren.

Voraussetzungen

VoraussetzungDetails
Product Feed Pro Version13.5.4 oder neuer
WP-CLIAuf Ihrem Server installiert und funktionsfähig. Die Befehle von Product Feed Pro werden bei Ihrer bestehenden WP-CLI-Installation registriert. Sie installieren diese nicht für Sie.
Plugin-StatusProduct Feed Pro ist auf der Website aktiv. Es ist keine Elite-Lizenz oder ein kostenpflichtiger Plan erforderlich; diese Befehle sind Teil der kostenlosen/Pro-Stufe.
ZugriffShell- oder SSH-Zugriff auf den Server oder ein Hosting-Panel, das ein WP-CLI-Terminal bereitstellt

WP-CLI läuft mit vollen Rechten, daher überspringen diese Befehle die Berechtigungs- und Nonce-Prüfungen, die die Admin-Oberfläche verwendet. Jeder, der Shell-Zugriff hat, um wp-Befehle auszuführen, kann jeden Feed auf der Website verwalten. Behandeln Sie den Serverzugriff daher genauso wie ein Administratorkonto.

Befehlsreferenz

Jeder Befehl befindet sich unter dem Namespace adt-feed. Führen Sie wp adt-feed <command> für die Feed-Verwaltung aus, wp adt-feed channel list, um verfügbare Kanäle anzuzeigen, und wp adt-feed format list, um unterstützte Dateiformate anzuzeigen.

Feeds auflisten

Zeigt die bereits auf Ihrer Website vorhandenen Feeds an. Verwenden Sie ihn, um den Status zu überprüfen, die ID eines Feeds zu finden oder die vollständige Liste zu exportieren.

FlaggeStandardHinweise
--status=<status>beliebigpublish, draft oder any
--channel=<channel>keineNach Kanalnamen oder Hash filtern, Groß-/Kleinschreibung wird nicht beachtet
--per-page=<n>100Maximale Anzahl zurückzugebender Feeds
--page=<n>1Seitennummer für die Paginierung
--format=<format>tabelletable, csv, json, yaml, ids oder count
--fields=<fields>id,title,post_status,status,channel,file_format,products_count,last_updatedKommagetrennte Liste der anzuzeigenden Spalten
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

Das letzte Beispiel gibt nur die numerischen Feed-IDs aus, was praktisch ist, wenn Sie sie in einen anderen Befehl weiterleiten möchten, z. B. um alle veröffentlichten Feeds in einer Zeile zu aktualisieren.

Details eines Feeds abrufen

Zeigt die vollständige Konfiguration eines Feeds an, einschließlich seiner Attributzuordnungen, Filter und Regeln.

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

Ersetzen Sie 4945 durch die numerische ID des Feeds oder seinen Legacy-Projekt-Hash, wenn Sie die ID nicht kennen. --format akzeptiert json (Standard), yaml oder table. Im table-Format werden verschachtelte Daten wie Zuordnungen und Regeln in jeder Zeile zu einem JSON-String abgeflacht, damit sie in einem Terminal lesbar bleiben.

Feed erstellen

Erstellt einen neuen Feed. Mindestens benötigen Sie einen Titel, einen Kanal, ein Land und ein Dateiformat.

Ein Feed, der nur mit Flags erstellt wurde, hat keine Attributzuordnung. Die Admin-Oberfläche füllt die erforderlichen Attribute des Kanals aus, wenn Sie einen Feed dort erstellen. Die CLI tut dies nicht. Ein aus Flags erstellter Feed wird nach der Generierung immer noch als ready gemeldet und seine Produktanzahl ist nicht null, aber die Datei, die er schreibt, enthält überhaupt keine Produkte. Nichts warnt Sie. Verifiziert auf Product Feed Pro 13.5.7: Ein reiner Flag-Feed wurde mit dem Status ready und einer Produktanzahl von 18 abgeschlossen, während das generierte XML nur den Kanal-Header und null Item-Nodes enthielt.

Um einen nutzbaren Feed zu erstellen, übergeben Sie die vollständige Konfiguration in --from-file. Der schnellste Weg, dieses JSON zu erstellen, ist, einen Feed in der Admin-Oberfläche zu konfigurieren, wp adt-feed get <id> --format=json auszuführen und dann das Ergebnis zu bearbeiten. Beachten Sie, dass Kanaldefinitionen ein {{CURRENCY}}-Suffix bei Preisattributen speichern und nur der Admin-Bildschirm für die Feldzuordnung diesen Platzhalter durch Ihre Shop-Währung ersetzt. Wenn Sie das JSON von Hand schreiben, ersetzen Sie den Währungscode selbst oder der Feed gibt den wörtlichen {{CURRENCY}}-Text aus.

FlaggeHinweise
--title=<titel>Feed-Titel
--channel=<channel>Kanalname oder Hash. Führen Sie wp adt-feed channel list aus, um gültige Werte anzuzeigen. Das Übergeben von --country beschränkt die Namensübereinstimmung auf die generischen Kanäle, da die Kanalliste nach dem vollständigen Ländernamen indiziert ist, während create einen zweistelligen Code annimmt, und die Angabe eines Landes auch den Fallback-Scan für alle Länder überspringt. Lassen Sie --country weg und die Namensübereinstimmung scannt jedes Land. Ein Kanal-Hash wird immer aufgelöst, was auch immer Sie übergeben. Wenn create also „Unbekannter Kanal“ für einen Kanal meldet, den Sie in der Liste sehen können, übergeben Sie stattdessen den Hash.
--country=<land>Zweistelliger Ländercode, z. B. AU oder US
--file-format=<format>Eines der Formate aus wp adt-feed format list
--refresh-interval=<intervall>stündlich, zweimal täglich oder täglich. Lassen Sie das Flag weg, um den Feed nicht zu planen. Der Wert wird nicht validiert. Jede andere Zeichenkette wird unverändert gespeichert: die Übergabe von leer speichert das Wort wörtlich und registriert nach der Veröffentlichung des Feeds eine einmalige Aktion mit dem Datum 1970-01-01 anstelle einer wiederkehrenden Aktualisierung, sodass der Feed nie nach einem Zeitplan aktualisiert wird.
--post-status=<status>entwurf (Standard) oder veröffentlichen
--from-file=<pfad>Pfad zu einer JSON-Datei mit Feed-Eigenschaften. Alle Flags, die Sie ebenfalls übergeben, überschreiben den übereinstimmenden Wert in der Datei.
--porcelainGibt nur die ID des neuen Feeds aus, nützlich für Skripte.
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

Wenn Sie kein Aktualisierungsintervall angeben, wird der Feed nicht automatisch aktualisiert, bis Sie eines festlegen. Das Festlegen von --post-status=publish registriert auch den Aktualisierungszeitplan des Feeds sofort, genauso wie das Klicken auf Aktivieren in der Admin-Oberfläche.

Ausführliche Anweisungen zum Ausschließen oder Einschließen von Produkten nach Bedingung finden Sie unter Erstellen von Filtern für Ihren Produktfeed. Ausführliche Anweisungen zum Ändern von Attributwerten, bevor sie den Feed erreichen, finden Sie unter Erstellen von Regeln.

Feed aktualisieren

Ändert eine oder mehrere Eigenschaften eines vorhandenen Feeds. Akzeptiert dieselben Eigenschaftsflags wie erstellen, 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

Sie müssen mindestens ein Flag oder --from-file übergeben, andernfalls wird der Befehl mit einem Fehler beendet. Wenn Sie --refresh-interval oder --post-status ändern, registriert Product Feed Pro den Aktualisierungszeitplan automatisch neu oder hebt ihn auf, um ihn anzupassen.

Feeds löschen

Entfernt dauerhaft einen oder mehrere Feeds.

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

Sie können mehrere IDs gleichzeitig übergeben. Standardmäßig fragt WP-CLI vor dem Löschen 1 Feed löschen? [j/n]. Fügen Sie --yes hinzu, um die Aufforderung zu überspringen, was in Skripten nützlich ist.

Einen Feed duplizieren

Klont einen vorhandenen Feed, einschließlich seines Kanals, seiner Zuordnungen, Filter und Regeln. Die neue Kopie wird als Entwurf erstellt, erbt jedoch das Aktualisierungsintervall des Quell-Feeds und sein Zeitplan wird sofort registriert. Führen Sie wp adt-feed deactivate <new-id> aus, wenn Sie nicht möchten, dass die Kopie sofort aktualisiert wird.

wp adt-feed duplicate 4945

Die Kopie heißt Kopie von <Originaltitel>. Fügen Sie --porcelain hinzu, um nur die ID des neuen Feeds anstelle einer Bestätigungsnachricht auszugeben.

Feeds aktualisieren

Generiert einen oder mehrere Feeds neu. Dies ist das CLI-Äquivalent zum Klicken auf Aktualisieren auf dem Bildschirm Feeds verwalten.

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

aktualisieren erstellt den Feed nicht in Ihrem Terminal. Es startet einen Lauf und reiht den ersten Stapel in Action Scheduler ein, dann kehrt es zurück. Das Hinzufügen von --async reiht stattdessen den gesamten Lauf ein, sodass der Feed erst beginnt, wenn ein Action Scheduler-Worker ihn abholt. In beiden Fällen geschieht die Arbeit in der Action Scheduler-Warteschlange, sodass die Warteschlange ausgeführt werden muss, damit der Feed abgeschlossen wird. In einem Server-Cronjob folgen Sie der Aktualisierung mit wp action-scheduler run, um die Warteschlange in derselben Sitzung zu leeren. Die Feeds werden im Hintergrund generiert.

Feed-Generierung abbrechen

Stoppt einen Feed, der gerade generiert wird.

wp adt-feed cancel 4945

Verwenden Sie dies, wenn ein Refresh hängen bleibt oder Sie versehentlich eine Generierung gestartet haben. Der Status des Feeds ändert sich sofort zu gestoppt und die ausstehenden Batches werden unscheduled. Die Neuberechnung der Produkte wird in Action Scheduler eingereiht, sodass sich die Zahlen aktualisieren, sobald die Warteschlange läuft, nicht in dem Moment, in dem der Befehl zurückkehrt. cancel entfernt keinen Refresh, den Sie mit refresh --async in die Warteschlange gestellt haben, wenn er noch nicht begonnen hat.

Feeds aktivieren und deaktivieren

Veröffentlicht oder verwirft einen oder mehrere Feeds, was auch deren Aktualisierungszeitplan ein- oder ausschaltet.

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

activate setzt den Feed auf veröffentlicht und registriert seinen Aktualisierungszeitplan. deactivate setzt ihn auf Entwurf und bricht den Zeitplan ab, sodass der Feed nicht mehr aktualisiert wird, bis Sie ihn erneut aktivieren.

Feed-Statistiken aktualisieren

Zählt die Produkte in der generierten Datei eines Feeds neu, ohne sie neu zu generieren.

wp adt-feed update-stats 4945

Dies ist nützlich, wenn die in der Admin-Oberfläche angezeigten Statistiken nicht mit der tatsächlichen Datei übereinstimmen, z. B. nach einer manuellen Dateibearbeitung oder einem Serverproblem während der Generierung.

Kanäle auflisten

Zeigt die von Product Feed Pro unterstützten Kanäle mit deren Namen, Hash, Taxonomie und Typ an. Verwenden Sie --fields=, um andere Spalten auszuwählen. Die verfügbaren Spalten sind name, channel_hash, fields, taxonomy, type und 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

Wenn Sie --country weglassen, werden nur die generischen Kanäle angezeigt, die benutzerdefinierter Feed plus die in allen Ländern verfügbaren Kanäle sind. Das Hinzufügen von --country fügt die länderspezifischen Kanäle hinzu. Verwenden Sie hier den vollständigen Ländernamen, nicht einen zweistelligen Code: --country=Australien, nicht --country=AU. Der zweistellige Code ist bei create und update korrekt, wo er im Feed gespeichert wird.

Unterstützte Dateiformate auflisten

Zeigt jedes Dateiformat an, das Sie beim Erstellen oder Aktualisieren eines Feeds an --file-format übergeben können.

wp adt-feed format list

Wann die CLI anstelle der Admin-Oberfläche verwendet werden sollte

Server-seitige Cron-Jobs. Wenn Ihr Hoster den integrierten Scheduler von WordPress drosselt, können Sie wp adt-feed refresh direkt von einem System-Cron-Job aus auslösen. Eine vollständige Einrichtungsanleitung finden Sie unter Produkt-Feeds mit Cron-Jobs aktualisieren.

Große Kataloge. Das Aktualisieren mehrerer großer Feeds über die Admin-Oberfläche bedeutet, einen Browser-Tab offen zu halten und zu warten. wp adt-feed refresh übergibt die Arbeit an Action Scheduler und gibt Ihr Terminal sofort zurück.

Headless- oder Staging-Websites. Wenn Sie eine Website ohne regulären Admin-Zugriff verwalten oder eine Staging-Umgebung erstellen, können Sie mit der CLI Feeds erstellen und konfigurieren, ohne überhaupt einen Browser öffnen zu müssen.

Massen- oder wiederholbare Einrichtung. Die Kombination von --from-file mit einer gespeicherten JSON-Vorlage ermöglicht es Ihnen, dieselbe Feed-Konfiguration konsistent über mehrere Websites oder Umgebungen hinweg neu zu erstellen.

Für einen einmaligen Feed, gelegentliche Bearbeitungen oder wenn Sie sich mit einem Terminal nicht wohlfühlen, ist die Admin-Oberfläche immer noch die einfachere Wahl.

Fehlerbehebung

„Feed nicht gefunden“, obwohl ich weiß, dass der Feed existiert
Überprüfen Sie die übergebene ID oder den Hash erneut. Befehle akzeptieren entweder die numerische Beitrags-ID des Feeds oder seinen Legacy-Projekt-Hash. Ein Tippfehler in einem der beiden führt zu diesem Fehler. Führen Sie wp adt-feed list --format=ids aus, um eine bestätigte Liste gültiger IDs zu erhalten.
„Unbekannter Kanal“ beim Erstellen oder Aktualisieren eines Feeds
Der Wert --channel muss exakt mit einem Kanalnamen oder -hash übereinstimmen. Die Übereinstimmung ist nicht case-sensitiv, aber auch nicht unscharf. Führen Sie zuerst wp adt-feed channel list aus, um den exakten Namen oder Hash zu kopieren, den Sie benötigen.
„Erforderliche Eigenschaften fehlen“ beim Erstellen eines Feeds
create benötigt mindestens title, channel_hash (aufgelöst aus --channel), country und file-format. Mit --from-file wird zuerst die Datei gelesen und dann werden alle von Ihnen übergebenen Flags darauf angewendet. Ein Flag kann also einen Schlüssel liefern, den die Datei weglässt. Wenn der Fehler weiterhin besteht, fehlt der Wert sowohl in der Datei als auch in den Flags.
Ein Refresh scheint nicht zu laufen
Überprüfen Sie das Ergebnis mit wp adt-feed get <id> und lesen Sie das Feld status. Wenn der Status error ist, öffnen Sie WooCommerce > Status > Protokolle und lesen Sie die Einträge mit der Quelle Product Feed Pro by AdTribes.io. Wenn der Status processing bleibt und die Datei nicht wächst, läuft die Action Scheduler-Warteschlange nicht. Leeren Sie sie daher mit wp action-scheduler run. Das Terminal meldet nie das Ergebnis eines Refreshes, nur dass einer gestartet wurde. Geben Sie ihm also ein paar Momente Zeit und überprüfen Sie den Status erneut.

FAQ

Benötige ich Product Feed Elite oder einen kostenpflichtigen Plan, um diese Befehle nutzen zu können?
Nein. Die WP-CLI-Befehle sind Teil der kostenlosen/Pro-Version von Product Feed Pro. Sie benötigen keine Elite-Lizenz oder ein aktives Abonnement, um sie nutzen zu können.
Kann ich diese Befehle auf einer Website verwenden, auf der WP-CLI nicht installiert ist?
Nein. Die CLI-Befehle von Product Feed Pro registrieren sich bei einer vorhandenen WP-CLI-Installation; sie installieren WP-CLI nicht für Sie. Wenn wp nicht auf Ihrem Server eingerichtet ist, installieren Sie es zuerst.
Was passiert, wenn ich einen Befehl ohne Argumente ausführe?
Die meisten Befehle erfordern mindestens eine ID oder eine Reihe von Flags. Die Ausführung eines Befehls ohne die erforderliche Eingabe gibt einen WP-CLI-Fehler zurück, der erklärt, was fehlt, anstatt stillschweigend nichts zu tun.
Kann ich Feed-Aktualisierungen mit WP-CLI genauso planen wie die integrierte Planung des Plugins?
Ja. Richten Sie einen System-Cronjob auf wp adt-feed refresh <id> --async für alle Feeds ein, die Sie außerhalb der stündlichen, zweimal täglichen oder täglichen Optionen des Plugins steuern möchten. Die vollständige Einrichtung finden Sie unter Produktdatenfeeds mit Cronjobs aktualisieren.

Benötigen Sie weitere Hilfe?

Wenn Sie einen Premium-Plan nutzen und Probleme mit den CLI-Befehlen auftreten, öffnen Sie ein Support-Ticket, und unser Team wird Ihnen bei der Fehlerbehebung helfen.

Wenn Sie die kostenlose Version von Product Feed Pro verwenden, stellen Sie Ihre Frage im WordPress.org-Supportforum, und unser Team wird sich dort bei Ihnen melden.

War dieser Artikel hilfreich?

Verwandte Artikel

Schließen Sie Ihren Kauf ab
AdTribes WooCommerce Produkt-Feed

Das beste WooCommerce-Produktfeed-Plugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Ressourcen & Infos
Partner-Websites
Rymera