У нас есть плагин, который состоит из двух простых файлов: файл загрузчика плагинов php, который заботится об имени плагина, и версия et c. и functions. php, который вызывается из файла загрузчика плагинов.
Функции. php - это код, выполняющий работу. Плагин отвечает за обновление таблиц WooCommerce с запасом из файла CSV каждый час.
Я хочу изменить это так, чтобы он работал только с 9 утра до 5 вечера с понедельника по пятницу.
Я нашел это: PHP скрипт для выполнения в определенное время
и изменил мой скрипт, заключив основной исполнительный блок в условное выражение If, например:
$file_url = plugin_dir_path( __FILE__ );
$hour = date('G'); // 0 .. 23
if ($hour >= 9 && $hour <= 17 && date('w') != 0 && date('w') !=6 ) {
if(file_exists($file_url.'/csv_cron.txt')){
$get_time = fopen($file_url.'/csv_cron.txt', "r") or die("Unable to open file!");
$timer = fgets($get_time);
$last_run = intval((time()-$timer)/60);
fclose($get_time);
if($last_run > 60){
w3ip_updater();
$myfile = fopen($file_url."/csv_cron.txt", "w") or die("Unable to open file!");
$txt = time();
fwrite($myfile, $txt);
fclose($myfile);
}
}else{
$myfile = fopen($file_url."/csv_cron.txt", "w") or die("Unable to open file!");
$txt = time();
fwrite($myfile, $txt);
fclose($myfile);
}
}
Функция w3ip_updater () также находится в этом файле под указанным выше блоком кода, но я пропустил ее, поскольку она не казалась актуальной для моего вопроса.
Поэтому я добавил условное выражение if как я показал выше, функция продолжает работать даже после 17:00. Сейчас 19:00, а файл уже обновлен в 18:34, почему приведенный выше код все еще выполняется после 17:00, учитывая, что я заключил его в условное выражение if, в котором говорится, что выполняется только в том случае, если время между 9:00 и 17:00?