کدی که دادم تمامی فیلدهای صفحه سفارش رو برای کاربر پاکسازی میکنه و مانع لود شدن مقادیر تکمیل شده از قبل توسط کاربر میشه. حالا این وسط ممکنه افزونه یا کدی در قالبتون وجود داشته باشه که با کارایی کدی که من دادم تداخل ایجاد کنه و مانع این پاکسازی بشه.
این کد رو هم پایین همون کد قبلی استفاده کنید تا اولویت کدهای حذف اطلاعات رو افزایش بدید:
add_filter('woocommerce_checkout_get_value','__return_empty_string',10);
یا بجای اون کد قبلی می تونید از این کد هم استفاده کنید:
add_filter('woocommerce_checkout_fields', 'default_values_checkout_fields');
function default_values_checkout_fields($fields) {
if (!is_user_logged_in()) {
unset($fields['billing_city']);
unset($fields['billing_first_name']);
unset($fields['billing_last_name']);
unset($fields['billing_company']);
unset($fields['billing_address_1']);
unset($fields['billing_address_2']);
unset($fields['billing_city']);
unset($fields['billing_postcode']);
unset($fields['billing_country']);
unset($fields['billing_state']);
unset($fields['billing_email']);
unset($fields['billing_phone']);
unset($fields['shipping_city']);
unset($fields['shipping_first_name']);
unset($fields['shipping_last_name']);
unset($fields['shipping_company']);
unset($fields['shipping_address_1']);
unset($fields['shipping_address_2']);
unset($fields['shipping_postcode']);
unset($fields['shipping_country']);
unset($fields['shipping_state']);
return $fields;
}
}
توی کد بالا هر فیلد بطور مشخص لیست شده که این فیلدها مقادیر پیش فرض نخواهند داشت. اگه قصد دارید هر فیلد از مقادیر قبلی کاربر استفاده کنه، خط مربوط به اون فیلد رو حذف کنید