Hola
Tengo un problema con el código en mi complemento. Tengo una función con número rand y la agrego al contador. Quiero ejecutarlo todos los días en Cron. Si lo ejecuto manualmente en el administrador Cron, todo funciona bien, pero si cron ejecuta este código, tengo un problema porque solo trabajo el código rand y lo agrego al contador anterior y lo guardo (update_option), pero codifico con el archivo json abierto y cambio el valor del contador y guardo. este archivo en el servidor no funciona :/
Este es el fragmento cron y mi función.
register_activation_hook(__FILE__, 'my_activation');
register_deactivation_hook(__FILE__, 'my_deactivation'); // Zaczep do funkcji wyłączajacej crone
function my_activation() {
if (! wp_next_scheduled ( 'makitech_dzienny_licznik_hook2' )) {
wp_schedule_event(time(), 'daily', 'makitech_dzienny_licznik_hook2');
}
}
add_action('makitech_dzienny_licznik_hook2', 'do_this_hourly');
function do_this_hourly() {
losuj_dzienny_licznik2();
}
function my_deactivation() {
wp_clear_scheduled_hook('makitech_dzienny_licznik_hook2');
}
function losuj_dzienny_licznik2 () {
$options = get_option( 'boj_myplugin_options' );
$licznik = $options['text_string'];
$min = $options['min_val'];
$max = $options['max_val'];
$nowa_wartosc = $licznik+ rand($min,$max);
$options['text_string'] = $nowa_wartosc;
$path = get_home_path() ;
$strJsonFileContents = file_get_contents($path."licznik.json");
$data = json_decode($strJsonFileContents, true);
$data['licznik'] = "{$nowa_wartosc}";
$newJsonString = json_encode($data);
file_put_contents($path."licznik.json", $newJsonString);
update_option('boj_myplugin_options', $options);
}