วิธีปิดการใช้งานตัวเลือกการจัดส่งไปยังที่อยู่อื่น

เผยแพร่แล้ว: 2022-01-01

WooCommerce ปิดการใช้งานตัวเลือกการจัดส่งไปยังที่อยู่อื่น WooCommerce เป็นโซลูชันอีคอมเมิร์ซฟรีที่ยอดเยี่ยม ซึ่งมีชุดคุณสมบัติที่มีประโยชน์อย่างเหลือเชื่อ สิ่งที่โดดเด่นคือ WooCommerce ได้รับการพัฒนาโดยคำนึงถึงความสามารถในการขยาย คล้ายกับโมดูลของ WordPress

โพสต์นี้มีสองส่วนที่แตกต่างกัน ในส่วนแรก ฉันจะแบ่งปันกับคุณว่าคุณจะลบฟิลด์การจัดส่งทั้งหมดได้อย่างไร โดยบังคับให้ลูกค้าจัดส่งสินค้าตามคำสั่งซื้อไปยังที่อยู่สำหรับการเรียกเก็บเงิน ในส่วนที่สอง ฉันจะแสดงวิธีลบ 'ตัวเลือกจัดส่งไปยังที่อยู่อื่น' และบังคับให้ลูกค้าป้อนทั้งที่อยู่สำหรับการเรียกเก็บเงินและที่อยู่สำหรับจัดส่ง

ปิดใช้งานตัวเลือกการจัดส่งไปยังที่อยู่อื่น

หากร้านค้า WooCommerce ของคุณอนุญาตให้จัดส่งไปยังที่อยู่สำหรับการเรียกเก็บเงินของลูกค้าเท่านั้น ตัวเลือกเพิ่มเติมเพื่อป้อนฟิลด์การจัดส่งก็ไม่จำเป็น อย่างไรก็ตาม ตามค่าเริ่มต้น WooCommerce มีตัวเลือกในการลบฟิลด์การจัดส่งได้อย่างง่ายดาย โดยไม่ต้องใช้ข้อมูลโค้ด

อย่างไรก็ตาม ข้อกำหนดเบื้องต้นมีดังนี้:

  • WordPress (สมมติว่าคุณติดตั้งไว้แล้ว)
  • ปลั๊กอิน WooCommerce (ติดตั้งและเปิดใช้งาน)

จากทั้งหมดที่กล่าวมา ให้เรากระโจนเข้าสู่เนื้อหาสาระสำคัญของบทความนี้ ขั้นตอนนั้นง่ายมาก และคุณจะไม่ต้องลำบากในการนำโซลูชันเหล่านี้ไปใช้

ก) ขั้นตอนในการลบฟิลด์การจัดส่งโดยสิ้นเชิง

นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
  2. จากเมนูแดชบอร์ด ให้คลิกที่ WooCommerce > การตั้งค่า ซึ่งจะเปิดหน้าการตั้งค่า คลิก แท็บการจัดส่ง จากนั้นคลิก ตัวเลือกการจัดส่ง ที่นี่คุณจะเห็นตัวเลือก เช่น การคำนวณ และ ปลายทางการจัดส่ง
  3. ในการตั้งค่า ปลายทางการจัดส่ง ให้ใช้ตัวเลือก 'บังคับจัดส่งไปยังที่อยู่สำหรับการเรียกเก็บเงินของลูกค้า' เพื่อลบฟิลด์การจัดส่งทั้งหมด และใช้ฟิลด์การเรียกเก็บเงินสำหรับทั้งการเรียกเก็บเงินและการจัดส่ง ตัวเลือกนี้ช่วยให้คุณควบคุมได้ว่าควรใช้ช่องการชำระเงินใด

ตรวจสอบให้แน่ใจว่าคุณบันทึกการเปลี่ยนแปลงที่คุณทำ

  1. หากต้องการดูผลลัพธ์ ให้ไปที่หน้าชำระเงิน แล้วคุณจะเห็นว่ารายละเอียดการเรียกเก็บเงินจะถูกใช้สำหรับการจัดส่ง นี่จะเป็นผลลัพธ์:

ข) ขั้นตอนในการลบตัวเลือก 'จัดส่งไปยังที่อยู่อื่น' และบังคับที่อยู่ในการจัดส่ง

ตามค่าเริ่มต้น WooCommerce มีการตั้งค่า ไม่ได้บังคับให้ผู้ใช้เพิ่มที่อยู่จัดส่งแยกต่างหาก หากต้องการซ่อนตัวเลือก 'จัดส่งไปยังที่อยู่อื่น' คุณสามารถบังคับให้ลูกค้าซื้อผลิตภัณฑ์โดยป้อนทั้งที่อยู่สำหรับการเรียกเก็บเงินและที่อยู่สำหรับจัดส่ง

ในส่วนนี้ ฉันจะแบ่งปันขั้นตอนง่ายๆ ในการทำเช่นนั้น เราจะใช้โค้ด PHP to

  • ซ่อนช่องกาเครื่องหมาย 'จัดส่งไปยังที่อยู่อื่น' และเพิ่มหัวข้อที่กำหนดเอง
  • บังคับที่อยู่ในการจัดส่งในการตรวจสอบการชำระเงิน

นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
  2. จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อหน้าตัวแก้ไขธีมเปิดขึ้น ให้มองหาไฟล์ฟังก์ชันของธีมที่เราจะเพิ่มฟังก์ชันที่จะแสดงรูปภาพสินค้าที่หน้าชำระเงิน ซ่อนช่องกาเครื่องหมาย 'จัดส่งไปยังที่อยู่อื่น' และเพิ่มหัวข้อที่กำหนดเอง
  3. เพิ่มรหัสต่อไปนี้ ในไฟล์ php :
 /**
* ซ่อนช่องกาเครื่องหมาย 'จัดส่งไปยังที่อยู่อื่น'
*/

/**
* ซ่อนช่องกาเครื่องหมาย 'จัดส่งไปยังที่อยู่อื่น' / เพิ่มหัวข้อที่กำหนดเอง
* หากต้องการคุณสามารถแทนที่ข้อความได้ที่นี่
*/

ฟังก์ชัน njengah_js_force_shipping_address () {

?><script type="text/javascript">

var diffAddress = document.querySelector('# ship-to-different-address');

diffAddress.outerHTML = '<h3>รายละเอียดการจัดส่ง</h3><input type="checkbox"checked="checked" value="1" name="ship_to_different_address" class="hidden" style="display: none;" />';

</script><?php

}

add_action( 'wp_footer', 'njengah_js_force_shipping_address' );

/**
* บังคับที่อยู่ในการจัดส่งในการตรวจสอบการชำระเงิน
*/

ฟังก์ชัน njengah_force_posted_data_ship_to_different_address ($posted_data) {

$posted_data['ship_to_different_address'] = จริง;

ส่งคืน $posted_data;
}

add_filter( 'woocommerce_checkout_posted_data', 'njengah_force_posted_data_ship_to_different_address' );

// โปรดทราบว่าสิ่งนี้จะแทนที่ตัวเลือก 'ปลายทางการจัดส่ง' ในการตั้งค่า Woo

add_filter( 'woocommerce_ship_to_different_address_checked', '__return_true' );

// หากคุณมีความเป็นไปได้ของคำสั่งเสมือนเท่านั้น คุณอาจต้องการแสดงความคิดเห็นนี้

add_filter( 'woocommerce_cart_needs_shipping_address', '__return_true' );

// คำสั่งซื้อมีการจัดส่งเสมอ (แม้จะรับสินค้าในพื้นที่ เป็นต้น)

add_filter( 'woocommerce_order_needs_shipping_address', '__return_true' );

  1. หากต้องการดู ผลลัพธ์ ให้ไปที่หน้าชำระเงิน แล้วคุณจะเห็นว่ามีการเพิ่มส่วนใหม่พร้อมรายละเอียดที่อยู่สำหรับจัดส่ง นี่จะเป็นผลลัพธ์:

รหัสทำงานอย่างไร

ขั้นแรก รหัสนี้จะซ่อนช่องกาเครื่องหมาย 'จัดส่งไปยังที่อยู่อื่น' และคุณสามารถเพิ่มหัวข้อที่คุณกำหนดเองได้ จากนั้นจะบังคับที่อยู่ในการจัดส่งในการตรวจสอบการชำระเงิน นอกจากนี้ ฉันได้เพิ่มตัวกรองเพื่อแทนที่ตัวเลือก 'ปลายทางการจัดส่ง' ในการตั้งค่า Woo นอกจากนี้ ฉันได้เพิ่มตัวกรองเพื่อให้แน่ใจว่ามีการจัดส่งตามคำสั่งซื้อเสมอ แม้ว่าจะเป็นการรับสินค้าในท้องถิ่นก็ตาม

บทสรุป

ในบทช่วยสอนสั้นๆ นี้ ฉันได้แชร์วิธีลบฟิลด์การจัดส่งทั้งหมด ฉันได้แบ่งปันขั้นตอนง่าย ๆ ที่คุณต้องปฏิบัติตามเพื่อให้บรรลุเป้าหมายนี้ นอกจากนี้ ฉันได้แชร์ข้อมูลโค้ด PHP ที่กำหนดเองซึ่งคุณต้องเพิ่มลงในไฟล์ functions.php เพื่อลบการจัดส่งไปยังตัวเลือกที่อยู่อื่นและบังคับที่อยู่ในการจัดส่ง ฉันหวังว่าโพสต์นี้จะให้โซลูชันที่สมบูรณ์แบบแก่คุณ

บทความที่คล้ายกัน