Zacznij
Jak używać WP-CLI do zarządzania feedami produktów - AdTribes
  1. Strona główna
  2. Baza wiedzy
  3. Ogólne wskazówki dotyczące kanałów
  4. Jak używać WP-CLI do zarządzania feedami produktów

Jak używać WP-CLI do zarządzania feedami produktów

Jeśli zarządzasz dziesiątkami feedów, prowadzisz witrynę headless lub stagingową, lub potrzebujesz odświeżania feedów uruchamianego przez zadanie cron na poziomie serwera zamiast wizyty na stronie, klikanie przez ekran administratora dla każdego feedu szybko staje się uciążliwe. Product Feed Pro zawiera pełny zestaw poleceń WP-CLI, dzięki czemu możesz listować, tworzyć, aktualizować i odświeżać feedy bezpośrednio z terminala. Oznacza to, że możesz skryptować zarządzanie feedami, włączyć je do potoku wdrażania lub wyzwolić odświeżanie z systemowego zadania cron bez dotykania panelu administracyjnego WordPress.

Wymagania wstępne

WymaganieSzczegóły
Wersja Product Feed Pro13.5.4 lub nowsza
WP-CLIZainstalowany i działający na Twoim serwerze. Polecenia Product Feed Pro rejestrują się w Twojej istniejącej instalacji WP-CLI. Nie instalują go za Ciebie.
Status wtyczkiProduct Feed Pro aktywny na stronie. Nie jest wymagana licencja Elite ani płatny plan; te polecenia są częścią darmowej/Pro wersji.
DostępDostęp do powłoki lub SSH do serwera, lub panel hostingowy, który zapewnia terminal WP-CLI

WP-CLI działa z pełnymi uprawnieniami, więc te polecenia pomijają sprawdzanie uprawnień i nonce, z których korzysta interfejs administratora. Każdy, kto ma dostęp do powłoki do uruchamiania poleceń wp, może zarządzać każdym feedem na stronie, więc traktuj dostęp do serwera tak samo, jak konto administratora.

Referencje poleceń

Każde polecenie znajduje się pod przestrzenią nazw adt-feed. Uruchom wp adt-feed <command> do zarządzania feedami, wp adt-feed channel list, aby zobaczyć dostępne kanały, i wp adt-feed format list, aby zobaczyć obsługiwane formaty plików.

Listuj feedy

Wyświetla feedy już obecne na Twojej stronie. Użyj go, aby sprawdzić status, znaleźć identyfikator feedu lub wyeksportować pełną listę.

FlagaDomyślneUwagi
--status=<status>dowolnypublish, draft lub any
--channel=<channel>brakFiltruj według nazwy kanału lub skrótu, niewrażliwe na wielkość liter
--per-page=<n>100Maksymalna liczba zwracanych feedów
--page=<n>1Numer strony dla paginacji
--format=<format>tabelatable, csv, json, yaml, ids lub count
--fields=<fields>id,tytuł,post_status,status,kanał,format_pliku,liczba_produktów,ostatnia_aktualizacjaLista kolumn oddzielonych przecinkami do wyświetlenia
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

Ostatni przykład wyświetla tylko numeryczne identyfikatory kanałów, co jest przydatne, gdy chcesz przekazać je do innego polecenia, na przykład odświeżając wszystkie opublikowane kanały w jednej linii.

Uzyskaj szczegóły kanału

Wyświetla pełną konfigurację jednego kanału, w tym jego mapowania atrybutów, filtry i reguły.

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

Zastąp 4945 numerycznym identyfikatorem kanału lub jego starym hashem projektu, jeśli nie znasz identyfikatora. --format akceptuje json (domyślnie), yaml lub table. W formacie table zagnieżdżone dane, takie jak mapowania i reguły, są spłaszczane do ciągu JSON w każdym wierszu, aby pozostały czytelne w terminalu.

Utwórz kanał

Tworzy nowy kanał. Wymagany jest co najmniej tytuł, kanał, kraj i format pliku.

Kanał utworzony tylko za pomocą flag nie ma mapowania atrybutów. Interfejs administratora wypełnia wymagane atrybuty kanału podczas tworzenia kanału za jego pośrednictwem. CLI tego nie robi. Kanał utworzony z flag nadal raportuje ready po wygenerowaniu, a jego liczba produktów jest różna od zera, ale plik, który zapisuje, nie zawiera żadnych produktów. Nic Cię nie ostrzega. Zweryfikowano w Product Feed Pro 13.5.7: kanał utworzony za pomocą samych flag zakończył się statusem ready i liczbą produktów 18, podczas gdy wygenerowany XML zawierał tylko nagłówek kanału i zero węzłów elementów.

Aby utworzyć użyteczny kanał, przekaż pełną konfigurację w --from-file. Najszybszym sposobem na zbudowanie tego JSON jest skonfigurowanie jednego kanału w interfejsie administratora, uruchomienie wp adt-feed get <id> --format=json, a następnie edycja wyniku. Należy pamiętać, że definicje kanałów przechowują sufiks {{CURRENCY}} w atrybutach cenowych, a tylko ekran mapowania pól administratora zastępuje ten symbol zastępczy walutą Twojego sklepu. Jeśli ręcznie napiszesz JSON, sam zastąp kod waluty lub kanał wyemituje dosłowny tekst {{CURRENCY}}.

FlagaUwagi
--title=<tytuł>Tytuł kanału
--channel=<channel>Nazwa lub hash kanału. Uruchom wp adt-feed channel list, aby zobaczyć prawidłowe wartości. Przekazanie --country ogranicza dopasowywanie nazw do ogólnych kanałów, ponieważ lista kanałów jest indeksowana według pełnej nazwy kraju, podczas gdy create przyjmuje dwuliterowy kod, a podanie kraju pomija również skanowanie zapasowe dla wszystkich krajów. Pozostaw --country wyłączone, a dopasowywanie nazw przeskanuje każdy kraj. Hash kanału zawsze się rozwiązuje, cokolwiek przekażesz, więc jeśli create zgłosi „Nieznany kanał” dla kanału, który widzisz na liście, przekaż zamiast tego hash.
--country=<kraj>Dwuliterowy kod kraju, na przykład AU lub US
--file-format=<format>Jeden z formatów z wp adt-feed format list
--refresh-interval=<interwał>hourly, twicedaily lub daily. Pomiń flagę, aby pominąć zaplanowanie kanału. Wartość nie jest walidowana. Każdy inny ciąg znaków jest przechowywany w niezmienionej postaci: przekazanie empty przechowuje dosłowne słowo i po opublikowaniu kanału rejestruje jednorazową akcję z datą 1970-01-01 zamiast cyklicznego odświeżania, więc kanał nigdy nie odświeża się zgodnie z harmonogramem.
--post-status=<status>draft (domyślnie) lub publish
--from-file=<path>Ścieżka do pliku JSON z właściwościami kanału. Wszelkie flagi, które również przekażesz, zastąpią pasującą wartość w pliku.
--porcelainWyświetl tylko ID nowego kanału, przydatne do skryptów.
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

Jeśli nie określisz interwału odświeżania, kanał nie odświeży się automatycznie, dopóki go nie ustawisz. Ustawienie --post-status=publish również natychmiast rejestruje harmonogram odświeżania kanału, tak samo jak kliknięcie Aktywuj w interfejsie administratora.

Szczegółowe instrukcje dotyczące wykluczania lub włączania produktów według warunków znajdziesz w sekcji Jak tworzyć filtry dla swojego kanału produktów. Szczegółowe instrukcje dotyczące modyfikowania wartości atrybutów przed ich dotarciem do kanału znajdziesz w sekcji Jak tworzyć reguły.

Zaktualizuj kanał

Zmienia jedną lub więcej właściwości istniejącego kanału. Akceptuje te same flagi właściwości co 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

Musisz przekazać co najmniej jedną flagę lub --from-file, w przeciwnym razie polecenie zakończy się błędem. Jeśli zmienisz --refresh-interval lub --post-status, Product Feed Pro automatycznie ponownie zarejestruje lub anuluje harmonogram odświeżania, aby je dopasować.

Usuń kanały

Trwale usuwa jeden lub więcej kanałów.

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

Możesz przekazać wiele identyfikatorów naraz. Domyślnie WP-CLI pyta Usuń 1 kanał(y)? [t/n] przed usunięciem. Dodaj --yes, aby pominąć monit, co jest przydatne w skryptach.

Duplikuj kanał

Klonuje istniejący kanał, w tym jego kanał, mapowania, filtry i reguły. Nowa kopia jest tworzona jako szkic, ale dziedziczy interwał odświeżania źródłowego kanału, a jej harmonogram jest natychmiast rejestrowany. Uruchom wp adt-feed deactivate <new-id>, jeśli nie chcesz, aby kopia była odświeżana.

wp adt-feed duplicate 4945

Kopia jest nazwana Kopia <oryginalny tytuł>. Dodaj --porcelain, aby wyświetlić tylko ID nowego kanału zamiast komunikatu potwierdzającego.

Odśwież kanały

Regeneruje jeden lub więcej kanałów. Jest to odpowiednik kliknięcia Odśwież na ekranie Zarządzaj kanałami w wierszu poleceń.

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

refresh nie buduje kanału w Twoim terminalu. Rozpoczyna działanie i umieszcza pierwszą partię w kolejce Action Scheduler, a następnie wraca. Dodanie --async umieszcza całe zadanie w kolejce, więc kanał nie rozpocznie się, dopóki pracownik Action Scheduler go nie odbierze. W obu przypadkach praca odbywa się w kolejce Action Scheduler, więc kolejka musi działać, aby kanał zakończył działanie. W zadaniu cron serwera, po odświeżeniu uruchom wp action-scheduler run, aby opróżnić kolejkę w tej samej sesji. Kanały generują się w tle.

Anuluj generowanie kanału

Zatrzymuje generowany obecnie kanał.

wp adt-feed cancel 4945

Użyj tego, jeśli odświeżanie utknęło lub przez pomyłkę rozpoczęto generowanie. Status kanału zostanie natychmiast zmieniony na zatrzymany, a oczekujące partie zostaną odwołane. Ponowne zliczanie produktów jest kolejkowane w Action Scheduler, więc liczby aktualizują się po uruchomieniu kolejki, a nie w momencie zwrócenia polecenia. cancel nie usuwa odświeżenia, które zostało dodane do kolejki za pomocą refresh --async, jeśli jeszcze się nie rozpoczęło.

Aktywuj i dezaktywuj kanały

Publikuje lub tworzy wersje robocze jednego lub więcej kanałów, co również włącza lub wyłącza ich harmonogram odświeżania.

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

activate ustawia kanał na publikuj i rejestruje jego harmonogram odświeżania. deactivate ustawia go na wersję roboczą i anuluje harmonogram, więc kanał przestaje się odświeżać, dopóki go ponownie nie aktywujesz.

Zaktualizuj statystyki kanału

Ponownie zlicza produkty w wygenerowanym pliku kanału bez jego ponownego generowania.

wp adt-feed update-stats 4945

Jest to przydatne, jeśli statystyki wyświetlane w interfejsie administratora wydają się niezgodne z rzeczywistym plikiem, na przykład po ręcznej edycji pliku lub problemie z serwerem podczas generowania.

Wyświetl kanały

Wyświetla kanały obsługiwane przez Product Feed Pro, wraz z ich nazwami, skrótami, taksonomią i typem. Użyj --fields=, aby wybrać inne kolumny. Dostępne kolumny to name, channel_hash, fields, taxonomy, type i 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

Pozostawienie --country bez wartości wyświetla tylko ogólne kanały, które są Niestandardowym kanałem plus kanały dostępne we wszystkich krajach. Dodanie --country dodaje kanały specyficzne dla danego kraju. Użyj pełnej nazwy kraju, a nie dwuliterowego kodu: --country=Australia, a nie --country=AU. Dwuliterowy kod jest poprawny w create i update, gdzie jest przechowywany w kanale.

Wyświetl obsługiwane formaty plików

Wyświetla wszystkie formaty plików, które można przekazać do --file-format podczas tworzenia lub aktualizowania kanału.

wp adt-feed format list

Kiedy używać CLI zamiast interfejsu administratora

Zadania cron na poziomie serwera. Jeśli Twój hosting ogranicza wbudowany harmonogram WordPressa, możesz zamiast tego wywołać wp adt-feed refresh bezpośrednio z systemowego zadania cron. Pełny przewodnik konfiguracji znajdziesz w Jak odświeżać kanały produktów za pomocą zadań cron.

Duże katalogi. Odświeżanie kilku dużych kanałów za pośrednictwem interfejsu administratora oznacza konieczność pozostawienia otwartej karty przeglądarki i czekania. wp adt-feed refresh przekazuje pracę do Action Scheduler i natychmiast zwraca terminal.

Witryny headless lub stagingowe. Jeśli zarządzasz witryną bez regularnego dostępu administracyjnego lub skryptujesz budowanie środowiska stagingowego, CLI pozwala na tworzenie i konfigurowanie kanałów bez otwierania przeglądarki.

Konfiguracja masowa lub powtarzalna. Połączenie --from-file z zapisanym szablonem JSON pozwala na spójne odtwarzanie tej samej konfiguracji kanału na wielu witrynach lub w środowiskach.

W przypadku jednorazowego kanału, sporadycznych edycji lub jeśli nie czujesz się komfortowo z terminalem, interfejs administratora jest nadal prostszym wyborem.

Rozwiązywanie problemów

„Nie znaleziono kanału” gdy wiem, że kanał istnieje
Sprawdź dokładnie ID lub skrót, który podałeś. Polecenia akceptują albo numeryczne ID posta kanału, albo jego stary skrót projektu, ale literówka w jednym lub drugim spowoduje ten błąd. Uruchom wp adt-feed list --format=ids, aby uzyskać potwierdzoną listę prawidłowych identyfikatorów.
„Nieznany kanał” podczas tworzenia lub aktualizowania kanału
Wartość --channel musi dokładnie odpowiadać nazwie lub skrótowi kanału, a dopasowanie jest niewrażliwe na wielkość liter, ale nie rozmyte. Uruchom najpierw wp adt-feed channel list, aby skopiować dokładną nazwę lub skrót, którego potrzebujesz.
„Brak wymaganych właściwości” podczas tworzenia kanału
create wymaga co najmniej title, channel_hash (rozpoznanego z --channel), country i file-format. W przypadku --from-file plik jest najpierw odczytywany, a następnie wszelkie przekazane flagi są stosowane na wierzchu, więc flaga może dostarczyć klucz, którego brakuje w pliku. Jeśli błąd będzie się powtarzał, wartość brakuje zarówno w pliku, jak i we flagach.
Odświeżanie nie wydaje się działać
Sprawdź wynik za pomocą wp adt-feed get <id> i odczytaj pole status. Jeśli status to error, otwórz WooCommerce > Status > Logi i odczytaj wpisy ze źródłem Product Feed Pro by AdTribes.io. Jeśli status pozostaje processing, a plik nie rośnie, kolejka Action Scheduler nie działa, więc opróżnij ją za pomocą wp action-scheduler run. Terminal nigdy nie raportuje wyniku odświeżania, tylko to, że jedno zostało rozpoczęte, więc daj mu kilka chwil i sprawdź status ponownie.

FAQ

Czy potrzebuję Product Feed Elite lub płatnego planu, aby korzystać z tych poleceń?
Nie. Polecenia WP-CLI są częścią darmowej/Pro wersji Product Feed Pro. Nie potrzebujesz licencji Elite ani aktywnej subskrypcji, aby z nich korzystać.
Czy mogę używać tych poleceń na stronie, na której nie jest zainstalowany WP-CLI?
Nie. Polecenia CLI Product Feed Pro rejestrują się w istniejącej instalacji WP-CLI; nie instalują WP-CLI za Ciebie. Jeśli wp nie jest skonfigurowany na Twoim serwerze, zainstaluj go najpierw.
Co się stanie, jeśli uruchomię polecenie bez żadnych argumentów?
Większość poleceń wymaga co najmniej ID lub zestawu flag. Uruchomienie polecenia bez wymaganego wejścia zwraca błąd WP-CLI wyjaśniający, czego brakuje, zamiast nic nie robić po cichu.
Czy mogę zaplanować odświeżanie kanałów za pomocą WP-CLI w taki sam sposób, jak wbudowany harmonogram wtyczki?
Tak. Skieruj zadanie cron systemu na wp adt-feed refresh <id> --async dla dowolnych kanałów, którymi chcesz zarządzać poza własnymi opcjami wtyczki (co godzinę, dwa razy dziennie lub codziennie). Zobacz Jak odświeżać kanały produktów za pomocą zadań cron, aby uzyskać pełną konfigurację.

Potrzebujesz więcej pomocy?

Jeśli korzystasz z planu premium i napotkasz problemy z poleceniami CLI, otwórz zgłoszenie wsparcia, a nasz zespół pomoże Ci rozwiązać problem.

Jeśli korzystasz z darmowej wersji Product Feed Pro, zadaj pytanie na forum wsparcia WordPress.org, a nasz zespół odpowie Ci tam.

Czy ten artykuł był pomocny?

Powiązane artykuły

Dokończ zakup
AdTribes WooCommerce Product Feed

Najlepsza wtyczka WooCommerce do kanałów produktów

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Zasoby i informacje
Witryny partnerskie
Rymera