Visser Labs – Wtyczki WooCommerce

  1. Strona główna
  2. Baza wiedzy
  3. WooCommerce Store Exporter Deluxe
  4. Jak eksportować dane WooCommerce do formatu JSON
  1. Strona główna
  2. Baza wiedzy
  3. Formaty plików
  4. Jak eksportować dane WooCommerce do formatu JSON

Jak eksportować dane WooCommerce do formatu JSON

Jeśli przesyłasz dane sklepu do skryptu, API lub innego systemu, płaski arkusz kalkulacyjny stanowi przeszkodę. JSON daje Ci każdy rekord jako samodzielny obiekt, który prawie każdy język programowania i narzędzie integracyjne może odczytać bezpośrednio. Store Exporter Deluxe może eksportować każdy obsługiwany typ danych jako JSON za pomocą swojego adresu URL eksportu CRON. Poniżej włączysz eksporty CRON, zbudujesz adres URL zwracający JSON i dowiesz się, jak czytać, otwierać i dostosowywać dane wyjściowe.

Wymagania wstępne

WymaganieSzczegóły
WtyczkaStore Exporter Deluxe zainstalowany, aktywny i licencjonowany
WooCommerceAktywny, z co najmniej jednym rekordem typu, który chcesz wyeksportować
Dostęp administratoraBędziesz potrzebować konta z dostępem do panelu administracyjnego WordPress
Sposób na żądanie adresu URLPrzeglądarka internetowa wystarczy. Narzędzie takie jak curl lub wget również działa, jeśli chcesz je zautomatyzować

JSON nie znajduje się na liście kafelków Format pliku na ekranie Szybki eksport i nie jest oferowany w Szablonach eksportu. Zamiast tego żądasz go za pomocą adresu URL eksportu CRON, jak opisano poniżej.

Krok 1: Włącz eksporty CRON

  1. Przejdź do WooCommerce → Eksport sklepu.
  2. W bocznym pasku kliknij Ustawienia.
  3. Kliknij Eksporty CRON.
  4. Włącz Włącz CRON.
  5. Wpisz długą, losową wartość w polu Klucz tajny eksportu.
  6. W sekcji Pola eksportu wybierz, które pola zawiera eksport CRON.
  7. Kliknij Zapisz zmiany.

Włącz CRON jest domyślnie wyłączony. Gdy jest wyłączony, wtyczka ignoruje adres URL eksportu. Ignoruje również każde żądanie, którego klucz nie pasuje do Klucza tajnego eksportu, oraz każde żądanie, gdy to pole jest puste. Traktuj klucz jak hasło, ponieważ każdy, kto ma klucz i Twój adres URL, może pobrać dane Twojego sklepu.

Opcje Pola eksportu to:

  • Wszystkie pola eksportu: zawiera każde znane pole dla żądanego typu eksportu.
  • Użyj szablonu eksportu: używa pól z zapisanego szablonu eksportu.
  • Zapisane preferencje pól: używa pól, które zapisałeś na ekranie Szybki eksport dla danego typu eksportu.
Strona ustawień Eksportów CRON z włączonym przełącznikiem Włącz CRON, wprowadzonym Kluczem tajnym eksportu i Polami eksportu ustawionymi na Wszystkie pola eksportu

Krok 2: Zbuduj adres URL eksportu

Zacznij od adresu swojej witryny i dodaj poniższe parametry. Zastąp TWÓJ_SEKRETNY_KLUCZ kluczem, który ustawiłeś w Kroku 1:

https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=product&format=json&response=download
ParametrCo robi
actionZawsze woo_ce-cron. To informuje wtyczkę, że żądanie jest eksportem CRON.
keyTwój tajny klucz eksportu.
typDane do wyeksportowania: product, category, tag, brand, order, customer, user, review, coupon, subscription, product_vendor, commission, shipping_class, ticket lub booking. Typy subscription, product_vendor, commission, ticket i booking wymagają aktywnej odpowiedniej wtyczki. Bez niej eksport nie zawiera żadnych rekordów.
formatUstaw na json. Jeśli go pominiesz, eksport domyślnie będzie w formacie CSV.
odpowiedźdownload wysyła plik .json do Twojej przeglądarki. raw drukuje JSON bezpośrednio na stronie, co jest odpowiednie dla skryptów i żądań w stylu API.
limitOpcjonalnie. Maksymalna liczba rekordów do wyeksportowania. Pozostaw puste, aby wyeksportować wszystko.
przesunięcieOpcjonalnie. Liczba rekordów do pominięcia, co pomaga przy eksporcie dużego sklepu w częściach.

Krok 3: Uruchom eksport

Otwórz adres URL w przeglądarce. Z opcją response=download, przeglądarka zapisze plik o nazwie podobnej do my-store-export_product-2026_10_20-07_18_54-93680224.json. Z opcją response=raw, JSON pojawi się zamiast tego na stronie.

Aby zautomatyzować, wyślij żądanie tego samego adresu URL ze skryptu lub zaplanowanego zadania na serwerze:

curl -s "https://example.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=order&format=json&response=raw" -o orders.json

Jak wygląda wynik

Plik jest jednym obiektem JSON. Jego jedynym kluczem jest typ eksportu, a jego wartością jest lista rekordów. Eksport produktów wygląda tak:

{
    "product": [
        {
            "productid": "15",
            "productsku": "HD-FLC-CLS",
            "productname": "Classic Fit Fleece Hoodie",
            "parentsku": {}
        }
    ]
}
Początek eksportu produktów w formacie JSON, z kluczem typu eksportu, pustą wartością zapisaną jako {}, i identyfikatorem produktu zapisanym jako tekst, każdy oznaczony etykietą

Kilka rzeczy warto wiedzieć, zanim zaczniesz coś na tym budować:

  • Nazwy pól są uproszczone: nazwa każdego pola to jego etykieta kolumny w małych literach, z usuniętymi spacjami i większością symboli. Myślniki i podkreślenia pozostają. Więc Product Name staje się productname, a E-mail staje się e-mail.
  • Wszystkie wartości to tekst: liczby, ceny i identyfikatory są zapisywane jako ciągi znaków, na przykład "15" zamiast 15. Konwertuj je we własnym kodzie, jeśli potrzebujesz typów numerycznych.
  • Niektóre wartości są zapisywane jako {}: pole bez wartości jest zapisywane jako {}, a nie "" lub null. Pole Category w eksporcie produktów oraz tekst zawierający znaki specjalne, takie jak twarde spacje, również są zapisywane jako {}. Jeśli potrzebujesz tych wartości, wyeksportuj te same dane jako XML lub CSV.
  • Zamówienia zawierają dodatkowy klucz: każdy rekord zamówienia zawiera również wpis @attributes zawierający identyfikator zamówienia.
  • Pojedynczy rekord nie jest opakowany w listę: jeśli Twój eksport zawiera dokładnie jeden rekord, klucz typu eksportu zawiera ten rekord bezpośrednio zamiast listy jednoelementowej. Jeśli pobierasz jeden rekord na raz za pomocą limit=1, obsłuż oba formaty w swoim kodzie.
  • Wynik jest ładnie sformatowany: plik używa wcięć i podziałów wierszy, dzięki czemu jest łatwy do odczytania.

Opcje specyficzne dla formatu

Eksporty JSON nie mają własnych ustawień. Nie ma opcji wyboru separatora ani struktury, a plik jest zawsze w formacie UTF-8. Ustawienia ogólne nadal obowiązują, więc Format daty kontroluje, jak daty pojawiają się w JSON. Ustawienia, które dotyczą tylko innych formatów, takie jak Separator pól i Format zakończenia wiersza (CSV i TSV), nie zmieniają pliku JSON. Aby zmienić sam JSON, użyj haków w sekcji deweloperskiej poniżej.

Otwieranie pliku JSON

  • Przeglądarka internetowa lub edytor kodu: otwórz plik w dowolnej nowoczesnej przeglądarce, VS Code lub edytorze tekstu. Większość edytorów może zwijać i rozwijać każdy obiekt.
  • Linia komend: użyj jq do filtrowania i przekształcania, na przykład jq '.product[].productsku' products.json.
  • Narzędzia API: narzędzia takie jak Postman mogą wczytać plik JSON jako treść żądania lub jako przykładowe dane.
  • Arkusz kalkulacyjny: opcja Excela Pobierz dane → Z pliku → Z JSON (Power Query) może spłaszczyć rekordy do wierszy. Jeśli głównie chcesz arkusz kalkulacyjny, eksport CSV lub eksport Excel jest prostszy.
  • Własny kod: każdy główny język programowania potrafi parsować JSON za pomocą wbudowanej lub standardowej biblioteki.

Dostosowywanie wyjścia JSON za pomocą haków

Store Exporter Deluxe uruchamia haki filtrujące wokół eksportu JSON, dzięki czemu programista może zmienić wyjście bez edycji plików wtyczki. Te haki działają dla eksportów żądanych przez adres URL CRON.

FiltrCo robi
woo_ce_export_json_constantsUstawia opcje przekazywane do wp_json_encode(). Domyślnie jest to JSON_PRETTY_PRINT.
woo_ce_export_json_before_datasetUruchamiany przed dodaniem rekordów. Otrzymuje pusty obiekt eksportu.
woo_ce_export_json_after_datasetUruchamiany po dodaniu rekordów. Otrzymuje gotowy obiekt eksportu, zanim zostanie przekonwertowany na JSON.
woo_ce_cron_allowed_export_typesOgranicza, jakie typy eksportu akceptuje adres URL CRON.

Na przykład, aby usunąć wcięcia i zachować czytelność ukośników oraz znaków nieanglojęzycznych, zwróć inne opcje JSON:

add_filter( 'woo_ce_export_json_constants', function () {
    return JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
} );

Opcja JSON_UNESCAPED_SLASHES zapobiega zapisywaniu adresów URL jako https:\/\/example.com. Opcja JSON_UNESCAPED_UNICODE zachowuje znaki takie jak akcenty i skrypty niełacińskie w ich oryginalnej postaci zamiast zamieniać je na kody \u.

Aby uzyskać szerszą listę haków, które są uruchamiane podczas eksportu, zobacz Dostępne haki i filtry do dalszego dostosowywania.

Jest to dostosowanie dla programistów. Jeśli nie czujesz się komfortowo z dodawaniem kodu za pomocą niestandardowej wtyczki lub pliku functions.php Twojego motywu, otwórz zgłoszenie wsparcia, a nasz zespół pomoże.

Rozwiązywanie problemów

Adres URL eksportu pokazuje moją normalną stronę główną
Sprawdź, czy opcja Włącz CRON jest włączona, czy Klucz tajny eksportu nie jest pusty i czy key w Twoim adresie URL dokładnie do niego pasuje. Gdy którakolwiek z tych rzeczy jest nieprawidłowa, wtyczka ignoruje żądanie, a Twoja witryna ładuje się jak zwykle.
Adres URL eksportu pokazuje pustą stronę
Wtyczka zaakceptowała Twój klucz, ale nie rozpoznała typu eksportu ani formatu. Sprawdź, czy type znajduje się w adresie URL i jest jedną z wartości wymienionych w Kroku 2. Sprawdź również, czy format to dokładnie json. Wtyczka nie rozpoznaje żadnej innej pisowni i nic nie zwraca.
Eksport pokazuje tylko null
Twój sklep nie zawiera rekordów tego typu, więc nie ma nic do wyeksportowania. Sprawdź, czy type to dane, których oczekujesz.
Strona pokazuje tylko 1 lub 0
Dodaj &response=download lub &response=raw do adresu URL. Bez poprawnej wartości response wtyczka zwraca tylko numer statusu zamiast pliku.
Adres URL eksportu pokazuje krytyczny błąd
Ustaw Kodowanie znaków w Ustawienia → Ogólne na UTF-8 lub dodaj &encoding=UTF-8 do adresu URL eksportu. Eksporty JSON nie działają z UTF-16.
Plik pobiera się jako CSV zamiast JSON
Brakuje parametru format. Bez niego eksport CRON domyślnie używa CSV. Dodaj &format=json do adresu URL.
Mój skrypt kończy się błędem, ponieważ pole jest {}
Spraw, aby Twój kod akceptował {} wszędzie tam, gdzie oczekuje tekstu. Puste pola są zapisywane jako {}, podobnie jak pole Kategoria i tekst ze znakami specjalnymi, takimi jak twarde spacje. Jeśli potrzebujesz tych wartości, wyeksportuj te same dane jako XML lub CSV.
Plik JSON ma mniej pól niż oczekiwałem
Eksporty CRON używają wyboru pól w sekcji Pola eksportu w Ustawienia → Eksporty CRON. Przełącz na Wszystkie pola eksportu lub na szablon lub zapisany wybór, który zawiera potrzebne pola.

Często zadawane pytania

Czy mogę wybrać JSON na ekranie Szybkiego eksportu?
Nie. Opcje Format pliku w sekcji Opcje eksportu na ekranie Szybki eksport to CSV, TSV, XLS, XLSX i XML. Użyj adresu URL eksportu CRON dla formatu JSON.
Czy mogę zmienić kodowanie eksportu JSON?
Nie. Plik JSON jest zawsze w formacie UTF-8. Jeśli Kodowanie znaków w sekcji Ustawienia → Ogólne jest ustawione na UTF-16, eksport JSON zakończy się błędem. Ustaw je na UTF-8 lub dodaj &encoding=UTF-8 do adresu URL eksportu. Aby zmienić sposób zapisywania znaków specjalnych, użyj filtru woo_ce_export_json_constants.
Czy JSON działa dla każdego typu eksportu?
Tak. Każdy typ z listy type w Kroku 2 można zażądać za pomocą format=json.

Potrzebujesz pomocy?

Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.

Czy ten artykuł był pomocny?

Powiązane artykuły

Zasoby i pomoc