Cách tạo và sửa đổi công việc định kỳ WordPress

Rifat Plugin WordPress Jul 4, 2023

Cron là một tiện ích thường được sử dụng trong các hệ thống Unix/Linux để lên lịch các lệnh hoặc tập lệnh trên máy chủ web hoạt động ở chế độ nền. Một công việc định kỳ đề cập đến một tác vụ cụ thể được lên lịch để chạy vào thời gian, ngày hoặc khoảng thời gian cố định được xác định trước. Những nhiệm vụ như vậy thường lặp đi lặp lại và được tự động hóa để nâng cao hiệu quả. Trong trường hợp của WordPress, chức năng WP-Cron được sử dụng để mô phỏng một cron hệ thống.

Các phiên bản của công việc định kỳ WordPress có thể bao gồm lên lịch xuất bản bài đăng hoặc chạy plugin dự phòng theo thời gian biểu được xác định trước. Trọng tâm của cuộc thảo luận này là cung cấp hướng dẫn toàn diện về cách dễ dàng tạo, sửa đổi và thực thi một công việc định kỳ WordPress.

Cách thiết lập công việc định kỳ trong WordPress

Điều đáng chú ý là WP-Cron khác một chút so với cron hệ thống và mỗi loại đều có ưu điểm và nhược điểm riêng. WP-Cron chỉ dựa vào các khoảng thời gian, trong khi cron hệ thống dựa vào thời gian cụ thể. Hơn nữa, WP-Cron chỉ hoạt động khi trang được tải, cho dù đó là trang web phía sau hay phía trước, điều này có thể dẫn đến độ tin cậy kém hơn. Các khoảng thời gian mặc định do WordPress cung cấp bao gồm lịch trình hàng giờ, hai lần mỗi ngày và hàng ngày.

Để lên lịch các sự kiện WP-Cron, cần phải tạo các móc tùy chỉnh. Chúng tôi thực sự khuyên bạn nên tham khảo sổ tay bổ trợ WordPress chính thức, cung cấp hướng dẫn tuyệt vời về cách lên lịch các sự kiện WP-Cron. Nếu bạn đang tìm kiếm một phương pháp thay thế để định cấu hình cron hệ thống trong WordPress, chúng tôi khuyên bạn nên tham khảo bài viết của Tom Mcfarlin’ về việc xác định công việc định kỳ WordPress. Ngoài ra, đối với những người có thể ít kinh nghiệm hơn, chúng tôi sẽ khám phá một cách dễ dàng để sử dụng WP-Cron kết hợp với plugin WP C r ontrol miễn phí phổ biến. Plugin này cho phép bạn theo dõi và quản lý các hoạt động trong hệ thống WP-Cron.

Tạo trang web tuyệt vời

Với trình tạo trang miễn phí tốt nhất Elementor

Bắt đầu bây giờ

WP Crontrol tự hào có số lượng cài đặt hoạt động ấn tượng vượt quá 200.000, cùng với xếp hạng đặc biệt là 4,5 trên 5. Trong cộng đồng WordPress, plugin này đã nhận được sự ngưỡng mộ đáng kể.

Plugin này cung cấp tiện ích vượt trội bằng cách cung cấp tổng quan toàn diện về các công việc CRON được lên lịch chạy. Nó phục vụ như một bước khởi đầu tuyệt vời để hiểu các quy trình cơ bản và xác định trạng thái hoạt động của chúng. Những thành tích như vậy đã dẫn đến sự đánh giá nhất trí là 5 sao. Ngoài ra, khả năng tạo các công việc định kỳ mới và bắt đầu thực hiện các công việc hiện có càng nâng cao giá trị của nó, đảm bảo xếp hạng 5 sao bổ sung, như khẳng định của Josh, người tạo ra Caldera Forms.

Để có được plugin này, người ta có thể tải xuống trực tiếp từ kho lưu trữ WordPress hoặc định vị nó trong bảng điều khiển WordPress trong phần bổ trợ "Thêm mới". Các tính năng đáng chú ý của WP Control bao gồm:

  • Hiển thị toàn diện tất cả các sự kiện cron, bao gồm các đối số tương ứng, các mẫu lặp lại và thời gian thực hiện sắp tới.
  • Khả năng sửa đổi, xóa hoặc bắt đầu ngay lập tức bất kỳ sự kiện cron nào.
  • Việc cung cấp để giới thiệu các sự kiện cron mới.
  • Tùy chọn để thêm, sửa đổi và xóa lịch định kỳ tùy chỉnh.

Lịch trình WP-Cron

Sau khi kích hoạt, người dùng có khả năng sửa đổi lịch trình công việc WordPress Cron bằng cách truy cập phần "Lịch trình Cron" trong cài đặt của bảng điều khiển WordPress của họ. Điều quan trọng cần lưu ý là plugin giới thiệu một lịch trình mặc định bổ sung với tần suất hàng tuần. Hơn nữa, người dùng có tùy chọn bao gồm các lịch trình bổ sung được tính bằng giây, ví dụ: 21600 giây để thực hiện các tác vụ cứ sau 6 giờ.

Các khoảng thời gian này có thể được tích hợp vào mã bằng cách sử dụng bộ lọc, được minh họa bằng dòng mã sau:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

Sự kiện WP-Cron


Sau đó, plugin cũng có thể được sử dụng để xem các công việc WordPress Cron hiện có đã được lên lịch. Để truy cập tính năng này, hãy điều hướng đến phần "Sự kiện Cron" trong tab "Công cụ". Nhiều tên hành động có thể dễ dàng nhận dạng, vì chúng phải tương ứng với các phần cụ thể của tên plugin, chẳng hạn như "woocoomerce_cleanup_sessions" hoặc "gravityforms_cron."


Để bắt đầu thực thi ngay một sự kiện Cron, người ta chỉ cần nhấp vào tùy chọn "Chạy ngay" bên cạnh tên hành động tương ứng. Chức năng này tỏ ra thuận lợi trong quá trình khắc phục sự cố, đặc biệt khi cần chạy một sự kiện Cron nhiều lần.

Thêm sự kiện Cron

Ngoài ra, bạn có tùy chọn kết hợp các sự kiện Cron vào thiết lập của mình. Trong trường hợp này, chúng tôi sẽ trình bày quy trình thêm một công việc WordPress Cron dành riêng cho plugin Disqus. Nhiều cá nhân có thể muốn thực hiện tác vụ này để sửa đổi tần suất đồng bộ hóa hoặc giải quyết các vấn đề liên quan đến đồng bộ hóa nhận xét. Tài liệu do mỗi nhà phát triển plugin bên thứ ba cung cấp phải chứa tên được chỉ định cho sự kiện định kỳ của họ, hay nói cách khác, tên hành động. Trong trường hợp plugin Disqus, tên hành động được sử dụng là "dsq_sync_forum."

Nếu bạn có ý định tạo một sự kiện định kỳ từ đầu, thì bạn sẽ cần một hook hành động tương ứng trong mã của mình, chẳng hạn như tệp functions.php. Ví dụ sau, nhờ WP-Crontrol, minh họa khái niệm này:

add_action( 'my_hookname', 'my_function' );

Hàm tiếp theo bạn sẽ viết là -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


Trong trường hợp của Disqus, bước đầu tiên của chúng tôi bao gồm việc kết hợp một lịch trình định kỳ mới với thời lượng 600 giây (tương đương với 10 phút). Sau đó, chúng tôi tiến hành truy cập tính năng "Thêm sự kiện Cron", nơi chúng tôi nhập "dsq_sync_forum" làm tên hành động được chỉ định. Sau đó, chúng tôi chọn thời gian thực hiện tiếp theo và chọn khoảng thời gian 10 phút mà chúng tôi đã thiết lập gần đây. Cuối cùng, chúng tôi kết thúc quá trình bằng cách chọn "Thêm sự kiện Cron." Do đó, quy trình này đảm bảo lặp lại tự động cứ sau 10 phút, tạo điều kiện thuận lợi cho việc đồng bộ hóa thủ công các nhận xét Disqus với cơ sở dữ liệu WordPress của chúng tôi.

Về bản chất, việc sử dụng chức năng này rất đơn giản và thân thiện với người dùng.

Sửa đổi sự kiện ngô

Ngoài ra, có thể sửa đổi các sự kiện Cron có sẵn bằng cách chọn tùy chọn "Chỉnh sửa" bên cạnh tên hành động. Do đó, bạn có khả năng thay đổi tên hành động, đối số, lần thực hiện tiếp theo và lặp lại theo lịch trình. Điều quan trọng là phải thận trọng khi thực hiện những thay đổi như vậy, vì nhiều plugin phụ thuộc vào công việc Cron của chúng để có chức năng phù hợp.

Thêm một công việc định kỳ bằng cPanel

Nếu bạn có quyền truy cập vào tài khoản cPanel do máy chủ web của mình cung cấp, bạn có thể sử dụng bảng điều khiển để thiết lập các công việc định kỳ. Để thực hiện việc này, vui lòng đăng nhập vào tài khoản cPanel của bạn và điều hướng đến phần "Nâng cao", sau đó chọn "Công việc định kỳ".

Trang cài đặt cho Công việc định kỳ cung cấp các lựa chọn để định cấu hình thông báo công việc định kỳ và thiết lập thông báo mới. Để kết hợp một công việc định kỳ, vui lòng điều hướng đến phần có nhãn "Thêm công việc định kỳ mới" bằng cách cuộn xuống.

Trong phần này, bạn sẽ có cơ hội điều chỉnh tần suất của lệnh.

Menu Cài đặt chung bao gồm nhiều lựa chọn được cấu hình sẵn khác nhau, kéo dài từ tần suất một lần mỗi phút đến một lần mỗi năm. Người dùng có thể linh hoạt chọn bất kỳ tùy chọn nào trong số này hoặc tùy chỉnh thay thế các trường bên dưới bằng cách nhập giá trị được cá nhân hóa.

Sau khi định cấu hình tần suất của công việc định kỳ, bạn có thể tiến hành nhập lệnh mà nó sẽ thực thi trong trường Lệnh được chỉ định. Để duy trì các thay đổi, hãy lưu công việc định kỳ bằng cách chọn tùy chọn "Thêm công việc định kỳ mới". Do đó, công việc định kỳ mới được tạo sẽ được hiển thị trong số Công việc định kỳ hiện tại được liệt kê ở cuối trang.

Vô hiệu hóa WP-Cron

Trong một số trường hợp nhất định, việc sử dụng chức năng WP-Cron có thể gây phức tạp cho trang web của bạn. WP-Cron là phiên bản mô phỏng của một công việc định kỳ, thiếu hoạt động liên tục thường liên quan đến các công việc như vậy. Thay vào đó, WordPress thực thi tập lệnh wp-cron.php mỗi khi trang được tải.

Cách tiếp cận này có thể dẫn đến những thách thức đối với các trang web có lưu lượng truy cập cao, vì các tài nguyên đáng kể phải được phân bổ để thực thi wp-cron.php trong mỗi lần tải trang. Nếu tập lệnh không chạy được do tải trang, thì các lệnh đã lên lịch cũng có thể không thực thi được vì wp-cron.php không chủ động theo dõi các khoảng thời gian.

Nếu bạn gặp sự cố với WP-Cron, bạn có tùy chọn tắt chức năng này bằng cách kết hợp đoạn mã sau vào tệp wp-config.php của WordPress:

define('DISABLE_WP_CRON', true);

Khi các sửa đổi đã được lưu vào tệp, quá trình hoàn tất. Tuy nhiên, nếu bạn chọn tắt WP-Cron, bạn sẽ cần thiết lập một giải pháp thay thế bằng cách sử dụng bất kỳ phương pháp nào được mô tả trong các phần trước của hướng dẫn này.

kết thúc

Nâng cao hiệu quả và giảm chi phí đồng thời tối ưu hóa chức năng trang web bằng cách tận dụng các tích hợp cấp doanh nghiệp có giá trị từ $275 trở lên, được tích hợp liền mạch vào từng gói Managed WordPress. Các tích hợp này bao gồm Mạng phân phối nội dung (CDN) hiệu suất cao, khả năng bảo vệ từ chối dịch vụ phân tán (DDoS) mạnh mẽ, các biện pháp bảo vệ toàn diện chống lại phần mềm độc hại và các nỗ lực lấy cắp dữ liệu, cơ chế bộ đệm biên hiệu quả và các máy CPU nhanh nhất của Google. Bắt đầu hành trình của bạn mà không cần cam kết hợp đồng dài dòng, hưởng lợi từ việc di chuyển có hướng dẫn và tận hưởng bảo đảm hoàn lại tiền trong 30 ngày.

Divi WordPress Theme