public function get_json_grid_by_id($id)
 {
     $json_result = array();
     //get egrid data
     $gridInfo = $this->get_data_by_id($id);
     $json_result['filterEffect'] = $gridInfo['filter_effect'];
     $json_result['hoverDirection'] = (bool) $gridInfo['hover_direction'];
     $json_result['hoverDelay'] = $gridInfo['hover_delay'];
     $json_result['hoverInverse'] = (bool) $gridInfo['hover_inverse'];
     $json_result['expandingSpeed'] = $gridInfo['expanding_speed'];
     $json_result['expandingHeight'] = $gridInfo['expanding_height'];
     //get project info
     $projectModel = new ProjectModel();
     $projects = $projectModel->get_projects_by_egrid_id($id);
     //url to image
     $uploadFolder = wp_upload_dir();
     $uploadFolder = $uploadFolder['baseurl'] . '/wp_elastic_grid/';
     $json_result['items'] = array();
     foreach ($projects as $project) {
         $item = array();
         $item['title'] = $project['title'];
         $item['description'] = $project['description'];
         $tags = explode(',', $project['tags']);
         $tags = array_map('trim', $tags);
         $tags = array_map('ucfirst', $tags);
         $item['tags'] = !empty($tags) ? $tags : array();
         $item['button_list'] = !empty($project['button_list']) ? json_decode($project['button_list']) : array();
         $images = $projectModel->get_images_by_project_id($project['id']);
         $thumbnails = array();
         $large = array();
         foreach ($images as $image) {
             $thumbnails[] = $uploadFolder . 'small/' . $image['filename'];
             $large[] = $uploadFolder . 'large/' . $image['filename'];
         }
         $item['thumbnail'] = $thumbnails;
         $item['large'] = $large;
         $json_result['items'][] = $item;
     }
     return json_encode($json_result);
 }