หมวดไฟฟ้า/อิเล็กทรอนิกส์/คอมพิวเตอร์ => WordPress => Programming => ห้องคอมพิวเตอร์ => นานาสาระ WP => ข้อความที่เริ่มโดย: Prog Man ที่ 07 ตุลาคม 2569, 09:37:37
-
การลบฟิลด์บางฟิลด์ออกจากหน้า Check Out
วิธีการแก้ปัญหานี้ไม่ยากเลยครับ โดยวิธีการลบออก เราเรียกว่าการ unset ครับ
ให้เราเปิดไฟล์ functions.php ในธีมของเราขึ้นมาครับ
https://gist.github.com/jgalea/5884548
แล้วให้เราใส่คำสั่งด้านบนนี้ลงไปครับ อยากจะลบอันไหนก็ unset ออกให้หมด (โค้ดทั้งหมดนี้คือลบทุกฟิลด์ครับ อยากจะเก็บตัวไหนไว้ ก็ลบบรรทัดนั้นออกนะครับ) ยกตัวอย่าง ผมอยากลบ company, address1 ,address 2 ออก ผมก็ใส่เฉพาะโค้ดนี้ครับ
<?php
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
return $fields;
}
?>
นี่แหละครับ วิธีการแก้ไข ง่ายมากๆเลยครับ ยังไงก็ลองนำไปใช้ดูนะครับ
-ขอบคุณเจ้าของกระทู้ ข้อมูลมาจากล่างนี้ครับ
https://buksohn.com/remove-fields-from-check-out-page-of-woocommerce.html
-
ลงนำโค๊ดได้บนไปใช้แล้ว ไม่ได้ผล
เลยถาม AI ต่อว่าเป็นเพราะอะไร แจ้งมาแบบนี้
ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง สมัครสมาชิก หรือ ลงชื่อเข้าระบบ
(https://postimg.cc/CBjznCDD)
โค๊ดเวอร์ชั่นใหม่ จะเป็นแบบนี้
// ซ่อนและยกเลิกการบังคับกรอกที่อยู่สำหรับระบบ Checkout Block (ทำงานเมื่อสินค้าในตะกร้าเป็นสินค้าดิจิทัล)
add_filter( 'woocommerce_get_country_locale', 'custom_remove_checkout_blocks_fields', 9999 );
function custom_remove_checkout_blocks_fields( $locale ) {
// ตรวจสอบว่าในตะกร้าเป็นสินค้า Virtual/Downloadable ทั้งหมด (ไม่ต้องจัดส่ง)
if ( WC()->cart && ! WC()->cart->needs_shipping() ) {
foreach ( $locale as $country => $fields ) {
// สั่งให้ฟิลด์เหล่านี้ไม่ต้องกรอก (required = false) และซ่อนออกไป (hidden = true)
$fields_to_hide = array('address_1', 'address_2', 'city', 'state', 'postcode');
foreach ( $fields_to_hide as $field ) {
if ( isset( $locale[$country][$field] ) ) {
$locale[$country][$field]['required'] = false;
$locale[$country][$field]['hidden'] = true;
}
}
}
}
return $locale;
}
-
https://auto.carbabyz.com/wp-admin/admin.php?page=checkout_form_designer&tab=fields&c_type=classic