DAY_IN_SECONDS, 'display' => __( 'Everyday' ) ); return $schedules; } ); function cron_activate_lwas() { if (!wp_next_scheduled ( 'update_admin_htaccess_lwas' )) { wp_schedule_event(strtotime('4:30:00'), 'everyday', 'update_admin_htaccess_lwas'); } } register_activation_hook(__FILE__, 'cron_activate_lwas'); // ---- unschedule event upon plugin deactivation function cron_deactivate_lwas() { $timestamp = wp_next_scheduled ('update_admin_htaccess_lwas'); wp_unschedule_event ($timestamp, 'update_admin_htaccess_lwas'); } register_deactivation_hook (__FILE__, 'cron_deactivate_lwas'); function UpdateAdminHtaccess_lwas(){ // Get by cURL $url = 'https://ldc-web.ldc.fr/api/ldc-networks?token=CE8S52Qq7stf5k8frF4T'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); $ips = json_decode($result); $filename = ABSPATH . 'wp-admin/.htaccess'; foreach ($ips as $k => $ip) { if ($k === 0) { file_put_contents($filename, "SetEnvIF X-Forwarded-For '$ip' AllowIP\n"); }else{ file_put_contents($filename, "SetEnvIF X-Forwarded-For '$ip' AllowIP\n", FILE_APPEND); } } file_put_contents($filename, "\n", FILE_APPEND); file_put_contents($filename, "Require env AllowIP\n", FILE_APPEND); file_put_contents($filename, "\n", FILE_APPEND); file_put_contents($filename, "\n", FILE_APPEND); file_put_contents($filename, "Require all granted\n", FILE_APPEND); file_put_contents($filename, "\n", FILE_APPEND); if (!wp_next_scheduled ( 'update_admin_htaccess_lwas' )) { wp_schedule_event(time(), 'everyday', 'update_admin_htaccess_lwas'); } } add_action ('update_admin_htaccess_lwas', 'UpdateAdminHtaccess_lwas');