Tất tần tật về Cron job trong WordPress từ A-Z (ok)

https://www.hoangweb.com/wordpress/cron-job-trong-wordpress

WP-Cron WP-CLI
Bạn cũng có thể quản lý sự kiện WP-Cron thông qua dòng lệnh WP-CLI . Ví dụ, những lệnh sau đây sẽ cung cấp cho bạn danh sách sự kiện cron hiện tại của bạn.

 wp cron event list 

Ví dụ 1: thêm các khoảng thời gian khác nhau tùy ý với đoạn mã PHP

wp-content/themes/twentytwentyone/functions.php

//========= Start Scheduled  ===========
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;
 }

Ví dụ 2: Tạo một sự kiện thêm bài viết sau khoảng thời gian là 30s

add_action( 'dsq_sync_forum_g', 'my_function' );
function my_function() {
  // Gather post data.
  $my_post = array(
    'post_title'    => 'My post',
    'post_content'  => 'This is my post.',
    'post_status'   => 'publish',
    'post_author'   => 1,
    'post_category' => array( 1 )
  );
  wp_insert_post( $my_post );
}

Ví dụ 3: Tạo tên một sự kiện có thời gian và tự thêm bài viết

//========= Start Scheduled  ===========
add_filter( 'cron_schedules', function ( $schedules ) {
  $schedules['per_minute'] = array(
    'interval' => 15,
    'display' => __( 'One Minute' )
  );
  return $schedules;
} );
if ( ! wp_next_scheduled( 'lionel_wp_next_scheduled_pi' ) ) {
  wp_schedule_event( time(), 'per_minute', 'lionel_wp_next_scheduled_pi' );
}

add_action( 'lionel_wp_next_scheduled_pi', 'lionel_wp_next_scheduled_fc' );
function lionel_wp_next_scheduled_fc() {
  $my_post = array(
    'post_title'    => 'My post Test',
    'post_content'  => 'This is my post.',
    'post_status'   => 'publish',
    'post_author'   => 1,
    'post_category' => array( 1 )
  );
  wp_insert_post( $my_post );
}

Đọc thêm:

https://app.gitbook.com/@wordpress-lionel/s/wordpress-advand/thoi-gian-tiep-theo-cho-mot-su-kien.-retrieve-the-next-timestamp-for-an-event.-wp_next_scheduled-ok

Tất tần tật về Cron job trong WordPress từ A-Z

Thứ Ba, 15/10/2019 by Hoàng Quách

Nội dung [Ẩn]

Cron là một tiện ích Unix / Linux mà thường được sử dụng để chạy các lệnh hoặc một script trên máy chủ web chạy ở chế độ nền. Một công việc JOB là 1 nhiệm vụ riêng, được sử dụng để thực thi công việc vào những thời điểm chu kỳ cố định, ngày, hoặc khoảng thời gian. Thực hiện cron một cách lặp lại đều đặn sẽ tiết tiết kiệm thời gian của bạn. Trong WordPress, bạn dễ dàng cài đặt cron bởi plugin WP-Cron , được sử dụng để mô phỏng một hệ thống cron.

Một vài ví dụ về cron WordPress có thể liên quan đến việc lập kế hoạch một bài đăng, tạo bản sao lưu plugin chạy theo một lịch trình định sẵn. Hôm nay chúng ta sẽ đi sâu vào cách làm sao để tạo, chỉnh sửa, và chạy một công việc định kỳ (cron) trong WordPress.

Thiết lập một WordPress Cron Job

WP-Cron sẽ khác với hệ thống cron của linux và cũng có ưu và nhược điểm riêng của nó. Ví dụ, WP-Cron dựa hoàn toàn vào những khoảng thời gian, trong khi một linux cron dựa vào thời điểm cụ thể. Một WP-Cron cũng chỉ hoạt động khi trang web được tải (back-end hay front-end), do đó có thể nó ít đáng tin cậy. Khoảng thời gian mặc định được cung cấp bởi WordPress là hourly, twicedaily, và daily.

WP Control WordPress plugin

WP Crontrol có hơn 80.000 cài đặt đang hoạt động với 4,9 trên 5 đánh giá ấn tượng. Nhiều người trong cộng đồng WordPress thực sự yêu plugin này.

Bạn có thể tải về từ kho WordPress hoặc bằng cách truy cập dưới menu “plugins > Add New”. Tính năng:

  • Khả năng để xem tất cả các sự kiện cron đi kèm với tham số, chu kỳ, và thông báo thời gian chạy.

  • Chỉnh sửa, xóa, và chạy ngay lập tức bất kỳ sự kiện cron nào.

  • Thêm sự kiện cron mới.

  • Thêm, chỉnh sửa, và xóa lịch chạy cron.

Lịch trình WP-Cron

NGoài ra, bạn còn có thể tạo thêm các khoảng thời gian khác nhau tùy ý với đoạn mã PHP , chẳng hạn như:

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

Sửa sự kiện Cron

Thêm sự kiện Cron

Bạn cũng có thể thêm sự kiện Cron. Trong ví dụ này, chúng ta sẽ thêm công việc cho plugin Disqus. Nhiều người có thể muốn làm điều này để thay đổi tần số đồng bộ hóa hoặc nếu họ đang gặp vấn đề với ý kiến ​​đồng bộ qua lại. Trong tài liệu thứ ba phát triển Plugin đó nên có tên của sự kiện cron của họ, hay chính xác là tên hành động. Trong trường hợp này nó là “dsq_sync_forum“.

Nếu bạn đang tạo cron từ đầu, mỗi hành động sẽ yêu cầu hàm sử lý thông qua action hook cho hành động tương ứng ở đâu đó trong mã của bạn, chẳng hạn như tập tin functions.php (tìm hiểu: thiết kế web ) trong thư mục giao diện. VD:

add_action( 'my_hookname', 'my_function' );

Bước tiếp theo là viết hàm chức năng cho sự kiện.

function my_function() {
    wp_mail( 'hello@example.com', 'WP Crontrol', 'WP Crontrol rocks!' );
}

Nó thực sự là khá dễ dàng để sử dụng phải không.

WP-Cron WP-CLI

Bạn cũng có thể quản lý sự kiện WP-Cron thông qua dòng lệnh WP-CLI . Ví dụ, những lệnh sau đây sẽ cung cấp cho bạn danh sách sự kiện cron hiện tại của bạn.

 wp cron event list 

Xem thêm hướng dẫn WP-CLI cron job về lệnh bổ sung và các thông số đi kèm.

chúc bạn thành công!

Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên TwitterFacebook

Last updated