ฉันจะดีบักปัญหากับ WordPress Cron ได้อย่างไร ฉันคิดว่ามันจะทริกเกอร์เมื่อผู้ใช้ไปที่ไซต์ของคุณ แต่ข้อผิดพลาดใด ๆ จะไม่ปรากฏแก่พวกเขาเนื่องจากงานจะทำงาน "แบบไม่พร้อมกัน" ดังนั้นฉันจะแก้ไขข้อผิดพลาดได้อย่างไร
ฉันใช้ wp schedule event
ฉันจะดีบักปัญหากับ WordPress Cron ได้อย่างไร ฉันคิดว่ามันจะทริกเกอร์เมื่อผู้ใช้ไปที่ไซต์ของคุณ แต่ข้อผิดพลาดใด ๆ จะไม่ปรากฏแก่พวกเขาเนื่องจากงานจะทำงาน "แบบไม่พร้อมกัน" ดังนั้นฉันจะแก้ไขข้อผิดพลาดได้อย่างไร
ฉันใช้ wp schedule event
คำตอบ:
คุณสามารถรัน WP cron ด้วยตนเองโดยโทร: http://example.com/wp-cron.php?doing_wp_cron
หากคุณไม่ต้องการให้ cron อัตโนมัติทำงานในขณะที่คุณกำลังดีบั๊กให้เพิ่ม/wp-config.php
ไฟล์นี้ในไฟล์ของคุณ:
define('DISABLE_WP_CRON', true);
หากคุณอยู่ในสภาพแวดล้อมการพัฒนาและต้องการส่งออกข้อมูลการดีบักการโทรด้วยตนเองเช่นนั้นจะแสดงผลลัพธ์การดีบักของคุณ
หรือคุณสามารถใช้ฟังก์ชันerror_logในตัวของ PHP เพื่อบันทึกสตริงข้อความลงในบันทึกข้อผิดพลาดเพื่อการดีบั๊ก คุณต้องใช้สิ่งนี้ร่วมกับการตั้งค่า WP_DEBUG ตามที่ Rarst พูดถึง
?doing_cron
พารามิเตอร์
?doing_wp_cron
?doing_cron
?doing_wp_cron
พารามิเตอร์ต้อง? ดูชุดคู่มือ EasyCron ขึ้นกวดวิชา
คุณสามารถใช้ปลั๊กอินCron-View มีคุณสามารถดูว่างานของคุณเป็น) ลงทะเบียนและข) เวลาที่กำหนดต่อไปคืออะไร
นอกจากนี้คุณสามารถเพิ่มตัวจับเวลาที่ต่ำกว่าลงในกิจกรรมของคุณ (เช่นทุก ๆ 2 นาที) และทดสอบวิธีการของคุณบ่อยขึ้นในระบบท้องถิ่น ใช้ตะขอตัวกรอง 'cron_schedules' เพื่อลงทะเบียนตารางเวลาใหม่ ตัวอย่างเช่น:
function my_additional_schedules($schedules) {
// interval in seconds
$schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes');
return $schedules;
}
add_filter('cron_schedules', 'my_additional_schedules');
คุณสามารถ (และอาจจะในกรณีใด ๆ cron หรือไม่) กำหนดค่าบันทึกข้อผิดพลาด PHPเพื่อรวบรวมข้อผิดพลาดทั้งหมด
คุณสามารถดีบักได้ด้วยตนเองโดยสร้างแอคชันและดำเนินการแอคชัน Cron ภายใน อย่างนี้:
add_action( 'init', function() {
if ( ! isset( $_GET['the_cron_test'] ) ) {
return;
}
error_reporting( 1 );
do_action( 'this_is_cron_event_hook' );
die();
} );
และโดยไปที่ที่อยู่เว็บไซต์ของคุณ: http://example.com?the_cron_test
สิ่งนี้จะแสดงข้อผิดพลาดใด ๆ กับงาน cron
แต่มันก็ไม่จำเป็นต้องทำด้วยตนเอง คุณสามารถใช้ปลั๊กอินAdvanced Cron Manager PROซึ่งทำสิ่งนี้เพื่อคุณและยังบันทึกบันทึกและสถิติอื่น ๆ