آخرین اخبار : 

اضافه کردن فیلدهای اضافی به افزونه EDD

اضافه کردن فیلدهای اضافی به افزونه EDD، یکی از بزرگترین و محبوب ترین پلاگین های خرید در اضای پرداخت هست و شامل فیلد و امکانات زیادی می باشد با سئوها همراه باشید تا باهم چند مورد رو بیان کنیم.

افزونه EDD

قرار هستش که کدهای اضافه کردن فیدهای دلخواه مثل شماره موبایل ، آدرس و … به قسمت پرداخت افزونه EDD وردپرس رو معرفی کنیم.

اضافه کردن فیلدهای اضافی به افزونه Easy Digital Downloads

افزونه EDD یکی از پرکاربرد ترین افزونه های فروش فایل هستش و این باعث افتخار ماست که درگاه بانک ملت برای EDD رو داخل مخزن وردپرس قرار دادیم تا به رایگان بتونید ازش برای فروش محصولات خودتون استفاده کنید .

شاید شما نیاز داشته باشید علاوه بر ۳ فیلد “نام” ، “نام خانوادگی” و “ایمیل” اطلاعات دیگری مثل شماره موبایل ، آدرس ، کدپستی و … رو به فیلدهاتون اضافه کنید.به عنوان مثال در آموزش زیر قرار هستش که …

  • فیلد شماره موبایل رو به قسمت اطلاعات پرداخت EDD اضافه کنیم
  • فیلد شماره موبایل رو الزامی (required) کنیم
  • پیام خطایی در صورت تکمیل نشدن این فیلد نمایش داده بشود
  • اطلاعات این فیلد اضافی در پنل وردپرس (payment meta) ذحیره بشود
  • در قسمت جزئیات خرید این اطلاعات نمایش داده بشود
  • اضافه کردن شورت کد {phone} برای ارسال ایمیل اطلاع رسانی به مدیر و خریدار محصول

برای این کار کدهای زیر رو به انتهای فایل functions.php قالب خودتون اضافه کنید .

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
۲۴
۲۵
۲۶
۲۷
۲۸
۲۹
۳۰
۳۱
۳۲
۳۳
۳۴
۳۵
۳۶
۳۷
۳۸
۳۹
۴۰
۴۱
۴۲
۴۳
۴۴
۴۵
۴۶
۴۷
۴۸
۴۹
۵۰
۵۱
۵۲
۵۳
۵۴
۵۵
۵۶
۵۷
۵۸
۵۹
۶۰
۶۱
۶۲
۶۳
۶۴
۶۵
۶۶
۶۷
۶۸
۶۹
۷۰
۷۱
۷۲
۷۳
۷۴
۷۵
۷۶
۷۷
۷۸
۷۹
۸۰
۸۱
<?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} استفاده کنید.
[تعداد: 1    میانگین: 5/5]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *