Nội dung bài viết
Giới thiệu
Vừa qua mình có gặp phải một trường hợp lên lịch đăng bài tự động cho website WordPress của mình, nhưng bài viết không tự đăng lên. Trong quá trình xử lý mình có tiện viết lại để những bạn gặp lỗi tương tự có thể xử lý được.
Liên quan đến lỗi này, thường sẽ có 2 trường hợp hay gặp nhất đó là
- Giờ website và giờ hệ thống (Host/VPS) không giống nhau.
- Cron Jobs xử lý của WordPress không hoạt động
Bây giờ mình sẽ hướng dẫn xử lý cả 2 trường hợp , bạn theo dõi tiếp phần hướng dẫn xử lý bên dưới.
Hướng dẫn xử lý
Trường hợp 1: Kiểm tra và xử lý múi giờ
Bước 1: Kiểm tra giờ hệ thống và giờ website
Như trường hợp ở trên mình đang nói tới, thì sau khi kiểm tra giờ của VPS và website thì thấy 2 múi giờ hoàn toàn khác nhau, nên việc đầu tiên mình sẽ sửa lại cho giống múi giờ với nhau.
Thì ở đây, mình đang ở Việt Nam và mình sẽ chọn múi giờ Việt nam, cụ thể là Ho Chi Minh, thì lúc này giờ ở Việt Nam là 18:50 phút, nhưng ở trên VPS thì đang là 11:50 phút nghĩa là giờ ở VPS chậm hơn 7 giờ.
Bây giờ mình sẽ tiến hành cập nhật lại múi giờ trên VPS cho giống với múi giờ của website.
Bước 2: Cập nhật giờ hệ thống
Ở VPS của bạn, bạn có thể sử dụng lệnh bên dưới để xem múi giờ và cập nhật múi giờ Việt Nam cho VPS với các lệnh
timedatectl status ### Xem thông tin múi giờ timedatectl set-timezone "Asia/Ho_Chi_Minh" ### Set múi giờ Việt nam cho VPS
Trường hợp 2: Kiểm tra Cron Jobs của WordPress
Bước 1: Kiểm tra xem Cron Jobs có bị chặn không
Nếu ở trường hợp 1 múi giờ của bạn đã đúng mà vẫn chưa xử lý được, thì bạn kiểm tra tiếp phần Cron Jobs của WordPress xem có đang bị chặn hay không, vì nếu tính năng này bị chặn thì đồng nghĩa với việc các thiết lập liên quan đến chạy tự động sẽ không thể hoạt động.
Để kiểm tra bạn mở file wp-config.php tại đường dẫn Document Root của website để xem có đoạn bên dưới hay không nhé, nếu có thì bạn tiến hành # hoặc xóa dòng đó đi để Cron Jobs hoạt động bình thường.
define('DISABLE_WP_CRON', 'true');
Nếu đã xử lý phần này mà vẫn chưa được, đừng lo lắng bạn hãy làm tiếp theo bước 2.
Bước 2: Cài đặt Plugin Scheduled Post Trigger
Cách thức hoạt động của plugin này là khi ai đó truy cập vào website của bạn, ngay lập tức nó sẽ kiểm tra WordPress có bỏ lỡ bất kỳ công việc nào được lên lịch gần đây không. Nếu Plugin tìm thấy công việc nào bị bỏ lỡ, nó sẽ thực hiện đăng lại công việc đó cho bạn. Để dễ hiểu hơn, Plugin này sẽ là công cụ để kiểm tra các hoạt động định kỳ liên quan đến Cron Jobs của WordPress.
Bạn chỉ cần cài đặt và kích hoạt PLugin để sử dụng, ngoài ra bạn không cần phải tùy chỉnh gì thêm.
Và dưới đây là kết quả sau khi mình đã xử lý theo các bước trên. Bài viết của mình đã có thể lên lịch đăng bài tự động.
Chúc các bạn thực hiện thành công.!