Cấu hình Newsletter gửi theo thời gian chỉ định
GIẢI PHÁP HOÀN HẢO: Chỉ vô hiệu hóa tất cả job, nhưng không chặn file wp-cron.php
Cách làm:
Bạn thêm đoạn sau vào functions.php
hoặc tạo plugin:
// 1. Gỡ toàn bộ các tác vụ cron đã đăng ký
add_action('init', function() {
if (function_exists('_get_cron_array')) {
$crons = _get_cron_array();
if (!empty($crons)) {
foreach ($crons as $timestamp => $cronhooks) {
foreach ($cronhooks as $hook => $args) {
foreach ($args as $key => $value) {
wp_unschedule_event($timestamp, $hook, $value['args']);
}
}
}
}
}
});
// 2. Chặn plugin khác thêm job mới
add_filter('schedule_event', '__return_false');
// 3. Xóa hết schedule custom để plugin không đăng ký được lịch mới (ví dụ: every_minute, newsletter,...)
add_filter('cron_schedules', function($schedules) {
return [];
});
Nội dung
Tắt cron mặc định của worpress để tự chạy cron ngoài
Nếu bạn thiết lập trình kích hoạt cron bên ngoài bằng một trong những phương pháp trên (chỉ sử dụng một trong số chúng!), bạn có thể ngăn WordPress cố gắng tự động kích hoạt cài đặt trình lập lịch nội bộ trên wp-config.php
:

define('DISABLE_WP_CRON', true);
Tạo cron trên ubuntu
crontab -e
Lưu và thoát
- Nếu dùng
nano
: nhấnCtrl + O
gõ enter để lưu, sau đóCtrl + X
để thoát. - Hệ thống sẽ hiển thị:
crontab: installing new crontab
đoạn mã 1 chạy mỗi năm phút xuyên suốt 24h
đoạn mã 2 chạy mỗi 5 phút từ 6h sáng tới 18 giờ chiều
đoạn mã 3 chạy mỗi phút từ 6h sáng tới 5h chiều
*/5 * * * * curl -s https://123web.io.vn/wp-cron.php?doing_wp_cron > /dev/null 2>&1
*/5 6-18 * * * curl -s https://123web.io.vn/wp-cron.php?doing_wp_cron > /dev/null 2>&1
* 6-18 * * * curl -s https://123web.io.vn/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Cấu hình cron cho fastpanel
/usr/bin/wget -O /dev/null "https://domain.com/wp-cron.php"
Bình luận trên facebook netweb.vn