اضافه کردن فیلدهای اضافی به افزونه EDD، یکی از بزرگترین و محبوب ترین پلاگین های خرید در اضای پرداخت هست و شامل فیلد و امکانات زیادی می باشد با سئوها همراه باشید تا باهم چند مورد رو بیان کنیم.
قرار هستش که کدهای اضافه کردن فیدهای دلخواه مثل شماره موبایل ، آدرس و … به قسمت پرداخت افزونه EDD وردپرس رو معرفی کنیم.
اضافه کردن فیلدهای اضافی به افزونه Easy Digital Downloads
افزونه EDD یکی از پرکاربرد ترین افزونه های فروش فایل هستش و این باعث افتخار ماست که درگاه بانک ملت برای EDD رو داخل مخزن وردپرس قرار دادیم تا به رایگان بتونید ازش برای فروش محصولات خودتون استفاده کنید .
شاید شما نیاز داشته باشید علاوه بر ۳ فیلد “نام” ، “نام خانوادگی” و “ایمیل” اطلاعات دیگری مثل شماره موبایل ، آدرس ، کدپستی و … رو به فیلدهاتون اضافه کنید.به عنوان مثال در آموزش زیر قرار هستش که …
- فیلد شماره موبایل رو به قسمت اطلاعات پرداخت EDD اضافه کنیم
- فیلد شماره موبایل رو الزامی (required) کنیم
- پیام خطایی در صورت تکمیل نشدن این فیلد نمایش داده بشود
- اطلاعات این فیلد اضافی در پنل وردپرس (payment meta) ذحیره بشود
- در قسمت جزئیات خرید این اطلاعات نمایش داده بشود
- اضافه کردن شورت کد {phone} برای ارسال ایمیل اطلاع رسانی به مدیر و خریدار محصول
برای این کار کدهای زیر رو به انتهای فایل functions.php قالب خودتون اضافه کنید .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
<?php /** * Display phone number field at checkout * Add more here if you need to */ function sumobi_edd_display_checkout_fields() { ?> <p id= "edd-phone-wrap" > <label class = "edd-label" for = "edd-phone" > <?php echo 'Contact Number' ; ?> </label> <span class = "edd-description" > <?php echo 'Enter your phone number so we can get in touch with you.' ; ?> </span> <input class = "edd-input" type= "text" name= "edd_phone" id= "edd-phone" placeholder= "<?php echo 'Contact Number'; ?>" /> </p> <?php } add_action( 'edd_purchase_form_user_info' , 'sumobi_edd_display_checkout_fields' ); /** * Make phone number required * Add more required fields here if you need to */ function sumobi_edd_required_checkout_fields( $required_fields ) { $required_fields = array ( 'edd_phone' => array ( 'error_id' => 'invalid_phone' , 'error_message' => 'Please enter a valid Phone number' ), ); return $required_fields ; } add_filter( 'edd_purchase_form_required_fields' , 'sumobi_edd_required_checkout_fields' ); /** * Set error if phone number field is empty * You can do additional error checking here if required */ function sumobi_edd_validate_checkout_fields( $valid_data , $data ) { if ( empty ( $data [ 'edd_phone' ] ) ) { edd_set_error( 'invalid_phone' , 'Please enter your phone number.' ); } } add_action( 'edd_checkout_error_checks' , 'sumobi_edd_validate_checkout_fields' , 10, 2 ); /** * Store the custom field data into EDD's payment meta */ function sumobi_edd_store_custom_fields( $payment_meta ) { $payment_meta [ 'phone' ] = isset( $_POST [ 'edd_phone' ] ) ? sanitize_text_field( $_POST [ 'edd_phone' ] ) : '' ; return $payment_meta ; } add_filter( 'edd_payment_meta' , 'sumobi_edd_store_custom_fields' ); /** * Add the phone number to the "View Order Details" page */ function sumobi_edd_view_order_details( $payment_meta , $user_info ) { $phone = isset( $payment_meta [ 'phone' ] ) ? $payment_meta [ 'phone' ] : 'none' ; ?> <div class = "column-container" > <div class = "column" > <strong><?php echo 'Phone: ' ; ?></strong> <?php echo $phone ; ?> </div> </div> <?php } add_action( 'edd_payment_personal_details_list' , 'sumobi_edd_view_order_details' , 10, 2 ); /** * Add a {phone} tag for use in either the purchase receipt email or admin notification emails */ edd_add_email_tag( 'phone' , 'Customer\'s phone number' , 'sumobi_edd_email_tag_phone' ); /** * The {phone} email tag */ function sumobi_edd_email_tag_phone( $payment_id ) { $payment_data = edd_get_payment_meta( $payment_id ); return $payment_data [ 'phone' ]; } ?> |
به نکات زیر دقت کنید
- قسمت های مثل ‘Enter your phone number so we can get in touch with you’ یا ‘Please enter a valid Phone number’ یا ‘Contact Number’ رو با عبارت های فارسی خودتون می تونید جایگزین کنید.
- همچنین این یک مثال بود برای افزودن فقط یک فیلد ، دقیقا هر قسمت از کد رو با کمی آشنایی به php می تونید کپی کنید و بجای یک فیلد چندتا قیلد اضافه کنید.
- ۲ تا قسمت هستش که یکی فیلد رو الزامی می کنه و یکی باعث خطا نمایش داده بشه ، اونها رو بهش دقت کنید ، اگر می خواهید فیلد الزامی نباشه اونجا رو نباید به فیلدهاتون اضافه کنید.
- به قسمت پیکربندی افزونه رفته و در قسمت ایمیل می تونید از شورت کد {phone} استفاده کنید.