チェックアウトフィールドマネージャー拡張機能を使用すると、チェックアウトフォームにカスタムフィールドを作成できます。これにより、顧客から簡単にデータを収集できます。支払い履歴ページで簡単に確認できますが、顧客が見る領収書に印刷したい場合はどうすればよいでしょうか?このドキュメントがお手伝いします。
ラジオボタンの例
この例では、「この購入プロセスに満足していますか?」というタイトルのカスタムラジオボタンフィールドを使用します。このフィールドのメタキーは自動的にare_you_happy_with_this_purchase_processとして生成され、はい/いいえの回答オプションを作成しました。以下を参照してください。

この情報を顧客の領収書に表示するため、テンプレートを見てみましょう。対象のテンプレートはshortcode-receipt.phpと呼ばれます。このテンプレートをテーマに移動する方法については、ドキュメントをお読みください。
そのファイルの先頭近くに、このコードがあります。
$payment = get_post( $edd_receipt_args['id'] );
これにより、この支払いオブジェクトが作成されます。このファイルの残りの部分で、$payment->IDの下にあるこの支払いのIDを見つけることができます。
上記の例では、メタキーはare_you_happy_with_this_purchase_processです。IDとメタキーの両方がわかったので、このコードで値を取得できます。
get_post_meta( $payment->ID, 'are_you_happy_with_this_purchase_process', true )
注意:上記の例の「true」は、get_post_meta()から単一の値が返されることを期待していることを示しています。チェックアウトフィールドマネージャーは、提供するすべてのフィールドタイプに対して単一の値を返します。
領収書への印刷
上記の例では目的の値を取得しましたが、領収書にきれいに表示したいと思います。shortcode-receipt.phpには、edd_purchase_receiptというCSS IDを持つHTMLテーブルがあります。このテーブルをコピーして値を変更できます。テーブルヘッダーの例を次に示します。
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 .= '
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 ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?> | |
これは次のように表示されます:
重要なポイント
- 領収書にカスタムフィールドの回答を表示するには、shortcode-receipt.phpファイルをテーマにコピーし、そこにコードを記述してください。
- データの取得は、管理エリアで指定されたメタキーに対してget_post_meta()を呼び出すだけです。
- カスタムフィールドマネージャーのすべてのキーは、post_metaテーブルに単一の値として保存されます。
注意:Easy Digital Downloadsは、カスタムコーディング/開発のサポートを提供していません。必要な場合は、Codeableを通じて開発者を雇い、必要なカスタム変更を行うことをお勧めします。

