Dokanでベンダー登録フォームをカスタマイズする方法
公開: 2022-03-10e コマース マーケットプレイスのベンダー登録フォームが必要です。 シームレスな登録プロセスにより、より多くのベンダーがサイトにサインアップするようになり、より多くのビジネスを行うことができます. 幸いなことに、 Dokan には見栄えの良い最適化されたベンダー登録フォームが用意されているため、ベンダーは簡単にマーケットプレイスに登録して販売を開始できます。
ただし、すべての市場が同じように運営されているわけではありません。 地域の規則や規制を維持するために、一部のマーケットプレイスではベンダーを TAX や GST 番号、その他の情報で登録したいと考えています。 Dokan を使用すると、必要に応じてデフォルトのベンダー登録フォームを簡単にカスタマイズできます。
今日は、ベンダー登録フォームにフィールドを追加するプロセスについて説明します。
追加のボーナスとして、次のことも知ることができます-
- ベンダー用の別の登録フォームを作成する方法
- 単一の製品ページにベンダー名を表示する方法。
始めましょうか。
ベンダー登録フォームにフィールドを追加する方法
WordPress 登録プラグインにフィールドを追加するには、以下の手順に従う必要があります。 私たちはそれらを調べて、あなたがそれらをT.
- Step1: 子テーマを作成する
- Step2: 子テーマに「global」という名前のフォルダーを作成する
- ステップ 3: カスタマイズ コードを使用してフィールドを追加する
- ステップ 4: 追加されたフィールド値をバックエンドに保存します。
詳細に入りましょう。
ステップ 1: 子テーマを作成する
テーマのファイルを調整する場合は、子テーマを作成する必要があります。 ファイルを変更している間、親テーマのデザインとコードを維持するのに役立ちます。 テーマの一部である登録フォームを変更するには、最初に子テーマを作成する必要があります。
子テーマの作成はとても簡単です。 この記事に従って、子テーマを作成できます。 WordPress リポジトリには、子テーマを作成するためのプラグインもあります。
ステップ 2: 子テーマに「Global」という名前のフォルダーを作成する
次に、Dokan という名前のフォルダーを子テーマに作成する必要があります。 次に、Dokan フォルダーに「 global 」という名前の別のフォルダーを作成する必要があります。 次に、 wp-content/plugins/dokan-lite/templates/globalフォルダーから Seller-registration-form.php ファイルをコピーし、以下のように子テーマに貼り付けます。
ステップ 3: カスタマイズ コードを使用して追加フィールドを作成する
登録ファイルにカスタマイズ コードを追加する必要があります。 子テーマ フォルダーからSeller-registration-form.phpファイルを開き、以下のコードをコピーします。
<p class="form-row form-group form-row-wide"> <label for="shop-phone"><?php esc_html_e( 'GST Number', 'dokan-custom-codes' ); ?><span class="required">*</span></label> <input type="text" class="input-text form-control" name="gst_id" value="<?php if ( ! empty( $postdata['gst_id'] ) ) echo esc_attr($postdata['gst_id']); ?>" required="required" /> </p>
上記のコードは、ベンダー登録フォームに GST 番号フィールドを追加します。 下に新しく追加されたフィールドが表示されます。
ステップ 4: 追加されたフィールド値をバックエンドに保存する
新しいフィールドを追加しましたが、そのデータを使用するには、そのフィールドの内容を保存する必要があります。 データをバックエンドに保存してバックエンド ユーザー プロファイルに表示するには、 functions.phpファイルを開いて以下のコードをコピーします。
function dokan_custom_seller_registration_required_fields( $required_fields ) { $required_fields['gst_id'] = __( 'Please enter your GST number', 'dokan-custom' ); return $required_fields; }; add_filter( 'dokan_seller_registration_required_fields', 'dokan_custom_seller_registration_required_fields' ); function dokan_custom_new_seller_created( $vendor_id, $dokan_settings ) { $post_data = wp_unslash( $_POST ); $gst_id = $post_data['gst_id']; update_user_meta( $vendor_id, 'dokan_custom_gst_id', $gst_id ); } add_action( 'dokan_new_seller_created', 'dokan_custom_new_seller_created', 10, 2 ); /* Add custom profile fields (call in theme : echo $curauth->fieldname;) */ add_action( 'dokan_seller_meta_fields', 'my_show_extra_profile_fields' ); function my_show_extra_profile_fields( $user ) { ?> <?php if ( ! current_user_can( 'manage_woocommerce' ) ) { return; } if ( ! user_can( $user, 'dokandar' ) ) { return; } $gst = get_user_meta( $user->ID, 'dokan_custom_gst_id', true ); ?> <tr> <th><?php esc_html_e( 'Gst Number', 'dokan-lite' ); ?></th> <td> <input type="text" name="gst_id" class="regular-text" value="<?php echo esc_attr($gst); ?>"/> </td> </tr> <?php } add_action( 'personal_options_update', 'my_save_extra_profile_fields' ); add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' ); function my_save_extra_profile_fields( $user_id ) { if ( ! current_user_can( 'manage_woocommerce' ) ) { return; } update_usermeta( $user_id, 'dokan_custom_gst_id', $_POST['gst_id'] ); }
フィールド名またはメタ キーを変更する場合は、すべての場所に応じてメタ キーまたはフィールド名を変更する必要があります。 このコードでは、フィールドのメタ キーをdokan_custom_gst_idとして使用し、フィールド ID をgst_idとして使用しています。
上記のコードを保存すると、ベンダーの GST 番号をユーザー プロファイルで使用できるようになります。
これは、デフォルトのベンダー登録フォームにフィールドを追加する方法です。
続きを読む: Dokan の素晴らしいカスタマイズ可能な登録フォームを作成します。
それでは、マーケットプレイスで別のベンダー登録フォームを作成する方法を見てみましょう。
ベンダー用に別のベンダー登録フォームを作成する
マーケットプレイスの所有者は、「WooCommerce マイ アカウント」ページを使用して、顧客とベンダーの両方を登録します。 ただし、一部のマーケットプレイスの所有者から、1 つのページに表示するのではなく、ベンダーを個別に登録してほしいというリクエストがありました。
顧客がベンダーとして登録していないときに、ベンダー登録フォームのフィールドの負荷で顧客に負担をかけたくないためです。
Dokan で別の登録フォームを作成するには、コーディングを使用する必要はありません。 Dokan登録フォームのショートコードを使用し、そのショートコードを新しいページに配置して、個別の登録ページを作成できます。
より明確な画像を取得する手順を見てみましょう。
- 新しいページを作成し、「ベンダー登録」というタイトルを付けます
- Dokan ショートコードを使用して登録フォームを作成する
- ページを公開します。
ステップ 1: 新しいページを作成する
登録用に別のページを作成しようとしているため、新しいページを作成する必要があります。 ページを作成するには、 WP-Admin-> Pages-> Add Newに移動します。 ページのタイトルを「ベンダー登録」にします。
ステップ 2: Dokan ショートコードを追加する
Dokan は、ベンダー ダッシュボード、ストア リスト、ベストセラー製品などを作成するために使用できる一連のショートコードを提供します。「+」アイコンをクリックして、「Dokan ショートコード」と入力します。 次に、すべての Dokan ショートコードが美しくリストされていることがわかります。
「 Vendor Registration Form 」ショートコードを選択してページに追加します。
ステップ 3: 新しいベンダー登録ページを公開する
ショートコードを追加したら、ページを保存します。 これで完了です。 ページを公開するだけで、メニューにベンダー登録ページが表示されます。
このようにして、あなたの個人登録ページが作成されます。
注:マイ アカウントページからベンダー登録を無効にするには、 WP-Admin –> Settings –> Generalから [Anyone Can Register] オプションのチェックを外してください。
以上が、マルチベンダー マーケットプレイスの登録フォームをカスタマイズする方法です。 しかし、待ってください、この記事はまだ終わっていません。 お見せする別のトリックがあります。
あなたはこのビデオをチェックアウトすることができます,
おまけ: 単一の製品ページにベンダー名を表示する方法
Web サイトの人気を高めるために、マーケットプレイスでベンダーを宣伝するにはさまざまな方法があります。 それらの 1 つは、単一の製品ページにベンダーの名前を表示することです。 単一の製品ページにベンダーの住所、電子メールなどを表示する「ベンダー情報」というタブがあります。
顧客が元の所有者の名前を知ることができるように、そのタブにベンダーの名前を追加できます。 子テーマ関数を開きます。 php ファイルに次のコードを追加します。
add_action( 'woocommerce_single_product_summary', 'seller_name_on_single', 11 ); function seller_name_on_single(){ global $product; $seller = get_post_field( 'post_author', $product->get_id()); $author = get_user_by( 'id', $seller ); $store_info = dokan_get_store_info( $author->ID ); if ( !empty( $store_info['store_name'] ) ) { ?> <span class="details"> <?php printf( 'Sold by: <a href="%s">%s</a>', dokan_get_store_url( $author->ID ), $author->display_name ); ?> </span> <?php }
以下の画像のように、単一の製品ページに販売者タグが表示されます-
ただし、ベンダー名の代わりにストア名を表示する場合は、次のコードを使用します。
/*Show store name on single product*/ add_action( 'woocommerce_single_product_summary', 'seller_name_on_single', 12 ); function seller_name_on_single(){ global $product; $seller = get_post_field( 'post_author', $product->get_id()); $author = get_user_by( 'id', $seller ); $vendor = dokan()->vendor->get( $seller ); $store_info = dokan_get_store_info( $author->ID ); if ( !empty( $store_info['store_name'] ) ) { ?> <span class="details"> <?php printf( 'Sold by: <a href="%s">%s</a>', $vendor->get_shop_url(), $vendor->get_shop_name() ); ?> </span> <?php }
Elementor を使用して単一の製品ページを作成した場合は、以下のコードを使用する必要があります。
/** * Show sold by on single product page made with Elementor * Add the shortcode [dokan_vendor_name] through a short-code widget on single product page */ add_shortcode( 'dokan_vendor_name', 'dokan_store_name_shortcode' ); function dokan_store_name_shortcode() { $seller = get_post_field( 'post_author' ); $author = get_user_by( 'id', $seller ); $vendor = dokan()->vendor->get( $seller ); $store_info = dokan_get_store_info( $author->ID ); if ( !empty( $store_info['store_name'] ) ) { ?> <span class="details"> <?php printf( 'Sold by: <a href="%s">%s</a>', $vendor->get_shop_url(), $vendor->get_shop_name() ); ?> </span> <?php
子テーマの functions.php にコードを追加し、ショートコード[dokan_vendor_name] を単一の製品ページのショートコード ウィジェットから使用するだけです。
これは、単一の製品ページにベンダーまたはストアの名前を表示する方法です。 これで、WordPress 登録プラグインにフィールドを追加する方法が明確になりました。
Dokan ベンダー登録フォームをカスタマイズして、マーケットプレイスでより多くのベンダーを招待
これで、チュートリアルの投稿は終わりです。うまくいけば、方法がわかったはずです-
- ベンダー登録フォームにフィールドを追加する
- ベンダー用の別の登録ページを作成する
- 単一の製品ページに元のベンダーの名前を表示します。
WordPress はオープンソース ソフトウェアであるため、カスタマイズの余地がたくさんあります。 カードを正しくプレイすれば、ウェブサイトから望ましい結果を引き出すことができます。 そして、あなたがマーケットプレイスの所有者である場合、上記のカスタマイズはあなたの目的に役立ちます.
WordPress 登録プラグインに追加のフィールドを追加するために、さらにクエリはありますか? 問題が発生した場合は、コメント セクションで連絡することを忘れないでください。