Frontend Submissions (FES)は、Easy Digital Downloadsの最も人気のある拡張機能の1つです。なぜなら、ストアオーナーがベンダーから製品の提出を受け付ける能力を与えるからです。これは、顧客がストアオーナーの製品だけでなく、周囲のコミュニティからも恩恵を受けることを意味します。
しかし、この機能の性質上、ベンダーが提出された製品をどの程度管理できるかと、オーナー自身の管理との間で、ストアオーナーは微妙なバランスを取る必要があり、課題となる可能性があります。
ベンダーは独自の価格を設定できるべきでしょうか?ダウンロードファイルの制限はどうでしょうか、誰が値を設定するのでしょうか?これらの質問やその他多くの質問が、各FESのインストールをユニークなものにしています。
この記事では、FESの機能を利用して、ベンダーにあなたが望む正確な管理権限を与える方法を紹介します。
ダウンロードメタデータ
最初にカバーすべきことは、情報がダウンロードエントリ(ストア内の個々の製品)に直接どのように関連付けられているかです。
基本的なEDDダウンロード設定の1つを例として使用します。新しいダウンロードエントリを作成するか、既存のエントリを編集すると、編集画面のサイドバーに「ダウンロード設定」メタボックスが表示されます。

ストアオーナーであるあなたが、製品に固有の在庫管理システムを持っており、サイト上の各ダウンロードエントリに特定のSKU(在庫管理単位)を持たせることが重要だとしましょう。ベンダーが製品を提出する際にSKU値を自分で作成できる能力がない限り、あなたは各製品のSKUを自分で設定する必要があります。そのようなシナリオが十分に増えると、ベンダーに製品を提出する能力を与えることが、逆ではなく、あなたにとってより多くの仕事を生み出しているように感じられるようになるでしょう。
上記のスクリーンショットに示されているSKU設定は、FES提出フォームに配置できる既製のFESフィールドがない設定です。しかし、ベンダーがその設定を使用する方法があります。
WordPressでは、単一の投稿またはページエントリには、それに関連付けられた「メタデータ」と呼ばれるものがあります。メタデータは、そのエントリに直接関連付けられた保存された情報にすぎません。そして、EDDのダウンロードは基本的に投稿やページと同じものであるため、メタデータもサポートしています。
メタデータはメタキーと呼ばれる一意の識別子によって整理されており、それによって各情報を個別に管理できます。この特定のケースでは、SKU設定のメタキーはedd_skuです。
新しい製品を作成するストアオーナーとして、edd_skuダウンロードメタに値を保存するために行う必要があるのは、提供されたテキストフィールドに値を入力することだけです。同様に、ベンダーに自分でSKU値を設定する能力を与えない場合は、ベンダーの製品提出を編集してSKU値を入力することもできます。
メタデータ、メタキー、およびFES提出フォームにフィールドを追加する方法に関する基本的な知識を理解することで、ベンダーにより多くの管理権限を与え、ワークロードを削減する方法を示します。
提出フォームフィールドのメタキー
FESで申請フォームを作成するのは非常に簡単です。ベンダーに記入してもらうか、少なくとも記入するオプションを与えるフィールドを追加するだけです。
タイトルや説明など、商品に必須となるフィールドは、あまり設定を必要とせず、申請フォームに自動的に含まれます。
「ダウンロード価格とファイル」などの他のフィールドは、特定の目的のために構築されています。そのため、デフォルトでは必須フィールドではありませんが、設定はそのフィールドの目的に非常に特化しています。
しかし、ほとんどのフィールドは、フィールドの目的ではなく、フィールドタイプに基づいたツールのようなものです。これは、一般的なテキストフィールドを必要に応じてどのようにでも使用できることを意味します。私の例では、テキストフィールドを使用して、ベンダーが独自のSKU値を設定できるようにします。
メタデータについて学んだこと、そして各メタデータには識別用のユニークなメタキーがあるという事実を念頭に置いて、FESフィールドをベンダーに制御させたいメタキーに直接接続する必要があります。そして、それは非常に簡単です。

上記の画像でわかるように、テキストフィールドは非常に一般的な設定とフィールドを持っています。この場合、最も重要なフィールドは「メタキー」です。EDDの実際の設定のメタキーと一致するように設定したため、ベンダーに製品のSKU設定を直接編集するフィールドを提供することになります。
このフィールドが申請フォームに保存され、必須となると、ストアオーナーはSKU値を設定したり、ベンダーに自分で設定するためにバックエンドアクセスを提供したりすることを心配する必要がなくなります。ベンダーは、自分の製品を申請または編集する際に、FESベンダーダッシュボードから直接行うことができます。素晴らしいです。
この情報を実世界で使用する
これは単純に聞こえますが、各ケースでセットアップするには、まだ少し宿題をする必要があります。メタキーは、ダウンロードの追加/編集ページの横に表示されるだけではありません。そのため、見つけるのは難しい場合があります。
簡単な設定のメタキーを見つける簡単な方法の1つは、ブラウザのインスペクターを使用することです。ベンダーにアクセスさせたい設定の実際のフィールド要素を検査することで、設定を制御する入力要素の「name」属性にメタキー値が表示されることがよくあります。

上記の画像では、「edd_sku」が、申請フォームの入力フィールドをその設定に接続するために必要なメタキーであることがわかります。
他のケースでは、これはもう少し難しくなる可能性があります。まず、一部の設定はFES申請フォームから制御するには複雑すぎることを理解する必要があります。同様に、一部の拡張機能は既にFESと統合されており、ダウンロードの追加/編集画面に追加する設定のために独自のFES申請フォームフィールドを作成しています。
上記が当てはまらず、それでも必要なメタキーがない場合は、コードを掘り下げる時です。設定を通じてダウンロードに追加できるメタデータの量に制限はありません。そのため、多くのEDD拡張機能がインストールされている場合や、EDDとは関係のない他のプラグインがある場合、考慮すべき設定がさらに増える可能性があります。
ここでやるべきことは、その設定をダウンロードに追加したプラグイン/スクリプトなどのソースコードを見ることです。その追加/編集ダウンロード画面でユーザー(あなた)からの入力を受け取り保存するすべて設定は、WordPressの投稿メタ関数add_post_meta()やupdate_post_meta()のようなものを扱います。これらの関数の両方を使用して新しい設定を作成でき、どちらもその設定のメタキーを指定する必要があります。したがって、コード内でこれらの関数を見つけることができれば、メタキーを見つけることができます。
コードの基本的な構造はこれと非常によく似ています。
add_post_meta( $post_id, $meta_key, $meta_value, $unique );
そのコードでは、$meta_keyはFESフィールドのメタキーとして必要となる値を表します。
注意:いくつかのユニークなケースでは、コードが少し複雑になり、メタキーとしてPHP変数などが含まれる場合があります。その場合は、カスタム開発者を探し始める時かもしれません。
便利なダウンロード設定メタキー
FESフォームフィールドに接続されていない、いくつかのデフォルトのEDD設定があります。以下は、それらの設定の名前と、適切なFESフォームフィールドで使用できる対応するメタキーです。
ダウンロード制限 – _edd_download_limit
ダウンロードノート – edd_product_notes
購入ボタンの表示 – _edd_hide_purchase_link
まとめ
すでにお気づきかもしれませんが、ここですべてのニーズを満たす単一のコードスニペットはありません。さらに、FESはサイト上のすべて設定と統合できるわけではありません。しかし、ダウンロードメタデータ、メタキー、FESフィールドの基本的な理解は、あなたを大いに助けてくれるでしょう。
ストアのベンダーが必要とする制御のレベルを慎重に検討し、ユーザーエクスペリエンスを向上させるためにプロセスを可能な限り合理化するように努めてください。ベンダーはマーケットプレイス内のストアオーナーとみなされます。この記事で学んだことを実装することは、パートナーシップの両端に利益をもたらします。




