Vừa rồi mình có gặp một lỗi trên WordPress khi mình thực hiện lên lịch các bài viết thì đến đúng giờ mà mình đã lên lịch nhưng mà các bài viết không tự đăng. Ngay đó đó mình đã kiểm tra thử Giờ Website và Giờ hệ thống VPS thì nhận thấy tất cả đều chính xác và trùng khớp với nhau.
Tiếp theo mình vào WordPress ở phần Công cụ (Tools) sau đó và Kiểm tra hệ thống thì thấy thông báo về lỗi sự kiện lên lịch như ảnh bên dưới.
Sự kiện lên lịch gặp vấn đề
Sự kiện được lên lịch, action_scheduler_run_queue, đã không thể chạy lần gần nhất. Website của bạn vẫn đang hoạt động, nhưng có thể các bài viết lập lịch hoặc cập nhật tự động có thể không hoạt động như dự định.
Và với lỗi này mình có search được một bài ở forum wordpress.org thì thấy có một người gặp lỗi giống mình và xử lý như sau.
Đầu tiên sẽ đăng nhập vào bên trong thư mục lưu trữ mã nguồn và mở file wp-config.php
lên. Sau đó bạn tìm và xoá dòng có tên define('DISABLE_WP_CRON', 'true');
Tiếp theo bạn hãy thêm đoạn mã bên dưới vào file và lưu lại.
// action_scheduler_run_queue, define('ALTERNATE_WP_CRON', true);
Sau khi đã xoá và thêm hoàn tất mình tải lại trang thì nhận được kết quả mới. Lỗi đã không còn xuất hiện nữa và Sự kiện lên lịch của mình đã được khắc phục.
Lưu ý: Nếu bạn truy cập vào domain và nhận thấy dòng ?doing_wp_cron=
như ảnh bên dưới. hãy xử lý như sau. Bạn mở file .htaccess
và thêm vào các đoạn mã bên dưới.
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (^|&)doing_wp_cron= [NC] RewriteRule (.*) /\? [R=301,L] </IfModule>
Và đây có lẽ là một cách trong rất nhiều cách xử lý lỗi trên. Nếu bạn có cách nào hay hơn và xử lý nhanh hơn xin hãy chia sẻ lại với mình, để bổ sung thêm hướng dẫn giúp các bạn đang gặp lỗi có thể tìm và xử lý trên web nhé.
Chúc các bạn thực hiện thành công.