'GET', 'callback' => 'get_interface_welcome_screen', 'permission_callback' => '__return_true', )); // ################ POST ################ register_rest_route('lhoist-datas/statistics', '/post', array( 'methods' => 'POST', 'callback' => 'wp_learn_create_database_table', 'permission_callback' => 'lhoist_datas_permission_callback', )); }); function wp_learn_create_database_table(WP_REST_Request $request) { $data = $request->get_json_params(); // Récupération des données envoyées avec la requête POST $user_name = $data['user_name'] ?? null; $user_locale = $data['user_locale'] ?? null; $user_country = $data['user_country'] ?? null; $level_post_id = $data['level_post_id'] ?? null; $level_is_completed = $data['level_is_completed'] ?? null; $level_completion_time = $data['level_completion_time'] ?? null; $level_score = $data['level_score'] ?? null; if (!$data) { return rest_ensure_response(array('success' => false, 'message' => 'Erreur lors de l\'enregistrement des données.')); exit; } global $wpdb; $table_name = 'wp_app_users_statistics'; $post_id = uniqid(); write_log("user_locale : " . $user_locale); $result_check = $wpdb->insert( $table_name, array( 'session_ID' => $post_id, 'user_name' => $user_name, 'user_locale' => $user_locale, 'user_country' => $user_country, 'level_post_id' => $level_post_id, 'level_is_completed' => $level_is_completed, 'level_completion_time' => $level_completion_time, 'level_score' => $level_score, ) ); if ($result_check) { return rest_ensure_response(array('success' => true, 'message' => 'Données enregistrées avec succès.')); } else { return rest_ensure_response(array('success' => false, 'message' => 'Erreur lors de l\'enregistrement des données.')); } } function lhoist_datas_permission_callback() { if (is_user_logged_in() && current_user_can('administrator')) { return true; } return false; } // ################ WELCOME SCREEN ################ function get_interface_welcome_screen($request) { // $language = sanitize_text_field($request['language']); $currentLanguage = $request->get_param('current-page-language') ?? 'fr'; $option_id = icl_object_id('option_id', 'option', false, $currentLanguage); do_action('wpml_switch_language', $currentLanguage); function acf_set_language() { return apply_filters('wpml_current_language', null); } add_filter('acf/settings/current_language', 'acf_set_language'); $args = array( 'post_type' => 'search-and-find', 'posts_per_page' => -1, ); $posts = new WP_Query($args); $applicationTitle = get_field('application_title', 'option'); $applicationSubtitle = get_field('application_subtitle', 'option'); $applicationDescription = get_field('application_description', 'option'); // write_log("current language : " . $currentLanguage); // write_log($posts->posts[0]->post_title); // write_log($applicationDescription); $response_data = array( 'applicationTitle' => $applicationTitle, 'applicationSubtitle' => $applicationSubtitle, 'applicationDescription' => $applicationDescription, ); $response = new WP_REST_Response($response_data); $response->set_status(200); return $response; }