วิธีสร้างและแก้ไขงาน WordPress Cron

Rifat ปลั๊กอิน WordPress Jul 4, 2023

Cron เป็นยูทิลิตี้ที่ใช้กันทั่วไปในระบบ Unix/Linux เพื่อกำหนดเวลาคำสั่งหรือสคริปต์บนเว็บเซิร์ฟเวอร์ที่ทำงานอยู่เบื้องหลัง งาน cron หมายถึงงานเฉพาะที่กำหนดเวลาให้ทำงานตามเวลา วันที่ หรือช่วงเวลาคงที่ที่กำหนดไว้ล่วงหน้า งานดังกล่าวมักจะซ้ำซากและเป็นไปโดยอัตโนมัติเพื่อเพิ่มประสิทธิภาพ ในกรณีของ WordPress ฟังก์ชัน WP-Cron ใช้เพื่อจำลอง cron ของระบบ

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

วิธีตั้งค่างาน Cron ใน WordPress

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

ในการกำหนดเวลาเหตุการณ์ WP-Cron จำเป็นต้องสร้าง hooks แบบกำหนดเอง เราขอแนะนำให้อ่านคู่มือปลั๊กอิน WordPress อย่างเป็นทางการ ซึ่งมีคำแนะนำที่ดีเยี่ยมเกี่ยวกับการจัดกำหนดการเหตุการณ์ WP-Cron หากคุณกำลังมองหาวิธีอื่นในการกำหนดค่า cron ระบบภายใน WordPress เราขอแนะนำให้อ้างอิงบทความของ Tom Mcfarlin’s เกี่ยวกับการกำหนดงาน cron ของ WordPress นอกจากนี้ สำหรับผู้ที่มีประสบการณ์น้อย เราจะสำรวจวิธีง่ายๆ ในการใช้ WP-Cron ร่วมกับปลั๊กอิน WP C r ontrol ยอดนิยมฟรี ปลั๊กอินนี้ช่วยให้คุณตรวจสอบและจัดการกิจกรรมภายในระบบ WP-Cron

สร้างเว็บไซต์ที่น่าทึ่ง

ด้วย Elementor ตัวสร้างหน้าฟรีที่ดีที่สุด

เริ่มเลย

WP Crontrol มีจำนวนการติดตั้งใช้งานที่น่าประทับใจมากกว่า 200,000 พร้อมกับคะแนนพิเศษ 4.5 เต็ม 5 ภายในชุมชน WordPress ปลั๊กอินนี้ได้รับความชื่นชมอย่างมาก

ปลั๊กอินนี้นำเสนอยูทิลิตี้ที่โดดเด่นด้วยการให้ภาพรวมที่ครอบคลุมของงาน CRON ที่กำหนดให้รัน ทำหน้าที่เป็นขั้นตอนเริ่มต้นที่ยอดเยี่ยมในการทำความเข้าใจกระบวนการพื้นฐานและกำหนดสถานะการดำเนินงาน ข้อดีดังกล่าวทำให้คะแนน 5 ดาวเป็นเอกฉันท์ นอกจากนี้ ความสามารถในการสร้างงาน cron ใหม่และเริ่มการดำเนินการของงานที่มีอยู่จะช่วยเพิ่มมูลค่าของมัน โดยรับประกันการให้คะแนน 5 ดาวเพิ่มเติม ตามที่ Josh ผู้สร้าง Caldera Forms ยืนยัน

หากต้องการรับปลั๊กอินนี้ คุณสามารถดาวน์โหลดได้โดยตรงจากพื้นที่เก็บข้อมูล WordPress หรือค้นหาภายในแดชบอร์ด WordPress ภายใต้ส่วนปลั๊กอิน "เพิ่มใหม่" คุณสมบัติเด่นของ WP Control ได้แก่:

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

กำหนดการ WP-Cron

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

ช่วงเวลาเหล่านี้สามารถรวมเข้ากับรหัสได้โดยใช้ตัวกรอง ตัวอย่างโดยบรรทัดของรหัสต่อไปนี้:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

เหตุการณ์ WP-Cron


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


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

เพิ่มเหตุการณ์ Cron

นอกจากนี้ คุณมีตัวเลือกในการรวมเหตุการณ์ Cron เข้ากับการตั้งค่าของคุณ ในตัวอย่างนี้ เราจะสาธิตขั้นตอนการเพิ่มงาน WordPress Cron สำหรับปลั๊กอิน Disqus โดยเฉพาะ หลายคนอาจต้องการทำงานนี้เพื่อแก้ไขความถี่การซิงโครไนซ์หรือแก้ไขปัญหาที่เกี่ยวข้องกับการซิงโครไนซ์ความคิดเห็น เอกสารที่จัดทำโดยผู้พัฒนาปลั๊กอินบุคคลที่สามแต่ละรายควรมีชื่อที่กำหนดไว้สำหรับเหตุการณ์ cron หรืออีกนัยหนึ่งคือชื่อการดำเนินการ ในกรณีของปลั๊กอิน Disqus ชื่อการกระทำที่ใช้คือ "dsq_sync_forum"

หากคุณต้องการสร้างเหตุการณ์ cron ตั้งแต่เริ่มต้น คุณจะต้องใช้ action hook ที่สอดคล้องกันภายในโค้ดของคุณ เช่น ไฟล์ functions.php ตัวอย่างต่อไปนี้ ได้รับความอนุเคราะห์จาก WP-Crontrol แสดงให้เห็นแนวคิดนี้:

add_action( 'my_hookname', 'my_function' );

ฟังก์ชันต่อไปที่คุณจะเขียนคือ -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


ในกรณีของ Disqus ขั้นตอนเริ่มต้นของเราเกี่ยวข้องกับการรวมกำหนดการ cron ใหม่เข้ากับระยะเวลา 600 วินาที (เทียบเท่ากับ 10 นาที) ต่อจากนั้น เราดำเนินการเข้าถึงคุณลักษณะ "เพิ่มเหตุการณ์ Cron" ซึ่งเราป้อน "dsq_sync_forum" เป็นชื่อการกระทำที่กำหนด จากนั้นเราจะเลือกเวลาดำเนินการที่ตามมาและเลือกช่วงเวลา 10 นาทีที่เราเพิ่งกำหนด สุดท้าย เราสรุปกระบวนการโดยเลือก "เพิ่มเหตุการณ์ Cron" ดังนั้น ขั้นตอนนี้จึงรับประกันการเกิดขึ้นซ้ำอัตโนมัติทุกๆ 10 นาที อำนวยความสะดวกในการซิงโครไนซ์ความคิดเห็น Disqus กับฐานข้อมูล WordPress ของเราด้วยตนเอง

โดยพื้นฐานแล้ว การใช้งานฟังก์ชันนี้ตรงไปตรงมาและเป็นมิตรกับผู้ใช้

แก้ไขเหตุการณ์ข้าวโพด

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

เพิ่มงาน Cron โดยใช้ cPanel

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

หน้าการตั้งค่าสำหรับงาน Cron มีตัวเลือกสำหรับการกำหนดค่าการแจ้งเตือนงาน cron และสร้างรายการใหม่ หากต้องการรวมงาน cron โปรดไปที่ส่วนที่ระบุว่า "เพิ่มงาน Cron ใหม่" โดยเลื่อนลง

ในส่วนนี้ คุณจะมีโอกาสปรับความถี่ของคำสั่ง

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

หลังจากกำหนดค่าความถี่ของงาน cron แล้ว คุณสามารถป้อนคำสั่งที่จะดำเนินการภายในช่องคำสั่งที่กำหนด หากต้องการรักษาการเปลี่ยนแปลง ให้บันทึกงาน cron โดยเลือกตัวเลือก "เพิ่มงาน Cron ใหม่" ดังนั้น งาน cron ที่สร้างขึ้นใหม่จะแสดงในรายการงาน Cron ปัจจุบันที่ด้านล่างของหน้า

ปิดใช้งาน WP-Cron

ในบางกรณี การใช้ฟังก์ชัน WP-Cron อาจทำให้เกิดความยุ่งยากในเว็บไซต์ของคุณ WP-Cron เป็นเวอร์ชันจำลองของงาน cron ซึ่งขาดการดำเนินการอย่างต่อเนื่องที่เกี่ยวข้องกับงานดังกล่าว แต่ WordPress จะดำเนินการสคริปต์ wp-cron.php ทุกครั้งที่โหลดหน้าเว็บ

วิธีการนี้อาจนำไปสู่ความท้าทายสำหรับเว็บไซต์ที่มีทราฟฟิกสูง เนื่องจากต้องมีการจัดสรรทรัพยากรจำนวนมากเพื่อเรียกใช้ wp-cron.php ระหว่างการโหลดหน้าเว็บทุกครั้ง หากสคริปต์ทำงานล้มเหลวเนื่องจากการโหลดหน้าเว็บ คำสั่งที่กำหนดเวลาไว้อาจทำงานล้มเหลวเช่นกัน เนื่องจาก wp-cron.php ไม่ได้ตรวจสอบช่วงเวลา

หากคุณพบปัญหากับ WP-Cron คุณมีตัวเลือกในการปิดใช้งานฟังก์ชันนี้โดยการรวมโค้ดต่อไปนี้ไว้ในไฟล์ wp-config.php ของ WordPress:

define('DISABLE_WP_CRON', true);

เมื่อบันทึกการแก้ไขลงในไฟล์แล้ว กระบวนการก็เสร็จสมบูรณ์ อย่างไรก็ตาม หากคุณเลือกที่จะปิดใช้งาน WP-Cron คุณจะต้องสร้างทางเลือกอื่นโดยใช้วิธีการใดๆ ที่อธิบายไว้ในส่วนก่อนหน้าของบทช่วยสอนนี้

ห่อ

เพิ่มประสิทธิภาพและลดค่าใช้จ่ายในขณะที่ปรับฟังก์ชันการทำงานของเว็บไซต์ให้เหมาะสมโดยใช้ประโยชน์จากการผสานรวมระดับองค์กรที่มีมูลค่า 275 ดอลลาร์ขึ้นไป ซึ่งรวมเข้ากับแผน WordPress ภายใต้การจัดการแต่ละแผนอย่างราบรื่น การผสานรวมเหล่านี้ประกอบด้วยเครือข่ายการส่งเนื้อหา (CDN) ที่มีประสิทธิภาพสูง การป้องกัน Distributed Denial of Service (DDoS) ที่มีประสิทธิภาพ การป้องกันที่ครอบคลุมจากมัลแวร์และความพยายามในการแฮ็ก กลไกการแคชขอบที่มีประสิทธิภาพ และเครื่อง CPU ที่รวดเร็วที่สุดของ Google เริ่มต้นการเดินทางของคุณโดยไม่ต้องมีข้อผูกมัดตามสัญญาที่ยืดเยื้อ รับประโยชน์จากการย้ายข้อมูลที่มีคำแนะนำ และเพลิดเพลินกับการรับประกันคืนเงินภายใน 30 วัน

Divi WordPress Theme