ผู้เขียน หัวข้อ: วิธีซ่อนค่าจัดส่งอื่นๆ ในกรณีที่ส่งฟรี สำหรับ Woocommerce  (อ่าน 866 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ smf

  • [color=green][i]"ถ้าคุณไม่สามารถอธิบายอย่างง่ายๆ ให้คนอื่นเข้าใจได้แล้วล่ะก็ แสดงว่าคุณยังเข้าใจมันไม่ดีพอ"[/i][/color]
  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1,368
  • พอยท์: 5
    • ดูรายละเอียด
    • pordoo.com
    • อีเมล์
ช่วงนี้มีโปรเจ็คเกี่ยวกับ Ecommerce อยู่หลายตัวครับ ซึ่งแน่นอนครับว่าเว็บทุกตัวที่ผมทำก็พัฒนาจาก WordPress ทั้งนั้น และตัวระบบขายของผมก็ใช้ Woocommerce มาเป็นตัวหลักในการใช้งาน เพราะมันใช้งานง่าย ตอบโจทย์ดีครับ ทีนี้ในแต่ละโปรเจ็คมันก็จะมีโน่นมีนี่มาให้เราได้ปรับแต่งต่างกันไป ซึ่งผมก็รวบรวมข้อมูลต่างๆลงในบันทึกส่วนตัว และจะนำมาทยอยเขียนลงในบทความครับ ว่าแต่ละเคสทำอย่างไร แก้ปัญหาแบบไหน

สำหรับบทความนี้ สืบเนื่องมาจากลูกค้าบอกว่า เว็บของลูกค้านั้น มีการกำหนดค่าจัดส่งไว้ครับว่า ค่าส่งปกติคิดที่ 100 บาท แต่ถ้าเมื่อไหร่ก็ตามที่ยอดสั่งซื้อเกิน 350 บาท จะจัดส่งให้ฟรี  ซึ่งในตัว Woocommerce มันจะโชว์อยู่ทั้งสอง options ให้ลูกค้าเลือกครับ ทั้งๆที่ในความเป็นจริงถ้ามันเข้าเงื่อนไขส่งฟรีมันก็ควรจะเลือกตัวฟรีให้ อัตโนมัติ ถ้าไม่ถึงก็เลือกตัวส่งแบบ Flat Rate (ค่าส่งปกติ) ให้ทันที

วิธีการแก้ไขนั้น สามารถแก้ไขได้ด้วยวิธีการเขียนโค้ดด้านลางนี้ลงไปในไฟล์ functions.php ที่อยู่ในโฟลเดอร์ธีมของเราครับ
โค๊ด: [Select]
add_filter( 'woocommerce_package_rates','hide_shipping_when_free_is_available', 10, 2 ); function hide_shipping_when_free_is_available( $rates, $package ) { // Only modify rates if free_shipping is presentif ( isset( $rates['free_shipping'] ) ) { // To unset a single rate/method, do the following. This example unsets flat_rate shippingunset( $rates['flat_rate'] ); // To unset all methods except for free_shipping, do the following$free_shipping = $rates['free_shipping'];$rates = array();$rates['free_shipping'] = $free_shipping;} return $rates;}
เพียงแค่นี้ระบบเว็บของเราก็จะไม่ขึ้นตัวเลือกระบบการจัดส่งให้มันซ้ำซ้อน แล้วหละครับ ลองนำไปปรับใช้กันดูนะครับ ซึ่งโค้ดนี้ต้องขอบคุณ StackOverflow เพื่อนร่วมทีมโปรแกรมเมอร์สำหรับเราๆคับ


ที่มา: https://www.buksohn.com/woocommerce-hide-flat-rate-when-free-shipping.html