Hàm wp_schedule của Wordpress theo mình hiểu nó là 1 dạng cron theo kiểu khi ta mở trang web ra mà không đóng tab thì nó giống ajax nó chạy ngầm, cứ sau 1 khoảng thời gian thì nó chạy hàm theo ý mình. Nhưng mình chạy thử thì không tài nào làm cho nó chạy được. Nguyên nhân là do đâu ? Đây là code của mình, mình đặt nó trong 1 file plugin nào đó :

Mình đã chỉnh giờ của máy tính, giờ của Wordpress, giờ của php.ini trùng nhau mà vẫn ko làm sao chạy được, mình chạy code trên localhost. Các bạn giúp mình với :

class CronTest {

function __construct() {
add_action( 'init', array ( $this, 'g_order_sync' ) );
add_action( 'ga_order_syn', array ( $this, 'sync_order' ) );
}

// init

public function g_order_sync() {
try{
if ( ! wp_next_scheduled( 'ga_order_syn' ) ) {
wp_schedule_event( time() + 10, null, 'ga_order_syn' );
}
}
catch(Exception $ex)
{
echo "<p>Lỗi hiện tại: " . $e->getMessage() . "</p>"; //xuất lỗi
}
}

// cron job

public function sync_order() {
$content = time() . ": some text here";
$this->_write_content ($content);
}

// write content

private function _write_content( $content = '') {echo 'abc';
$path = $_SERVER[ 'DOCUMENT_ROOT' ] . "/myText.txt";
if( is_writable($path)) {
$original = file_get_contents($path);
$original .= PHP_EOL . $content;
$fp = fopen( $path, "wb" );
fwrite( $fp, $original );
fclose( $fp );
} else {
// log error here
}
}
}

// must initialize the cron class
$cron_test = new CronTest();