Đây là một câu hỏi ngu ngốc ...
Tôi đã lên lịch một hành động để chạy mỗi giờ:
if(!wp_next_scheduled('my_hourly_events'))
wp_schedule_event(time(), 'hourly', 'my_hourly_events');
add_action('my_hourly_events', 'the_function_to_run');
function the_function_to_run(){
echo 'it works!';
}
Làm thế nào tôi có thể kiểm tra nếu điều này hoạt động mà không phải chờ đợi một giờ? :)
Tôi đã thử thêm wp_clear_scheduled_hook('my_hourly_events');
trước mã này và thêm wp_cron()
sau, nhưng tôi không thấy chức năng của mình đang chạy ...
chỉnh sửa:
ok, tôi đã thêm một trigger_error()
chức năng bên trong, kiểm tra nhật ký lỗi apache và nó ở đó :)
Vì vậy, bây giờ tôi thậm chí còn bối rối hơn:
Làm thế nào wp-cron có thể chạy trong nền? bởi vì rõ ràng đó là những gì xảy ra nếu tôi không thấy đầu ra ...
điều này dường như không hoạt động trong bối cảnh đối tượng; tại sao?
array( &$this, 'my_method_name' )
nào? Điều đó thực sự sẽ không hoạt động vì tên hàm được lưu trữ trong cơ sở dữ liệu sẽ được thực hiện sau đó. &$this
đề cập đến một đối tượng cụ thể, không phải tên lớp và đối tượng này sẽ không tồn tại ở yêu cầu tiếp theo khi công việc định kỳ được thực thi. Một hàm lớp tĩnh nên hoạt động.
wp_remote_post()
. điều đó giải thích mọi thứ ...