WooCommerce Ödeme Sayfası Alan Değerlerini Koruma
Kastabala Information Technology2022-11-16T03:23:32+03:00
Yazar
Kastabala Information Technology
WooCommerce Ödeme Sayfası Alan Değerlerini Koruma için yorumlar kapalı
Çıkış yapmış bir kullanıcı olarak WooCommerce Ödeme Sayfası’na gidin. Fatura adını, soyadını, adresini, e-postasını ve telefonunu doldurun. Fikrini değiştir ve Sepete geri dön. Ödeme Sayfası’na dönün. Fatura adı, soyadı, e-posta ve telefon (temelde adres dışında her şey) gitti!
Ama bu can sıkıcı WooCommerce kusuru birkaç satır kodla ortadan kalkmak üzere. Ödeme sayfasını yeniden yükleyin veya daha sonra geri dönün bilgileriniz orada olmaya devam edecek (tabi ki önbelleğinizi/çerezlerinizi temizlemediğiniz ve WooCommerce oturumunun süresi dolmadığı sürece).

/**
* @snippet Alan Değerlerini Koru | WooCommerce Ödeme Sayfası
* @author Kastabala IT
* @testedwith WooCommerce 6
*/
add_action( 'woocommerce_checkout_update_order_review', 'kastabalait_save_checkout_values', 9999 );
function kastabalait_save_checkout_values( $posted_data ) {
parse_str( $posted_data, $output );
WC()->session->set( 'checkout_data', $output );
}
add_filter( 'woocommerce_checkout_get_value', 'kastabalait_get_saved_checkout', 9999, 2 );
function kastabalait_get_saved_checkout( $value, $index ) {
$data = WC()->session->get( 'checkout_data' );
if ( ! $data || empty( $data[$index] ) ) return $value;
return is_bool( $data[$index] ) ? (int) $data[$index] : $data[$index];
}
add_filter( 'woocommerce_ship_to_different_address_checked', 'kastabalait_get_saved_ship_to_different' );
function kastabalait_get_saved_ship_to_different( $checked ) {
$data = WC()->session->get( 'checkout_data' );
if ( ! $data || empty( $data['ship_to_different_address'] ) ) return $checked;
return true;
}