reza_yki

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

5 پست در این موضوع قرار دارد

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

مرسی از همه

0

به اشتراک گذاری این پست


لینک به پست

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

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


<?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'];
}
?>

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

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست

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

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


<?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. این اطلاعاتی که ما اینجا وب سایت هست اصلا کجا نشون داده می شه؟

0

به اشتراک گذاری این پست


لینک به پست

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

ویرایش شده در توسط reza_yki
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری