ดังนั้นจึงมีสถานการณ์ดังต่อไปนี้
ฉันเพิ่มการดำเนินการเพื่อล้างบันทึกจากฐานข้อมูล:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
ตอนนี้ฉันต้องการเรียกใช้การกระทำนี้เป็นระยะ:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
และดำเนินการด้วยตนเอง:
do_action( 'myplugin_clean_logs' );
เมธอดMyPlugin_Logs::clean_logs
จะส่งคืนจำนวนแถวที่ได้รับผลกระทบหรือเป็นเท็จหากมีสิ่งใดไปในทิศทางอื่น
ตอนนี้ฉันต้องการแสดงจำนวนแถวที่ถูกลบไปแล้ว ฉันจะจินตนาการถึงสิ่งนี้:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
แต่เนื่องจากdo_action
จะไม่คืนค่าใด ๆ ฉันไม่ทราบวิธีรับค่าตอบแทน
ฉันควรรันเมธอดโดยตรงจากการเรียกใช้ด้วยตนเอง แต่ใช้การดำเนินการกับกำหนดการของเหตุการณ์หรือไม่