Xử lý lỗi không đăng bài viết khi lên lịch trên WordPress

Giới thiệu

Trong quá trình mình hỗ trợ khách hàng tại AZDIGI, có một số khách hàng gặp phải lỗi lên lịch đăng cho bài viết nhưng đến đúng thời gian đó thì bài viết không được đăng lên. Thì vấn đề này thường liên quan đến các nguyên nhân sau

  1. Giờ website và giờ hệ thống (Host/VPS) không giống nhau.
  2. Cron Jobs xử lý của WordPress không hoạt động

Thì vấn đề này mình thường gặp phải ở trường hợp 1 lên đến 80%, và thường xảy ra trên các dịch VPS vì khi sử dụng VPS, người dùng sẽ có tùy chỉnh được múi giờ (timezone) theo từng khu vực trên thế giới. Do đó, nếu giờ thiết lập trên website và giờ ở hệ thống không giống nhau, thì việc lên lịch đăng bài viết sẽ bị sai thời điểm đăng hoặc lỗi không thể đăng.

Dưới đây là hình ảnh minh họa về trường hợp giờ website (18:47) và giờ hệ thống (11:47) bị lệnh nhau dẫn đến bài viết không tự đăng khi lên lịch. Và trường hợp này người dùng sử dụng VPS, nếu trường hợp bạn sử dụng Hosting và cần kiểm tra thời gian của hệ thống, bạn chỉ cần vào Host >> Terminal và gõ date để xem giờ của hệ thống, nếu sai bạn cần liên hệ với nhà cung cấp Hosting đó xử lý nhé.

Xử lý lỗi không đăng bài viết khi lên lịch trên WordPress

Hướng dẫn xử lý

Bây giờ mình sẽ hướng dẫn các bạn cách kiểm tra từng bước để chúng ta xác định được vấn đề và xử lý nó

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ờ.

Xử lý lỗi không đăng bài viết khi lên lịch trên WordPress

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 theo bước 2.

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
xu ly loi khong dang bai viet khi len lich tren wordpress 3835 2

Sau khi xử lý xong, bạn hãy kiểm tra lại việc lên lịch đăng bài viết của website xem đã xử lý được chưa nhé. Và ở trường hợp của mình thì sau khi cập nhật lại giờ thì đã lên lịch đăng bài thành công.

xu ly loi khong dang bai viet khi len lich tren wordpress 3835 3

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');
Xử lý lỗi không đăng bài viết khi lên lịch trên WordPress

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.

Xử lý lỗi không đăng bài viết khi lên lịch trên WordPress

 

Trên đây là các cách xử lý lỗi không đăng bài viết khi lên lịch trên WordPress vô cùng đơn giản mà bạn có thể tham khảo qua. Hy vọng các bạn có thể xử lý thành công nếu gặp trường hợp tương tự trên website WordPress của mình.