WooCommerce คืออะไรและทำงานอย่างไร

อ่าน 3 นาที
2026-03-19
2026-06-04
2,553
I earn commissions when you shop through the links below, at no additional cost to you.

WooCommerce คืออะไรและทำงานอย่างไร

WooCommerce เป็นปลั๊กอินอีคอมเมิร์ซโอเพนซอร์สบน WordPress ที่สามารถเปลี่ยนเว็บไซต์ WordPress มาตรฐานใดๆ ให้เป็นร้านค้าออนไลน์ที่มีฟังก์ชันครบครัน ใจกลางของมันคือสะพานที่เชื่อมต่อระบบจัดการเนื้อหา WordPress กับฟังก์ชันอีคอมเมิร์ซ ปลั๊กอินนี้เดิมพัฒนาโดย WooThemes และปัจจุบันเป็นโครงการภายใต้ Automattic ที่ผสานรวมอย่างลึกซึ้งกับระบบนิเวศ WordPress

หลักการทำงานของมันคือการเพิ่มตารางฐานข้อมูลที่กำหนดเองลงในฐานข้อมูล WordPress เพื่อเก็บข้อมูลอีคอมเมิร์ซ เช่น ผลิตภัณฑ์ คำสั่งซื้อ ข้อมูลลูกค้า เมื่อเปิดใช้งาน WooCommerce ปลั๊กอินแล้ว มันจะเพิ่มเมนูและตัวเลือกต่างๆ เข้าไปในส่วนจัดการของ WordPress พร้อมทั้งสร้างหน้าที่จำเป็นในส่วนหน้า เช่น หน้าหลักร้านค้า ตะกร้าสินค้า และหน้าชำระเงิน ตรรกะส่วนหลังทำงานผ่านชุดของฮุคแอ็กชันและฮุคตัวกรอง (เช่น woocommerce_before_main_contentwoocommerce_after_shop_loop_item) ที่ช่วยให้นักพัฒนาปรับแต่งฟังก์ชันและรูปลักษณ์ได้อย่างลึกซึ้ง

แพลตฟอร์มนี้ยึดตามรูปแบบสถาปัตยกรรม MVC (โมเดล-วิว-คอนโทรลเลอร์) แบบดั้งเดิม แม้ว่าจะมีการปรับเปลี่ยนในบริบทของ WordPress ก็ตาม โมเดลข้อมูล (โมเดล) จัดการโดยคลาสผลิตภัณฑ์และคำสั่งซื้อ (เช่น WC_ProductWC_Order); ชั้นการนำเสนอ (วิว) ควบคุมโดยไฟล์เทมเพลตธีม และตรรกะธุรกิจ (คอนโทรลเลอร์) จัดการโดยแกนปลั๊กอินและฮุคมากมาย โครงสร้างนี้รับประกันความยืดหยุ่นและความสามารถในการขยายสูง

แนะนำให้อ่าน คู่มือขั้นสูงสุดของ WooCommerce ปี 2025: สร้างร้านค้าออนไลน์ของคุณตั้งแต่เริ่มต้น

วิธีการติดตั้งและตั้งค่าห้าง WooCommerce แรกของคุณ

กระบวนการติดตั้ง WooCommerce ไม่แตกต่างจากการติดตั้งปลั๊กอิน WordPress อื่นๆ วิธีที่ตรงไปตรงมาที่สุดคือการค้นหาและติดตั้งผ่านหน้า “ปลั๊กอิน” -> “ติดตั้งปลั๊กอิน” ในแอดมิน WordPress

UltaHost WordPress โฮสติ้ง
การรับประกันคืนเงินภายใน 30 วัน, แบนด์วิธและฐานข้อมูลไม่จำกัด, การป้องกัน DDoS ฟรี, ซื้อ 3 ปีลดราคา 50%

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

ตั้งค่าข้อมูลพื้นฐานของร้านค้า

ตัวช่วยตั้งค่าจะขอให้คุณกรอกที่อยู่ร้านค้า ประเภทสกุลเงิน ประเภทสินค้าที่ขาย (สินค้าทางกายภาพ สินค้าดิจิทัล หรือทั้งสองอย่าง) รวมถึงการตั้งค่าล่วงหน้าของวิธีการชำระเงินและพื้นที่จัดส่ง ตัวอย่างเช่น เมื่อคุณเลือกสกุลเงินเป็น “หยวนจีน” ปลั๊กอินจะตั้งค่าตัวเลือกการกำหนดค่าในฐานข้อมูลตามนั้น

การตั้งค่าเหล่านี้ส่วนใหญ่จะถูกเก็บไว้ใน wp_options ตาราง โดยมีคำนำหน้าเป็น woocommerce_ บันทึกชื่อตัวเลือกที่มีคำนำหน้า ตัวอย่างเช่น ข้อมูลประเทศ/ภูมิภาคของร้านค้าจะถูกเก็บไว้ในตัวเลือก woocommerce_default_country ตัวเลือก การตั้งค่าพื้นฐานเหล่านี้เป็นพื้นฐานสำหรับการทำงานของฟังก์ชันทั้งหมดในภายหลัง

การตั้งค่าการชำระเงินและการขนส่งหลัก

การชำระเงินและการขนส่งเป็นหัวใจสำคัญของอีคอมเมิร์ซ WooCommerce มีเกตเวย์การชำระเงินในตัวหลายรูปแบบ เช่น PayPal มาตรฐาน การโอนเงินผ่านธนาคาร และการชำระเงินด้วยเช็ค คุณสามารถเปิดใช้งานและกำหนดค่าได้ในหน้า “WooCommerce” -> “การตั้งค่า” -> “การชำระเงิน” สำหรับการชำระเงินผ่าน PayPal คุณต้องป้อนที่อยู่อีเมลของบัญชีผู้ขายและคีย์ API

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

การกำหนดค่าการขนส่งก็มีความสำคัญเช่นกัน ในหน้า “WooCommerce” -> “การตั้งค่า” -> “การจัดส่ง” คุณสามารถเพิ่มพื้นที่จัดส่งและตั้งค่าวิธีการจัดส่งที่แตกต่างกัน (เช่น การจัดส่งฟรี อัตราคงที่ หรือการรับของในพื้นที่) และค่าธรรมเนียมสำหรับแต่ละพื้นที่ ปลั๊กอินใช้ WC_Shipping_Method คลาสเพื่อแยกแยะวิธีการจัดส่งต่างๆ ช่วยให้นักพัฒนาสามารถสร้างตรรกะการจัดส่งที่กำหนดเองได้

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

add_filter( 'woocommerce_package_rates', 'add_shipping_surcharge_by_weight', 10, 2 );
function add_shipping_surcharge_by_weight( $rates, $package ) {
    $cart_weight = WC()->cart->get_cart_contents_weight();
    foreach ( $rates as $rate_key => $rate ) {
        if ( 'flat_rate' === $rate->method_id ) {
            if ( $cart_weight > 10 ) {
                $rates[$rate_key]->cost += 20;
            }
        }
    }
    return $rates;
}

ใช้ส่วนขยายและฮุคสำหรับการปรับแต่งขั้นสูง

พลังที่แท้จริงของ WooCommerce อยู่ที่คลังส่วนขยายที่กว้างขวาง (เรียกว่า “ส่วนขยายของ WooCommerce” เป็นทางการ) และระบบฮุกที่เป็นมิตรกับนักพัฒนา ซึ่งช่วยให้คุณสามารถก้าวข้ามขีดความสามารถพื้นฐานและสร้างร้านค้าที่ตอบโจทย์ความต้องการทางธุรกิจเฉพาะของคุณได้

hosting.com 共享主机
高性能,配备 AMD EPYC CPU、NVMe SSD 存储和 LiteSpeed,全天候24小时、全天候的专家内部支持,高级安全措施,包括 SSL、暴力破解、恶意软件和 DDoS 防护,节省高达 73%

ตลาดส่วนขยายทางการมีปลั๊กอินสำหรับฟีเจอร์ขั้นสูงมากมาย ตั้งแต่บริการสมาชิกแบบซับสไครบ์ไปจนถึงระบบจองและสมาชิกแบบสมาชิก อย่างไรก็ตาม สำหรับความต้องการที่ปรับแต่งได้มากยิ่งขึ้น การพัฒนาด้วยการใช้ action hooks และ filter hooks โดยตรงถือเป็นวิธีมาตรฐาน

การแสดงข้อมูลผลิตภัณฑ์ที่กำหนดเอง

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

ขั้นแรก, คุณจำเป็นต้องใช้ woocommerce_product_options_general_product_data ฮุคเพิ่มฟิลด์ในแท็บ “ทั่วไป” ของหน้าดูแลแก้ไขผลิตภัณฑ์ จากนั้นใช้ woocommerce_process_product_meta ฮุคเพื่อบันทึกค่าของฟิลด์นั้น สุดท้าย เพื่อแสดงค่านี้ คุณต้องแทนที่ไฟล์เทมเพลตรายละเอียดผลิตภัณฑ์ที่เกี่ยวข้อง โดยปกติคุณจะคัดลอกไฟล์เทมเพลตจาก woocommerce/templates/single-product/ ไดเรกทอรีไปยังโฟลเดอร์ธีมของคุณ your-theme/woocommerce/single-product/ และทำการแก้ไข

แนะนำให้อ่าน การพัฒนาเว็บไซต์อีคอมเมิร์ซด้วย WooCommerce: คู่มือฉบับสมบูรณ์ในการสร้างร้านค้าออนไลน์ระดับมืออาชีพตั้งแต่เริ่มต้น

ตัวอย่างเช่น การเปิดใช้งานการแคชอ็อบเจ็กต์ (เช่น Redis) ในไฟล์ price.php ชิ้นส่วนโค้ดสำหรับแสดงฟิลด์ที่กำหนดเองใกล้กับไฟล์เทมเพลต:

// 显示存储在 _product_year 自定义字段中的年份
$year = get_post_meta( get_the_ID(), '_product_year', true );
if ( $year ) {
    echo '<p class="product-year">ปี: ' . esc_html( $year ) . '</p>';
}

สร้างฟิลด์เช็คเอาท์ที่กำหนดเอง

การปรับเปลี่ยนกระบวนการเช็คเอาท์เป็นความต้องการทั่วไปอีกอย่างหนึ่ง คุณสามารถใช้ woocommerce_checkout_fields ฟิลเตอร์ฮุคเพื่อเพิ่ม ลบ หรือปรับเปลี่ยนฟิลด์ในฟอร์มเช็คเอาท์ ตัวอย่างเช่น เพิ่มฟิลด์หมายเลขภาษีบริษัทสำหรับลูกค้า B2B

โฮสติ้งแบบแชร์ของ InterServer
共享主机每月 $2.50 USD , 首月 $0.1 USD 优惠码 tryinterserver, 461个云应用脚本,一键安装。

โค้ดต่อไปนี้แสดงวิธีการเพิ่มฟิลด์ที่กำหนดเองในส่วนฟิลด์บิล:

add_filter( 'woocommerce_checkout_fields', 'add_custom_checkout_field' );
function add_custom_checkout_field( $fields ) {
    $fields['billing']['billing_vat'] = array(
        'label' => __( '增值税号', 'your-text-domain' ),
        'placeholder' => _x( '请输入您的公司税号', 'placeholder', 'your-text-domain' ),
        'required' => false, // 可以根据业务需求设置为 true
        'class' => array('form-row-wide'),
        'clear' => true,
        'priority' => 25, // 控制字段显示顺序
    );
    return $fields;
}

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

การปรับปรุงประสิทธิภาพและแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

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

มาตรการแรกในการปรับปรุงประสิทธิภาพคือการเลือกโฮสติ้งคุณภาพสูงและการใช้การแคช สำหรับ WooCommerce เนื่องจากหน้าตะกร้าสินค้าและชำระเงินเป็นแบบไดนามิกและเกี่ยวข้องกับเซสชันผู้ใช้ จึงจำเป็นต้องจัดการเป็นพิเศษ โดยปกติแล้วหน้าดังกล่าวจะถูกแยกออกจากการแคชทั้งหน้า การใช้แคชอ็อบเจ็กต์ (เช่น Redis หรือ Memcached) สามารถเพิ่มความเร็วในการดำเนินการที่ใช้การสืบค้นฐานข้อมูลอย่างหนาแน่นได้อย่างมีนัยสำคัญ เช่น การแสดงรายการสินค้าจำนวนมากบนหน้าหลักของร้านค้า

การปรับปรุงการสืบค้นฐานข้อมูลและการโหลดภาพ

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

รูปภาพมักเป็นส่วนประกอบหลักของปริมาณหน้าเว็บ ตรวจสอบให้แน่ใจว่ารูปภาพสินค้าทั้งหมดถูกบีบอัดอย่างเหมาะสม และใช้รูปแบบที่ทันสมัย เช่น WebP WooCommerce โดยค่าเริ่มต้นจะสร้างรูปขนาดย่อหลายขนาด คุณสามารถจัดการขนาดเหล่านี้ใน “การตั้งค่า” -> “สื่อ” แต่แนะนำให้ใช้ add_image_size() กำหนดขนาดรูปภาพที่แม่นยำและตรงกับความต้องการการออกแบบธีมของคุณ เพื่อหลีกเลี่ยงการสร้างรูปภาพที่ไม่มีประโยชน์

เสริมการตั้งค่าความปลอดภัยของร้านค้า

ความปลอดภัยเป็นสิ่งสำคัญอันดับแรก ก่อนอื่น ควรใช้รหัสผ่านที่แข็งแกร่งและเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย (2FA) เพื่อปกป้องบัญชีผู้ดูแลระบบ ควรอัปเดต WordPress หลัก, ปลั๊กอิน WooCommerce, ธีม และส่วนขยายอื่นๆ ให้เป็นเวอร์ชันล่าสุดเสมอ เพื่อแก้ไขช่องโหว่ที่ทราบแล้ว

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

wp-config.php ของคุณ:

define( 'FORCE_SSL_CHECKOUT', true );

นอกจากนี้ การจำกัดความพยายามในการเข้าสู่ระบบ การใช้คีย์ความปลอดภัย การสแกนความปลอดภัยเป็นประจำ และการตรวจสอบและทำความสะอาดไฟล์ที่ผู้ใช้อัปโหลดอย่างเข้มงวด (เช่น รูปภาพที่อัปโหลดผ่านการประเมินผลิตภัณฑ์) ล้วนเป็นมาตรการความปลอดภัยที่จำเป็น สำหรับร้านค้าที่จัดการข้อมูลลูกค้าที่ละเอียดอ่อน ให้พิจารณาใช้มาตรการการปฏิบัติตามที่เข้มงวดยิ่งขึ้น

สรุป

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

คำถามที่พบบ่อย (FAQ)

วิธีการซ่อนแถบด้านข้างของหน้าหน้าร้าน WooCommerce

คุณสามารถใช้แท็กเงื่อนไขในไฟล์ธีมของคุณเพื่อลบแถบด้านข้าง วิธีที่พบบ่อยที่สุดคือการสร้างไฟล์เทมเพลตชื่อ woocommerce.php ไปยังไดเรกทอรีรูทของธีมของคุณ โดยอิงจากไฟล์ page.php ของธีมของคุณ และลบการเรียกใช้ฟังก์ชัน get_sidebar() ออก

วิธีที่ยืดหยุ่นกว่าคือการใช้ is_shop() แท็กเงื่อนไขร่วมกับฮุค ตัวอย่างเช่น ในไฟล์ functions.php ของธีมลูกของคุณ เพิ่มโค้ดต่อไปนี้เพื่อลบแถบด้านข้างออกจากหน้าเว็บร้านค้า WooCommerce:

add_action( 'wp', 'remove_sidebar_on_shop' );
function remove_sidebar_on_shop() {
    if ( is_shop() ) {
        remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
        // 或者,如果你的主题使用不同的侧边栏钩子
        // add_filter( 'is_active_sidebar', 'deactivate_sidebar_on_shop', 10, 2 );
    }
}

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

สามารถเปลี่ยนข้อความปุ่ม “เพิ่มลงในตะกร้า” เริ่มต้นได้หรือไม่

ได้ การเปลี่ยนข้อความปุ่มนี้มีหลายวิธี วิธีที่ง่ายที่สุดคือใช้ปลั๊กอินแปลเช่น Loco Translate เพื่อแปลสตริง “Add to cart” เป็นข้อความใดก็ได้ที่คุณต้องการ (เช่น “ซื้อทันที”) วิธีนี้ไม่ต้องเขียนโค้ด

อีกวิธีหนึ่งคือใช้ฟิลเตอร์ฮุค woocommerce_product_add_to_cart_text(สำหรับหน้าอาร์ไคฟ์) และ woocommerce_product_single_add_to_cart_text(สำหรับหน้าเว็บสินค้าเดียว) ในธีมของคุณ functions.php เพิ่มโค้ดต่อไปนี้ใน:

add_filter( 'woocommerce_product_add_to_cart_text', 'change_archive_add_to_cart_text' );
function change_archive_add_to_cart_text() {
    return __( '立即订购', 'your-text-domain' );
}

add_filter( 'woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text' );
function change_single_add_to_cart_text() {
    return __( '加入购物车', 'your-text-domain' );
}

การใช้ hook กรองช่วยให้คุณสามารถควบคุมได้อย่างละเอียดตามประเภทสินค้า (เช่น สินค้าที่มีตัวแปร, สินค้าที่จัดกลุ่ม)

วิธีการกำหนดราคาสินค้าที่แตกต่างกันตามบทบาทของผู้ใช้

การกำหนดราคาตามบทบาทผู้ใช้เป็นฟีเจอร์ขั้นสูง ซึ่งมักต้องมีการพัฒนารหัสที่กำหนดเองหรือใช้ส่วนขยายสำหรับการกำหนดราคาสมาชิก/ขายส่งโดยเฉพาะ (เช่น WooCommerce Memberships หรือ Wholesale Suite) หากทำผ่านโค้ด แนวคิดหลักคือการใช้ woocommerce_get_price ตัวกรองฮุคสำหรับการปรับเปลี่ยนราคาสินค้าแบบไดนามิก

นี่คือตัวอย่างพื้นฐานเพื่อให้ส่วนลด 20% สำหรับลูกค้าที่มีบทบาทผู้ใช้เป็น “wholesaler”

add_filter( 'woocommerce_get_price', 'apply_role_based_pricing', 10, 2 );
function apply_role_based_pricing( $price, $product ) {
    if ( is_user_logged_in() && current_user_can( 'wholesaler' ) ) {
        $price = $price * 0.8; // 打八折
    }
    return $price;
}

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

วิธีการแก้ไขปัญหา White Screen ทั่วไปใน WooCommerce

การเกิดหน้าขาวตาย (White Screen of Death, WSOD) ใน WooCommerce มักเกิดจากข้อผิดพลาดร้ายแรงของ PHP โดยข้อความผิดพลาดถูกซ่อนไว้ ก่อนอื่น คุณต้องเปิดใช้งานโหมดดีบักของ WordPress ในไฟล์ wp-config.php ของเว็บไซต์ ในไฟล์นั้น ให้ค้นหาหรือเพิ่มคำจำกัดความต่อไปนี้:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false ); // 防止错误直接输出到屏幕
define( 'WP_DEBUG_LOG', true ); // 将错误记录到 /wp-content/debug.log 文件

หลังจากเพิ่มแล้ว ให้เข้าชมหน้านั้นที่ทำให้เกิดหน้าขาวอีกครั้ง จากนั้นตรวจสอบไฟล์ที่อยู่ที่ wp-content ไฟล์ในไดเรกทอรี debug.log ซึ่งควรบันทึกข้อความผิดพลาดเฉพาะที่ทำให้เกิดปัญหา เช่น หน่วยความจำหมด ข้อผิดพลาดทางไวยากรณ์ หรือความขัดแย้งกับธีม/ปลั๊กอินบางตัว

สาเหตุทั่วไปที่เกี่ยวข้องกับ WooCommerce ได้แก่: ความขัดแย้งของธีมหรือปลั๊กอิน (ตรวจสอบโดยปิดปลั๊กอินทีละตัวและเปลี่ยนเป็นธีมเริ่มต้น), ข้อจำกัดของหน่วยความจำ PHP ไม่เพียงพอ (ลองเพิ่ม wp-config.php ใน define( 'WP_MEMORY_LIMIT', '256M' );), หรือมีตารางฐานข้อมูล WooCommerce ที่เสียหาย (สามารถลองเรียกใช้ “สร้างตาราง WooCommerce เริ่มต้น” ในเครื่องมือสถานะ WooCommerce หรือใช้ปลั๊กอินซ่อมแซมฐานข้อมูล)