Bonjour à tous,

J'utilise un calendrier jquery qui utilise un fichier json pour afficher des événements. J'ai réussi à charger mes événements et les convertir en json, mais je ne peux pas les écrire dans le fichier json.
Voici ma fonction php:


add_action('wp_enqueue_scripts', 'add_js_scripts');
function add_js_scripts() {
	wp_enqueue_script( 'script', get_template_directory_uri().'/assets/js/test.js', array('jquery'), '1.0', true );
	wp_localize_script('script', 'ajaxurl', admin_url( 'admin-ajax.php' ) );
}

add_action( 'wp_ajax_call_events_ajax', 'call_events_ajax' );
add_action( 'wp_ajax_nopriv_call_events_ajax', 'call_events_ajax' );
function call_events_ajax() {
  $offset = $_POST['offset'];
	$args = array(
		'post_type' => 'events',
		'post_status' => 'publish',
		'posts_per_page' => -1,
		'meta_key' => 'wpsc_start_date',
		'offset' => $offset
	);
	$loop = new WP_Query($args);
	$i = 0;
	$file = plugins_url() . 'test.txt';
	$array = array();
	while ($loop->have_posts()) : $loop->the_post();
	global $events;
	$date = get_post_meta(get_the_ID(), 'wpsc_start_date', true);
	$result = explode("/", $date);
	$day = $result[1];
	$month = $result[0];
	$year = $result[2];
	$array[] = array(
		'day'=> $day,
		'month'=> $month,
		'year'=> $year,
		'title' => get_the_title(),
		'description' => get_the_excerpt($post),
	);
	endwhile;

	wp_reset_query();
	ob_clean();
	wp_json_encode($array);

	echo "<br />";

	foreach($array as $i => $value){
    $string = implode(",", $array[$i]) . '<br/>';
    $final_string = wp_json_encode($array[$i]);
    echo "===============================<br/>";
    echo($final_string).'<br/>'; 
	}

	ini_set('display_errors', true);
	error_reporting(E_ALL);

	$write = fopen("http://localhost/wordpress/wp-content/plugins/test.txt", "w+");
	
	if ($write === false) {
	    echo 'Impossible de créer ou d\écrire dans le fichier $file<br/>';
	} else {
	    fwrite($write, $final_string);
	    fclose($write);
	    echo 'Ecriture dans le fichier $file effectuée';
	}
}


Ici mon script js:

(function($) {
  var offset = 10;
  $('body').on('click','.event', function(){
    jQuery.post(
      ajaxurl,
      {
        'action': 'call_events_ajax',
        'offset': offset
      },
      function(response){
        offset= offset + 10;
        $('.list').append(response);
      }
    );
  });
})(jQuery);


Malgré tout ce que j'ai essayé, je suis dans une impasse. Quelqu'un aurait-il une solution ou une indication qui pourrait m'aider?

Je vous remercie!!