رفتن به مطلب

چگونه به صفحه تسویه حساب edd فیلد جدید اضافه کنیم؟


reza_yki

پست های پیشنهاد شده

سلام خدمت همه دوستان من می خوام تو افزونه edd جایی که کاربر اطلاعات خودش رو وارد می کنه یه فیلد جدید مثل (وب سایت) طرف رو هم بگیرم چی کار کنم

مرسی از همه

لینک به ارسال

سلام خسته نباشید

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


<?php
/**
* Display web address field at checkout
* Add more here if you need to
*/
function sumobi_edd_display_checkout_fields() {
?>
<p id="edd-web-wrap">
<label class="edd-label" for="edd-web">
<?php echo 'آدرس وبسایت'; ?>
</label>
<span class="edd-description">
<?php echo 'آدرس وبسایت خود را وارد کنید'; ?>
</span>
<input class="edd-input" type="text" name="edd_web" id="edd-web" placeholder="<?php echo 'آدرس وبسایت'; ?>" />
</p>
<?php
}
add_action( 'edd_purchase_form_user_info', 'sumobi_edd_display_checkout_fields' );

/**
* Make web address required
* Add more required fields here if you need to
*/
function sumobi_edd_required_checkout_fields( $required_fields ) {
$required_fields = array(
'edd_web' => array(
'error_id' => 'invalid_web',
'error_message' => 'لطفا آدرس صحیح را وارد کنید'
),
);
return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'sumobi_edd_required_checkout_fields' );

/**
* Set error if web address 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_web'] ) ) {
edd_set_error( 'invalid_web', 'لطفا آدرس وبسایت خود را وارد نمایید' );
}
}
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['web'] = isset( $_POST['edd_web'] ) ? sanitize_text_field( $_POST['edd_web'] ) : '';

return $payment_meta;
}
add_filter( 'edd_payment_meta', 'sumobi_edd_store_custom_fields');
/**
* Add the web address to the "View Order Details" page
*/
function sumobi_edd_view_order_details( $payment_meta, $user_info ) {
$phone = isset( $payment_meta['web'] ) ? $payment_meta['web'] : 'none';
?>
<div class="column-container">
<div class="column">
<strong><?php echo 'آدرس وبسایت '; ?></strong>
<?php echo $web; ?>
</div>
</div>
<?php
}
add_action( 'edd_payment_personal_details_list', 'sumobi_edd_view_order_details', 10, 2 );
/**
* Add a {web address} tag for use in either the purchase receipt email or admin notification emails
*/
edd_add_email_tag( 'web', 'Customer\'s web address', 'sumobi_edd_email_tag_web' );
/**
* The {web} email tag
*/
function sumobi_edd_email_tag_web( $payment_id ) {
$payment_data = edd_get_payment_meta( $payment_id );
return $payment_data['web'];
}
?>

اگر سوال یا مشکلی بود در خدمتم.

موفق باشید

لینک به ارسال

سلام خسته نباشید

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


<?php
/**
* Display web address field at checkout
* Add more here if you need to
*/
function sumobi_edd_display_checkout_fields() {
?>
<p id="edd-web-wrap">
<label class="edd-label" for="edd-web">
<?php echo 'آدرس وبسایت'; ?>
</label>
<span class="edd-description">
<?php echo 'آدرس وبسایت خود را وارد کنید'; ?>
</span>
<input class="edd-input" type="text" name="edd_web" id="edd-web" placeholder="<?php echo 'آدرس وبسایت'; ?>" />
</p>
<?php
}
add_action( 'edd_purchase_form_user_info', 'sumobi_edd_display_checkout_fields' );

/**
* Make web address required
* Add more required fields here if you need to
*/
function sumobi_edd_required_checkout_fields( $required_fields ) {
$required_fields = array(
'edd_web' => array(
'error_id' => 'invalid_web',
'error_message' => 'لطفا آدرس صحیح را وارد کنید'
),
);
return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'sumobi_edd_required_checkout_fields' );

/**
* Set error if web address 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_web'] ) ) {
edd_set_error( 'invalid_web', 'لطفا آدرس وبسایت خود را وارد نمایید' );
}
}
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['web'] = isset( $_POST['edd_web'] ) ? sanitize_text_field( $_POST['edd_web'] ) : '';

return $payment_meta;
}
add_filter( 'edd_payment_meta', 'sumobi_edd_store_custom_fields');
/**
* Add the web address to the "View Order Details" page
*/
function sumobi_edd_view_order_details( $payment_meta, $user_info ) {
$phone = isset( $payment_meta['web'] ) ? $payment_meta['web'] : 'none';
?>
<div class="column-container">
<div class="column">
<strong><?php echo 'آدرس وبسایت '; ?></strong>
<?php echo $web; ?>
</div>
</div>
<?php
}
add_action( 'edd_payment_personal_details_list', 'sumobi_edd_view_order_details', 10, 2 );
/**
* Add a {web address} tag for use in either the purchase receipt email or admin notification emails
*/
edd_add_email_tag( 'web', 'Customer\'s web address', 'sumobi_edd_email_tag_web' );
/**
* The {web} email tag
*/
function sumobi_edd_email_tag_web( $payment_id ) {
$payment_data = edd_get_payment_meta( $payment_id );
return $payment_data['web'];
}
?>

اگر سوال یا مشکلی بود در خدمتم.

موفق باشید

خیلی ممنون از کدی که قرار دادید

ولی 2 تا مشکل دارم با هاش:

1. علامت ستاره که برای فیلد های الزامی بود وقتی کد رو قرار میدم دیگه نشون نمی ده.

2. این اطلاعاتی که ما اینجا وب سایت هست اصلا کجا نشون داده می شه؟

لینک به ارسال

چیزی متوجه نشدم ایا باید تو فایل فانکشن این کد رو قرار بدم تغییری نیاز نداره؟

ویرایش شده توسط reza_yki
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...