abolfazln

حذف و اضافه ی فیلد های صفحه پرداخت

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

سلام . عید همه دوستان مبارک

چجوری میتونم فیلد نام خانوادگی رو از صفحه پرداخت حذف کنم ؟

درست چیزی ماننند تصویر زیر:

Pic-edd-remove-field.png

و چجوری میتونم یک فیلد دیگه برای مثال شماره موبایل رو اضافه کنم؟

0

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


لینک به پست

. پیشنهاد میکنم از هوک استفاده کنید.

تابع زیر رو بررسی کنید

edd_user_info_fields()

بررسی کنید اکشن های زیادی داره که فیلدهاتون رو کجا قرار بدید . در صورتی که میخواهید فیلدهای جاری رو کم کنید میتونید این اکشن رو حذف کنید و اکشن دلخواه خودتون رو بنویسید.

4

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


لینک به پست

ارسال شده در (ویرایش شده)

دوست عزیز این بنده خدا میخواد فیلد های نام خانوادگی رو از صفحه حذف کنه این چه ارتباطی به تغییر فیلدهای آدرس داره ؟

فقط باید اکنش تابعی که خدمتتون عرض کردم رو حذف کنید و تابع خودتون رو بنویسید و تمام.


remove_action( 'edd_purchase_form_after_user_info', 'edd_user_info_fields' );
add_action( 'edd_purchase_form_after_user_info', 'wpcar_edd_user_info_fields' );
/**
* Shows the User Info fields in the Personal Info box, more fields can be added
* via the hooks provided.
*
* @since 1.3.3
* @return void
*/
function wpcar_edd_user_info_fields() {
$customer = EDD()->session->get( 'customer' );
$customer = wp_parse_args( $customer, array( 'first_name' => '', 'last_name' => '', 'email' => '' ) );
if( is_user_logged_in() ) {
$user_data = get_userdata( get_current_user_id() );
foreach( $customer as $key => $field ) {
if ( 'email' == $key && empty( $field ) ) {
$customer[ $key ] = $user_data->user_email;
} elseif ( empty( $field ) ) {
$customer[ $key ] = $user_data->$key;
}
}
}
$customer = array_map( 'sanitize_text_field', $customer );
?>
<fieldset id="edd_checkout_user_info">
<span><legend><?php echo apply_filters( 'edd_checkout_personal_info_text', __( 'Personal Info', 'edd' ) ); ?></legend></span>
<?php do_action( 'edd_purchase_form_before_email' ); ?>
<p id="edd-email-wrap">
<label class="edd-label" for="edd-email">
<?php _e( 'Email Address', 'edd' ); ?>
<?php if( edd_field_is_required( 'edd_email' ) ) { ?>
<span class="edd-required-indicator">*</span>
<?php } ?>
</label>
<span class="edd-description"><?php _e( 'We will send the purchase receipt to this address.', 'edd' ); ?></span>
<input class="edd-input required" type="email" name="edd_email" placeholder="<?php _e( 'Email address', 'edd' ); ?>" id="edd-email" value="<?php echo esc_attr( $customer['email'] ); ?>"/>
</p>
<?php do_action( 'edd_purchase_form_after_email' ); ?>
<?php do_action( 'edd_purchase_form_user_info' ); ?>
<?php do_action( 'edd_purchase_form_user_info_fields' ); ?>
</fieldset>
<?php
}

اگه مشکل داشت بگید بررسی کنم

ویرایش شده در توسط a_mogheimi
3

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


لینک به پست

اگه مشکل داشت بگید بررسی کنم

سلام

یک دنیا سپاس :)

بررسی میکنم اگر مشکلی داشتم همینجا مطرح میکنم

0

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


لینک به پست

سلام

یک دنیا سپاس :)

بررسی میکنم اگر مشکلی داشتم همینجا مطرح میکنم

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

3

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


لینک به پست

دوست عزیز این بنده خدا میخواد فیلد های نام خانوادگی رو از صفحه حذف کنه این چه ارتباطی به تغییر فیلدهای آدرس داره ؟

فقط باید اکنش تابعی که خدمتتون عرض کردم رو حذف کنید و تابع خودتون رو بنویسید و تمام.


remove_action( 'edd_purchase_form_after_user_info', 'edd_user_info_fields' );
add_action( 'edd_purchase_form_after_user_info', 'wpcar_edd_user_info_fields' );
/**
* Shows the User Info fields in the Personal Info box, more fields can be added
* via the hooks provided.
*
* @since 1.3.3
* @return void
*/
function wpcar_edd_user_info_fields() {
$customer = EDD()->session->get( 'customer' );
$customer = wp_parse_args( $customer, array( 'first_name' => '', 'last_name' => '', 'email' => '' ) );
if( is_user_logged_in() ) {
$user_data = get_userdata( get_current_user_id() );
foreach( $customer as $key => $field ) {
if ( 'email' == $key && empty( $field ) ) {
$customer[ $key ] = $user_data->user_email;
} elseif ( empty( $field ) ) {
$customer[ $key ] = $user_data->$key;
}
}
}
$customer = array_map( 'sanitize_text_field', $customer );
?>
<fieldset id="edd_checkout_user_info">
<span><legend><?php echo apply_filters( 'edd_checkout_personal_info_text', __( 'Personal Info', 'edd' ) ); ?></legend></span>
<?php do_action( 'edd_purchase_form_before_email' ); ?>
<p id="edd-email-wrap">
<label class="edd-label" for="edd-email">
<?php _e( 'Email Address', 'edd' ); ?>
<?php if( edd_field_is_required( 'edd_email' ) ) { ?>
<span class="edd-required-indicator">*</span>
<?php } ?>
</label>
<span class="edd-description"><?php _e( 'We will send the purchase receipt to this address.', 'edd' ); ?></span>
<input class="edd-input required" type="email" name="edd_email" placeholder="<?php _e( 'Email address', 'edd' ); ?>" id="edd-email" value="<?php echo esc_attr( $customer['email'] ); ?>"/>
</p>
<?php do_action( 'edd_purchase_form_after_email' ); ?>
<?php do_action( 'edd_purchase_form_user_info' ); ?>
<?php do_action( 'edd_purchase_form_user_info_fields' ); ?>
</fieldset>
<?php
}

اگه مشکل داشت بگید بررسی کنم

ممنون . من استفاده کردم و فیلم هارو حذف کرد . ولی هنگام وارد کردن ایمیل و زدن گزینه پرداخت اخطار میده که "نام " را وارد کنید

1

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


لینک به پست

اینم حل مشکل فیلدهای ضروری به هر صورتی که دوست دارید فیلدهارو تنظیم کنید :


function wpcar_edd_purchase_form_required_fields($required_fields) {
$required_fields = array();
$required_fields = array(
'edd_email' => array(
'error_id' => 'invalid_email',
'error_message' => __( 'Please enter a valid email address', 'edd' )
)
);
// Let payment gateways and other extensions determine if address fields should be required
$require_address = apply_filters( 'edd_require_billing_address', edd_use_taxes() && edd_get_cart_total() );
if ( $require_address ) {
$required_fields['card_zip'] = array(
'error_id' => 'invalid_zip_code',
'error_message' => __( 'Please enter your zip / postal code', 'edd' )
);
$required_fields['card_city'] = array(
'error_id' => 'invalid_city',
'error_message' => __( 'Please enter your billing city', 'edd' )
);
$required_fields['billing_country'] = array(
'error_id' => 'invalid_country',
'error_message' => __( 'Please select your billing country', 'edd' )
);
$required_fields['card_state'] = array(
'error_id' => 'invalid_state',
'error_message' => __( 'Please enter billing state / province', 'edd' )
);
}
return apply_filters( 'wpcar_edd_purchase_form_required_fields', $required_fields );
}
add_filter('edd_purchase_form_required_fields','wpcar_edd_purchase_form_required_fields');

2

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


لینک به پست
در در 7/24/2015 at 00:26، a_mogheimi گفته است :

اینم حل مشکل فیلدهای ضروری به هر صورتی که دوست دارید فیلدهارو تنظیم کنید :

 

 

function wpcar_edd_purchase_form_required_fields($required_fields) {
$required_fields = array();
$required_fields = array(
  'edd_email' => array(
   'error_id' => 'invalid_email',
   'error_message' => __( 'Please enter a valid email address', 'edd' )
  )
);
// Let payment gateways and other extensions determine if address fields should be required
$require_address = apply_filters( 'edd_require_billing_address', edd_use_taxes() && edd_get_cart_total() );
if ( $require_address ) {
  $required_fields['card_zip'] = array(
   'error_id' => 'invalid_zip_code',
   'error_message' => __( 'Please enter your zip / postal code', 'edd' )
  );
  $required_fields['card_city'] = array(
   'error_id' => 'invalid_city',
   'error_message' => __( 'Please enter your billing city', 'edd' )
  );
  $required_fields['billing_country'] = array(
   'error_id' => 'invalid_country',
   'error_message' => __( 'Please select your billing country', 'edd' )
  );
  $required_fields['card_state'] = array(
   'error_id' => 'invalid_state',
   'error_message' => __( 'Please enter billing state / province', 'edd' )
  );
}
return apply_filters( 'wpcar_edd_purchase_form_required_fields', $required_fields );
}
add_filter('edd_purchase_form_required_fields','wpcar_edd_purchase_form_required_fields');

 

سلام و درود

این کد رو کجای قالب باید اضافه کنم ؟

 

اون تابعی رو که گفتید حذف کنم رو پیدا نمی کنم کجا باید پیدا کنم این  edd_user_info_fields()  تابع رو ؟

0

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


لینک به پست

سلام من فیلد هارو حذف کردم ولی میخام نام خانوادگی هم بمونه و حذف نشه میشه کمک کنید.

0

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


لینک به پست

در ضمن مشکا ایمیل نا معتبر با غیر الزامی شدن ایمیل نشون داده میشه چیکار باید کرد؟

 

0

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


لینک به پست

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

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

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

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


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

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

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


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