การใส่ข้อความเกี่ยวกับ Stock สินค้า ของ Woocommerce

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

โดยคร้ังนี้ผมจะเล่าเรื่องของการเล่นกับ Stock สินค้าครับ  ซึ่งปกติแล้วการที่เราทำเว็บขายของ บางร้านเขาจะมีระบบจัดการสต็อคด้วยว่า ของของเราเนี่ย มันขายไปได้กี่ชิ้น เหลืออีกกี่ชิ้น ถ้าสินค้าในสต็อคมันเริ่มใกล้จะหมดก็ให้มีการแจ้งเตือนเจ้าของร้าน จะได้หาของมาเติม ถ้าหาไม่ทันก็ให้เว็บไซต์โชว์ว่า ของหมดสต็อคแล้วนะ ก็ว่ากันไป

แน่นอนครับว่า ที่พูดมาทั้งหมดเนี่ย WordPress + Woocommerce เอาอยู่ทุกเสต็ป

แต่ว่าในบางจุดเราก็จำเป็นต้องไปเล่นอะไรกับมันหน่อยๆครับ อย่างในเคสของลูกค้าผมท่านนี้ สินค้ามีเป็นหมื่นตัว แต่สินค้าที่มีในสตอคมีเพียงหลักร้อยครับ สินค้าตัวอื่นจะต้องให้รอสินค้า 30-45 วัน เพราะต้องผลิตขึ้นมาโดยเฉพาะ หรือต้องนำเข้ามา ดังนั้นผมก็เลยคิดว่า เอาอย่างนี้ดีไหม แทนที่เราจะไปใส่ตัวเลขใน Stock ว่าเป็น 0 หนึ่งหมื่นตัว ทำไมเราไม่เล่นกับตัวที่น้อยกว่าแทนล่ะ? นั่นก็คือให้ใส่ตัวเลขจำนวนสินค้าที่มีของเท่านั้น ตัวอื่นๆที่ไม่มีก็ปล่อยมันว่างๆแบบนั้นแหละ แล้วค่อยเขียนโค้ดไปตรวจสอบเอาว่า ในช่องๆนั้นอ่ะ มีข้อมูลอยู่หรือเปล่า ถ้ามีก็โชว์จำนวนสต็อคปกติ แต่ถ้าไม่มีก็ให้ขึ้นข้อความว่า รอของก่อนนะ อะไรทำนองนี้ครับ

วิธีนี้ แทนที่เราจะไปใส่ตัวเลขหนึ่งหมื่นช่อง เราก็ใส่แค่เพียงหลักร้อยช่อง สบายกว่ากันเยอะ

ภาพด้านบนคือระบบการจัดการสตอคสินค้าของ Woocommerce สำหรับสินค้านั้นๆครับๆ ถ้าสินค้าไหนเราต้องการระบุจำนวนสินค้าใน Stock ก็ให้ติกถูกตรงช่องนี้ แต่ถ้าไม่ต้องการใช้ระบบสตอค ก็ปล่อยว่างๆไว้แบบนี้แหละครับ (ค่า Default มันจะเป็นค่าว่างๆแบบในภาพ) ซึ่งถ้าปล่อยไว้ว่างๆแบบนี้ ลูกค้าก็ยังซื้อของได้ปกติครับ

ทีนี้มาดูหลักการทำงานกันครับ

อย่างแรกเลยเนี่ย เรามาทำความเข้าใจกันก่อนว่า Woocommerce มันทำงานตรงนี้ยังไง

หนึ่ง ถ้าเราคลิกเลือกตรงช่องนี้ มันจะมีตัวเลือกโผล่มาอีกครับ จะให้เราใส่ตัวเลขนจำนวนสตอคสินค้าที่มี ซึ่งตรงนี้เราเรียกว่า Stock Quantity ครับ เช่น เราใส่ 10 เลยตรงนี้ก็จะแสดงเป็น 10ในหน้าเว้บ และจะลดลงเรื่อยๆเมื่อมีคนมาซื้อของชิ้นนี้

แต่ถ้าเราไม่ได้ติกเลือกตรงนี้ ค่า Stock Quantity จะกลายเป็น “ไม่มีข้อมูล” ครับ หรือพูดอีกศัพท์หนึ่งก็คือ “ว่าง” นั่นเอง

สอง พอเรารู้แบบนี้ เราก็มาดักจับเอาครับว่า เห้ย ตัว Stock Quantity เนี่ยมันเป็นค่าว่างหรือเปล่าวะ? ถ้าว่าง ก็ให้โชว์ข้อความที่เราอยากโชว์  ถ้าไม่ใช่ ก็ไม่ต้องใส่ข้อความอะไร

สำหรับ กรณีนี้เราสามารถใช้คำสั่ง PHP คือ null มาเช็คความว่างของข้อมูลหรือเช็คว่าตัวเลขเป็น 0 หรือเปล่าได้ครับ

มาดูตัวอย่างโค้ดกันนะครับ ซึ่งโค้ดนี้เราจะเอาไปไว้ในไฟล์ที่เราอยากให้มันแสดงในหน้าเว็บ เช่นในเคสของผม ผมจะเอาไว้ข้างล่างชื่อสินค้าครับ ลูกค้าจะได้เห็นชัดเจนเลย ผมก็เลยเขียนไว้ที่ไฟล์ folder theme ของเรา /woocommerce/single-product/title.php


<?php
global $product;

if (null !==($product->get_stock_quantity())) {
echo "สินค้ามีพร้อมจัดส่ง"; // ใส่คำพูดที่ต้องการกรณีที่มี stock สินค้า
}
else{
echo "กรุณารอสินค้า 30-45 วัน"; //คำพูดกรณีที่ไม่มี stock หรือตัวเลขเป็น 0
}
?>

จริงๆแล้ว เราสามารถใช้คำสั่งสั้นๆ ถ้าเราไม่อยากใช้ null

if (($product->get_stock_quantity())) {
echo "สินค้ามีพร้อมจัดส่ง"; // ใส่คำพูดที่ต้องการกรณีที่มี stock สินค้า
}
else{
echo "กรุณารอสินค้า 30-45 วัน"; //คำพูดกรณีที่ไม่มี stock หรือตัวเลขเป็น 0
}

แบบนี้ก็ได้เช่นเดียวกันนะครับ เพราะว่าการใช้ if() ก็เป็นการเช็คว่าตัวแปรที่เช็คนั้นเป็นค่าว่างหรือเปล่า ซึ่งคำสั่งชุดนี้ผมเน้นเอามาเขียนลงในไฟล์ธีม เพราะว่าเป็นโปรเจ็คที่ทำให้ลูกค้าท่านนี้โดยเฉพาะ เลยมองว่าไม่ได้ยุ่งยากอะไร สำหรับใครที่เจอความต้องการคล้ายๆแบบนี้ก็ลองนำไปใช้งานดูได้นะครับ

และนี่คือตัวอย่าง Output ที่ออกมาในหน้าเว็บครับผม

ขอบคุณที่ติดตามอ่านบทความครับ แล้วเจอกันใหม่ตอนหน้าเด้อ

 

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

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

  • คุกกี้เพื่อการวิเคราะห์

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

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

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

บันทึก