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:
Ici mon script js:
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!!
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!!