رفتن به مطلب
abolfazln

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

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

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

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

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

Pic-edd-remove-field.png

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

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


لینک به ارسال

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

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

edd_user_info_fields()

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

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


لینک به ارسال

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


لینک به ارسال

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

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


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

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


لینک به ارسال

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

سلام

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

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

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


لینک به ارسال

سلام

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

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

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

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


لینک به ارسال

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

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


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
}

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

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

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


لینک به ارسال

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


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');

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


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

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


لینک به ارسال
در در 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 وقتی محصول رو خرید میزنی و به صفحه پردااخت وصل میشه، اونجا سه باکس داره

اولی ایمیل

دومی نام

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

 

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

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

 

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

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


لینک به ارسال

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

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

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

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

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

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

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

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


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