رفتن به مطلب

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


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

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

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

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

Pic-edd-remove-field.png

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

لینک به ارسال

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

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

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
لینک به ارسال

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

سلام

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

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

لینک به ارسال

سلام

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

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

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

  • امتیاز 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
لینک به ارسال
  • 11 ماه بعد...
در در 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()  تابع رو ؟

لینک به ارسال
  • 3 ماه بعد...
  • 2 سال بعد...
در در 7/19/2015 at 18:35، a_mogheimi گفته است :

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

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

 

 

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
}

 

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

در در 7/3/2016 at 16:19، smem گفته است :

سلام و درود

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

 

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

چطور میشه فقط نام خانوادگی رو حذف کرد و نام بمونه؟

لینک به ارسال

دوستان لطفا راهنمایی میکنید؟

سایت من https://kaffeketab.ir وقتی محصول رو خرید میزنی و به صفحه پردااخت وصل میشه، اونجا سه باکس داره

اولی ایمیل

دومی نام

سومی نام خانوادگی

 

من میخوام دومی بشه نام و نام خانوادگی

و سومی بشه شماره تلفن

 

میشه راهنمایی کنید؟

لینک به ارسال
  • 11 ماه بعد...

میدونم تاپیک قدیمیه ولی برای افرادی مثل خودم که در آینده ممکنه نیاز پیدا کنن مینویسم

تمام تغییرات تو آدرس زیر هست

وارد پوشه پلاگین EDD بشید

به این آدرس برید >> includes\checkout\template.php


برای حذف نام خانوادگی متن زیر رو حذف کنید

<span class="edd-description" id="edd-last-description">
  	<?php esc_html_e( 'We will use this as well to personalize your account experience.', 'easy-digital-downloads' ); ?>
</span>
<input class="edd_input_required"<?php if( edd_field_is_required( 'edd_last' ) ) { echo ' required'; } ?>" 
	type="text" name="edd_last" id="edd-last" placeholder="<?php esc_html_e( 'Last Name', 'easy-digital-downloads' ); ?>"
	value="<?php echo esc_attr( $customer['last_name'] ); ?>"<?php if( edd_field_is_required( 'edd_last' ) ) {  echo ' required '; } ?>
	aria-describedby="edd-last-description"/>

 

  • پسندیدن 1
لینک به ارسال
  • yazdaniwp این مورد را قفل کرد موضوع
مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...