Zaloguj się
Rozpocznij

Dokumentacja Easy Digital Downloads

Dokumentacja, materiały referencyjne i samouczki dla Easy Digital Downloads 

Menedżer Pól Zamówienia – Pobieranie Danych Meta

Rozszerzenie Menedżer Pól Zamówienia pozwala na tworzenie niestandardowych pól w formularzu zamówienia. Ułatwia to zbieranie danych od klientów. Możesz je łatwo zobaczyć na stronie Historii Płatności, ale co jeśli chcesz, aby były wydrukowane na paragonie dla klienta? Ten dokument pomoże Ci w tym.

Przykład Pól Wyboru (Radio Buttons)

W tym przykładzie użyjemy niestandardowego pola wyboru (radio buttons) zatytułowanego „Czy jesteś zadowolony z tego procesu zakupu?”. Klucz meta dla tego pola został automatycznie wygenerowany jako are_you_happy_with_this_purchase_process, a my po prostu stworzyliśmy opcję odpowiedzi Tak/Nie. Zobacz poniżej.

Ponieważ zamierzamy wyświetlić te informacje na paragonie klienta, przyjrzyjmy się szablonowi. Szablon, którego chcemy, nazywa się shortcode-receipt.php. Przeczytaj naszą dokumentację, jak przenieść ten szablon do swojego motywu.

W pobliżu góry tego pliku znajdziesz ten kod:

$payment = get_post( $edd_receipt_args['id'] );

który tworzy obiekt dla tej płatności. W pozostałej części tego pliku możemy teraz znaleźć ID tej płatności pod $payment->ID.

W powyższym przykładzie klucz meta to are_you_happy_with_this_purchase_process. Teraz, gdy mamy zarówno ID, jak i klucz meta, możemy uzyskać wartość za pomocą tego kodu:

get_post_meta( $payment->ID, 'are_you_happy_with_this_purchase_process', true )

Uwaga: wartość ‘true’ w powyższym przykładzie wskazuje, że oczekujemy pojedynczej wartości z get_post_meta(). Menedżer Pól Zamówienia zwraca pojedynczą wartość dla wszystkich oferowanych typów pól.

Drukowanie na Paragonie

W powyższym przykładzie uzyskaliśmy pożądaną wartość, ale teraz chcemy ją ładnie wyświetlić na paragonach. W pliku shortcode-receipt.php znajdziesz tabelę HTML z identyfikatorem CSS edd_purchase_receipt. Możesz skopiować tę tabelę i zmienić wartości. Oto przykład nagłówka tabeli:

Then we can print a table row for the above question, like this:

Multi-answer Example

Some field types allow for multiple answers from a customer. Check boxes allow the customer to select multiple things for example. This is still stored as a single item in meta data; it’s a single array with multiple key/value pairs. How it gets rendered is slightly different from above, however.

Here’s a custom field asking the customer what their favorite animal is:

Rendering it in our HTML table would look like this:

ID, 'favorite_animal', true ) as $animal ) {
            $animals .= '
  • ' . $animal . '
  • ' . "n"; } // print out the table row, wrapping the results in unordered list tags, and escaping with wp_kses_post() ?>

    As you can see it’s only slightly more complicated than the first example.

    Wrapping Up

    Putting together the two code samples from above, we end up with something like this:

    ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?>
    ID, 'favorite_animal', true ) as $animal ) { $animals .= '
  • ' . $animal . '
  • ' . "n"; } // print out the table row, wrapping the results in unordered list tags, and escaping with wp_kses_post() ?>
    ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?>

    Co będzie wyglądać tak:

    Kluczowe punkty

    • Aby wyświetlić odpowiedzi z Niestandardowych Pól na swoich paragonach, skopiuj plik shortcode-receipt.php do swojego motywu i umieść tam swój kod
    • Pobieranie danych polega po prostu na wywołaniu get_post_meta() na Kluczu Meta podanym w obszarze administracyjnym
    • Wszystkie klucze z Menedżera Pól Niestandardowych są przechowywane jako pojedyncze wartości w tabeli post_meta.

    Uwaga: Easy Digital Downloads nie zapewnia wsparcia dla niestandardowego kodowania/rozwoju. W razie potrzeby zalecamy zatrudnienie dewelopera za pośrednictwem Codeable, aby wprowadzić potrzebne niestandardowe zmiany.

    Czy ten artykuł był pomocny?

    Zacznij sprzedawać już dziś!

    Dołącz do ponad 50 000 sprytnych właścicieli sklepów i zacznij korzystać z najłatwiejszego sposobu sprzedaży produktów cyfrowych za pomocą WordPress.

    Copyright © 2025 Sandhills Development, LLC

    [universally_switcher]