วิธีปิดการใช้งาน wp-cron ใน WordPress และตั้งค่างาน Cron ที่เหมาะสม
เผยแพร่แล้ว: 2022-06-28คุณมีปัญหากับการดำเนินการตามกำหนดเวลาไม่ทำงานบน WordPress หรือไม่?
WordPress มีระบบการตั้งเวลาที่เรียกว่า wp-cron แต่บางครั้งอาจพลาดงานที่กำหนดเวลาไว้ เช่น การเผยแพร่โพสต์ตามกำหนดเวลา การส่งอีเมลที่ทริกเกอร์ เป็นต้น งาน cron ที่เหมาะสมซึ่งเรียกใช้โดยระบบปฏิบัติการของเซิร์ฟเวอร์ของคุณมักจะเชื่อถือได้มากกว่า
ในบทความนี้ เราจะแสดงวิธีปิดใช้งาน wp-cron ใน WordPress และครอบคลุมสองวิธีในการตั้งค่างาน cron ที่เหมาะสม

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

ปัญหาคือ WordPress ได้รับแจ้งให้ตรวจสอบงานตามกำหนดเวลาเท่านั้นเมื่อมีผู้เยี่ยมชมเว็บไซต์ของคุณ วิธีนี้ใช้ได้ดีพอสำหรับไซต์ส่วนใหญ่ แต่บางครั้งอาจทำให้เกิดปัญหากับไซต์ขนาดเล็กได้
ตัวอย่างเช่น หากไซต์ของคุณมีการเข้าชมน้อย โพสต์ที่กำหนดเวลาไว้ของคุณอาจไม่ได้รับการเผยแพร่ตรงเวลา และหากเว็บไซต์ของคุณได้รับการเข้าชมเป็นจำนวนมาก wp-cron จะถูกตรวจสอบบ่อยๆ ซึ่งอาจส่งผลต่อประสิทธิภาพของเว็บไซต์ของคุณ
ตอนนี้ ถ้าคุณต้องการแก้ไขข้อผิดพลาดการโพสต์ตามกำหนดเวลาที่หายไป คุณสามารถใช้ปลั๊กอินฟรี Missed Scheduled Publisher ได้ แต่ถ้าคุณต้องการแก้ปัญหาการดำเนินการตามกำหนดเวลาทั้งหมด คุณต้องมีงาน cron จริง
งาน cron จริงดำเนินการโดยระบบปฏิบัติการของเซิร์ฟเวอร์เว็บโฮสติ้ง ไม่ใช่โดย WordPress คุณสามารถตั้งค่าเพื่อตรวจสอบงานตามกำหนดการเพิ่มเติม ได้อย่างน่าเชื่อถือ ตามค่าเริ่มต้น WordPress ไม่มีสิทธิ์เข้าถึงเพื่อตั้งค่านี้ในระดับเซิร์ฟเวอร์ แต่คุณสามารถทำได้ง่ายๆ โดยทำตามบทช่วยสอนของเรา
จากที่กล่าวมา มาดูวิธีปิดการใช้งาน wp-cron และตั้งค่างาน cron ที่เหมาะสมกัน นี่คือสิ่งที่เราจะกล่าวถึงในบทช่วยสอนนี้:
- ปิดการใช้งาน wp-cron ใน WordPress
- การตั้งค่างาน Cron ที่เหมาะสมบนโฮสต์ WordPress ของคุณ
- การตั้งค่างาน Cron ที่เหมาะสมโดยใช้บริการของบุคคลที่สาม
ปิดการใช้งาน wp-cron ใน WordPress
หากต้องการปิดใช้งาน wp-cron คุณต้องแก้ไข wp-config.php ซึ่งเป็นไฟล์กำหนดค่าหลักของ WordPress ซึ่งอยู่ในโฟลเดอร์รูทของไซต์ WordPress และคุณจะต้องใช้ไคลเอนต์ FTP หรือตัวจัดการไฟล์ในแผงควบคุมการโฮสต์เว็บของคุณ
ไฟล์นี้มีข้อมูลที่ละเอียดอ่อนจำนวนมาก และการเปลี่ยนแปลงที่ไม่ถูกต้องอาจทำให้ไซต์ WordPress ของคุณเสียหายได้ เราแนะนำให้ทำการสำรองไฟล์ไว้ก่อนเผื่อไว้ คุณสามารถเรียนรู้วิธีการโดยทำตามคำแนะนำของเราเกี่ยวกับวิธีการแก้ไข wp-config.php ใน WordPress
คุณจะต้องวางโค้ดต่อไปนี้ลงในไฟล์ wp-config.php ก่อนบรรทัดที่ระบุว่า 'แค่นั้น หยุดแก้ไข! บล็อกที่มีความสุข'
define('DISABLE_WP_CRON', true);

หลังจากนั้น คุณต้องบันทึกไฟล์และอัปโหลดกลับไปที่เว็บไซต์ของคุณ
WordPress จะไม่เรียกใช้ wp-cron อีกต่อไปเมื่อมีผู้เยี่ยมชมเว็บไซต์ของคุณ
การตั้งค่างาน Cron ที่เหมาะสมบนโฮสต์ WordPress ของคุณ
ตอนนี้ คุณจะต้องตั้งค่างาน cron ที่เหมาะสมเพื่อเรียกใช้งานที่กำหนดเวลาไว้ วิธีดำเนินการจะแตกต่างกันไปตามเครื่องมือที่ผู้ให้บริการโฮสต์ WordPress ให้มา
วิธีที่ง่ายที่สุดในการตั้งค่างาน cron คือการใช้ cPanel ซึ่งเป็นแผงควบคุมเว็บไซต์ยอดนิยมที่รวมอยู่ในแผนการโฮสต์เว็บจำนวนมาก รวมถึง Bluehost เราจะใช้ Bluehost cPanel ในบทช่วยสอนนี้
หมายเหตุ: โฮสต์เว็บบางแห่งไม่ได้ใช้ cPanel และบางเว็บอาจไม่อนุญาตให้คุณสร้างงาน cron หากมีข้อสงสัย คุณควรติดต่อผู้ให้บริการโฮสต์ของคุณหรืออ่านเอกสารสนับสนุนของพวกเขา คุณสามารถใช้บริการ cron บุคคลที่สามได้ตลอดเวลา (ด้านล่าง)
เมื่อคุณลงชื่อเข้าใช้บัญชีโฮสติ้งและไปที่ cPanel แล้ว คุณควรเลื่อนลงมาจนกว่าคุณจะพบ 'Cron Jobs' จากนั้นคลิกที่มัน
คุณอาจพบมันในส่วน 'ขั้นสูง' แต่สิ่งนี้อาจแตกต่างกันไปขึ้นอยู่กับผู้ให้บริการโฮสติ้งของคุณ

สิ่งนี้จะนำคุณไปยังหน้าใหม่ที่คุณสามารถสร้างงาน cron ใหม่

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

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

ตอนนี้คุณสามารถป้อนคำสั่งที่จะขอให้ WordPress เรียกใช้งานที่กำหนดเวลาไว้ คุณต้องวางรหัสต่อไปนี้ลงในช่อง 'คำสั่ง':
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
ตรวจสอบให้แน่ใจว่าคุณแทนที่ "example.com" ด้วย URL ของเว็บไซต์คุณเอง
เมื่อคุณทำเสร็จแล้ว อย่าลืมคลิกปุ่ม 'เพิ่มงาน Cron ใหม่' แล้วคุณจะเห็นงาน cron ใหม่ถูกเพิ่มลงในรายการด้านล่าง

ตอนนี้ WordPress จะตรวจสอบและเรียกใช้งานที่กำหนดเวลาไว้ทุก ๆ 30 นาที แทนที่จะเป็นเมื่อมีผู้เยี่ยมชมเว็บไซต์ของคุณ
การตั้งค่างาน Cron ที่เหมาะสมโดยใช้บริการของบุคคลที่สาม
หากแผนโฮสติ้งของคุณไม่มีงาน cron ที่เหมาะสม หรือตั้งค่าได้ยาก คุณสามารถใช้บริการ cron บุคคลที่สามแทนได้
บริการเหล่านี้เป็นบริการเฉพาะที่ช่วยให้คุณสามารถตั้งค่างาน cron โดยใช้อินเทอร์เฟซที่เรียบง่าย นี่คือบางส่วนที่ดีกว่า:
- EasyCron มีแผนบริการฟรีที่ต้องต่ออายุรายเดือน
- cron-job.org เป็นบริการฟรี
- Cronitor ฟรีหากคุณต้องการงาน cron หนึ่งงาน
- SetCronJob เสนอแผนการชำระเงินเริ่มต้นที่ $10/ปี
สำหรับบทช่วยสอนนี้ เราจะใช้ EasyCron เนื่องจากใช้งานง่าย และแผนฟรีเหมาะสำหรับกรณีใช้งานเริ่มต้นส่วนใหญ่
เมื่อคุณสร้างบัญชีฟรีแล้ว คุณสามารถสร้างงาน cron ใหม่ได้โดยคลิกปุ่ม '+ งาน Cron' ทางด้านซ้าย

จะปรากฏหน้าจอ 'สร้างงาน Cron' ขั้นแรก คุณต้องวาง URL ต่อไปนี้ลงในฟิลด์ 'URL ที่จะโทร'
https://example.com/wp-cron.php?doing_wp_cron
ตรวจสอบให้แน่ใจว่าคุณแทนที่ "example.com" ด้วย URL ของไซต์ของคุณเอง

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

เราหวังว่าบทช่วยสอนนี้จะช่วยให้คุณเรียนรู้วิธีปิดการใช้งาน wp-cron ใน WordPress และตั้งค่างาน cron ที่เหมาะสม คุณอาจต้องการดูคำแนะนำทีละขั้นตอนของเราเกี่ยวกับ WordPress SEO หรือตรวจสอบรายการข้อผิดพลาดทั่วไปของ WordPress และวิธีแก้ไข
หากคุณชอบบทความนี้ โปรดสมัครรับข้อมูลจากบทแนะนำวิดีโอ YouTube Channel สำหรับ WordPress คุณสามารถหาเราได้ที่ Twitter และ Facebook